|
|
@ -21,54 +21,71 @@ class SessionController {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Récupérer les stats mastermind de l'utilisateur
|
|
|
|
// Récupérer les stats mastermind de l'utilisateur
|
|
|
|
const nbGamesMM = await db.getNbGamesMastermindByUserId(req.session.user.idUser) || 0;
|
|
|
|
let nbGamesMM = await db.getNbGamesMastermindByUserId(req.session.user.idUser);
|
|
|
|
const bestScoreMM = await db.getBestScoreMastermindByUserId(req.session.user.idUser) || 0;
|
|
|
|
nbGamesMM = nbGamesMM.nbGames || 0;
|
|
|
|
const avgNbTryMM = await db.getAvgNbTryMastermindByUserId(req.session.user.idUser) || 0;
|
|
|
|
let bestScoreMM = await db.getBestScoreMastermindByUserId(req.session.user.idUser);
|
|
|
|
req.session.user.mastermindStats = {nbGames: nbGamesMM.nbGames,
|
|
|
|
bestScoreMM = bestScoreMM.bestScore || 0;
|
|
|
|
bestScore: bestScoreMM.bestScore,
|
|
|
|
let avgNbTryMM = await db.getAvgNbTryMastermindByUserId(req.session.user.idUser);
|
|
|
|
avgNbTry: avgNbTryMM.avgNbTry};
|
|
|
|
avgNbTryMM = avgNbTryMM.avgNbTry || 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
req.session.user.mastermindStats = {nbGames: nbGamesMM,
|
|
|
|
|
|
|
|
bestScore: bestScoreMM,
|
|
|
|
|
|
|
|
avgNbTry: avgNbTryMM};
|
|
|
|
|
|
|
|
|
|
|
|
// Récupérer les stats enigme facile
|
|
|
|
// Récupérer les stats enigme facile
|
|
|
|
const nbGamesEF = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0;
|
|
|
|
let nbGamesEF = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE);
|
|
|
|
const nbWinsEF = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0;
|
|
|
|
nbGamesEF = nbGamesEF.nbGames || 0;
|
|
|
|
const ratioEF = (nbWinsEF.nbWins / nbGamesEF.nbGames) * 100 || 0;
|
|
|
|
let nbWinsEF = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE);
|
|
|
|
const bestTimeEF = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0;
|
|
|
|
nbWinsEF = nbWinsEF.nbWins || 0;
|
|
|
|
const avgTimeEF = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0;
|
|
|
|
let ratioEF = (nbWinsEF.nbWins / nbGamesEF.nbGames) * 100 || 0;
|
|
|
|
|
|
|
|
let bestTimeEF = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE);
|
|
|
|
req.session.user.easyEnigmaStats = {nbGames: nbGamesEF.nbGames,
|
|
|
|
bestTimeEF = bestTimeEF.bestTime || 0;
|
|
|
|
nbWins: nbWinsEF.nbWins,
|
|
|
|
let avgTimeEF = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE);
|
|
|
|
|
|
|
|
avgTimeEF = avgTimeEF.avgTime || 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
req.session.user.easyEnigmaStats = {nbGames: nbGamesEF,
|
|
|
|
|
|
|
|
nbWins: nbWinsEF,
|
|
|
|
ratio: ratioEF,
|
|
|
|
ratio: ratioEF,
|
|
|
|
bestTime: bestTimeEF.bestTime,
|
|
|
|
bestTime: bestTimeEF,
|
|
|
|
avgTime: avgTimeEF.avgTime};
|
|
|
|
avgTime: avgTimeEF};
|
|
|
|
|
|
|
|
|
|
|
|
// Récupérer les stats enigme moyenne
|
|
|
|
// Récupérer les stats enigme moyenne
|
|
|
|
const nbGamesEM = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0;
|
|
|
|
let nbGamesEM = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN);
|
|
|
|
const bestScoreEM = await db.getBestScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0;
|
|
|
|
nbGamesEM = nbGamesEM.nbGames || 0;
|
|
|
|
const avgNbTryEM = await db.getAvgScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0;
|
|
|
|
let bestScoreEM = await db.getBestScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN);
|
|
|
|
|
|
|
|
bestScoreEM = bestScoreEM.bestScore || 0;
|
|
|
|
|
|
|
|
let avgNbTryEM = await db.getAvgScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN);
|
|
|
|
|
|
|
|
avgNbTryEM = avgNbTryEM.avgScore || 0;
|
|
|
|
|
|
|
|
|
|
|
|
req.session.user.mediumEnigmaStats = {nbGames: nbGamesEM.nbGames,
|
|
|
|
req.session.user.mediumEnigmaStats = {nbGames: nbGamesEM,
|
|
|
|
bestScore: bestScoreEM.bestScore,
|
|
|
|
bestScore: bestScoreEM,
|
|
|
|
avgNbTry: avgNbTryEM.avgScore};
|
|
|
|
avgNbTry: avgNbTryEM};
|
|
|
|
|
|
|
|
|
|
|
|
// Récupérer les stats enigme difficile
|
|
|
|
// Récupérer les stats enigme difficile
|
|
|
|
const nbGamesED = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0;
|
|
|
|
let nbGamesED = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE);
|
|
|
|
const nbWinsED = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0;
|
|
|
|
nbGamesED = nbGamesED.nbGames || 0;
|
|
|
|
const ratioED = (nbWinsED.nbWins / nbGamesED.nbGames) * 100 || 0;
|
|
|
|
let nbWinsED = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE);
|
|
|
|
const bestTimeED = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0;
|
|
|
|
nbWinsED = nbWinsED.nbWins || 0;
|
|
|
|
const avgTimeED = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0;
|
|
|
|
let ratioED = (nbWinsED.nbWins / nbGamesED.nbGames) * 100 || 0;
|
|
|
|
|
|
|
|
let bestTimeED = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE);
|
|
|
|
req.session.user.hardEnigmaStats = {nbGames: nbGamesED.nbGames,
|
|
|
|
bestTimeED = bestTimeED.bestTime || 0;
|
|
|
|
nbWins: nbWinsED.nbWins,
|
|
|
|
let avgTimeED = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE);
|
|
|
|
|
|
|
|
avgTimeED = avgTimeED.avgTime || 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
req.session.user.hardEnigmaStats = {nbGames: nbGamesED,
|
|
|
|
|
|
|
|
nbWins: nbWinsED,
|
|
|
|
ratio: ratioED,
|
|
|
|
ratio: ratioED,
|
|
|
|
bestTime: bestTimeED.bestTime,
|
|
|
|
bestTime: bestTimeED,
|
|
|
|
avgTime: avgTimeED.avgTime};
|
|
|
|
avgTime: avgTimeED};
|
|
|
|
|
|
|
|
|
|
|
|
// Récupérer les stats en ligne de l'utilisateur
|
|
|
|
// Récupérer les stats en ligne de l'utilisateur
|
|
|
|
const nbGamesOL = await db.getNbGamesOnlineByUserId(req.session.user.idUser) || 0;
|
|
|
|
let nbGamesOL = await db.getNbGamesOnlineByUserId(req.session.user.idUser);
|
|
|
|
const nbWinsOL = await db.getNbWinsOnlineByUserId(req.session.user.idUser) || 0;
|
|
|
|
nbGamesOL = nbGamesOL.nbGames || 0;
|
|
|
|
const ratioOL = (nbWinsOL.nbWins / nbGamesOL.nbGames) * 100 || 0;
|
|
|
|
let nbWinsOL = await db.getNbWinsOnlineByUserId(req.session.user.idUser);
|
|
|
|
req.session.user.onlineStats = {nbGames: nbGamesOL.nbGames,
|
|
|
|
nbWinsOL = nbWinsOL.nbWins || 0;
|
|
|
|
nbWins: nbWinsOL.nbWins,
|
|
|
|
let ratioOL = (nbWinsOL.nbWins / nbGamesOL.nbGames) * 100 || 0;
|
|
|
|
|
|
|
|
req.session.user.onlineStats = {nbGames: nbGamesOL,
|
|
|
|
|
|
|
|
nbWins: nbWinsOL,
|
|
|
|
ratio: ratioOL};
|
|
|
|
ratio: ratioOL};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|