diff --git a/users/authservice/auth-service.js b/users/authservice/auth-service.js index edfdd026..20943611 100644 --- a/users/authservice/auth-service.js +++ b/users/authservice/auth-service.js @@ -40,6 +40,9 @@ app.post('/login', async (req, res) => { const token = jwt.sign({ userId: user._id }, 'your-secret-key', { expiresIn: '1h' }); //Almacenamos el token del usuario para su autentificación sessionStorage.setItem('token', token); + + sessionStorage.setItem('username', username); + // Respond with the token and user information res.json({ token: token, username: username, createdAt: user.createdAt }); } else { diff --git a/users/userservice/game-model.js b/users/userservice/game-model.js index 73311be0..04a2aba2 100644 --- a/users/userservice/game-model.js +++ b/users/userservice/game-model.js @@ -14,6 +14,10 @@ const gameSchema = new mongoose.Schema({ type: Number, default: 0 }, + avgTime: { + type: Number, + default: 0 + } }); const Game = mongoose.model('Game', gameSchema); diff --git a/webapp/src/pages/Clasico/Clasico.js b/webapp/src/pages/Clasico/Clasico.js index ca29f8fc..e6b00ff0 100644 --- a/webapp/src/pages/Clasico/Clasico.js +++ b/webapp/src/pages/Clasico/Clasico.js @@ -105,6 +105,48 @@ const JuegoPreguntas = () => { setTiempoMedio(tiempoTotal/(preguntasCorrectas+preguntasFalladas)); } + //Now we store the game in the user's DB + const username = sessionStorage.getItem('username'); + + const newGame = new Game({ + correctAnswers: preguntasCorrectas, + incorrectAnswers: preguntasFalladas, + points: puntuacion, + avgTime: tiempoMedio, + }); + + //SAVING THE GAME ON THE USERS DATABASE + + // Encontrar el usuario en la base de datos + User.findOne({ username }, (err, user) => { + if (err) { + console.error('Error al encontrar el usuario:', err); + // TODO : hacer la UI para el manejo de errores + } else { + + newGame.save((err, game) => { + + if (err) { + + console.error('Error al guardar el juego:', err); + // TODO : hacer la UI para el manejo de errores + } + else { + + user.games.push(game._id); + + user.save((err) => { + if (err) { + console.error('Error al guardar el usuario actualizado:', err); + // TODO : hacer la UI para el manejo de errores + } + }); + } + }); + + } + }); + setJuegoTerminado(true); } };