diff --git a/cryptide_project/src/Components/GraphContainer.tsx b/cryptide_project/src/Components/GraphContainer.tsx index f3cecdd..51b7812 100644 --- a/cryptide_project/src/Components/GraphContainer.tsx +++ b/cryptide_project/src/Components/GraphContainer.tsx @@ -12,9 +12,6 @@ import { ColorToHexa } from "../model/EnumExtender"; import Bot from "../model/Bot"; import NodePerson from "../model/Graph/NodePerson"; import { useAuth } from "../Contexts/AuthContext"; -// @ts-ignore -import DatabaseService from "../server/services/DatabaseService"; - interface MyGraphComponentProps { onNodeClick: (shouldShowChoiceBar: boolean) => void; @@ -477,6 +474,7 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS }) socket.on("end game", (winnerIndex) =>{ + console.log("JE SUIS PASSE PAR LA"); if (cptEndgame % 2 == 0){ cptEndgame++; const currentPlayer = players[actualPlayerIndex]; @@ -490,21 +488,7 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS try{ if(isLoggedIn){ - if(solo){ - if(user && user.soloStats){ - user.soloStats.nbGames = null ? user.soloStats.nbGames = 1 : user.soloStats.nbGames += 1; - if(cptTour < user.soloStats.bestScore || user.soloStats.bestScore == null){ - user.soloStats.bestScore = cptTour; - } - user.soloStats.avgNbTry = (user.soloStats.avgNbTry * (user.soloStats.nbGames - 1) + cptTour) / user.soloStats.nbGames; - - manager.userService.updateSoloStats(user.pseudo, user.soloStats.nbGames, user.soloStats.bestScore, user.soloStats.avgNbTry); - } - else{ - console.error("User not found"); - } - } - else{ + if(!solo){ if(user && user.onlineStats){ // console.log("nbGames: " + user.onlineStats.nbGames + " nbWins: " + user.onlineStats.nbWins); if(winner.id === currentPlayer.id){ @@ -526,27 +510,29 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS catch(e){ console.log(e); } - - first = true - cptHistory = 0 - askedWrong=false - askedWrongBot=false - - - socket.off("end game") - socket.off("asked all") - socket.off("opacity activated") - socket.off("opacity deactivated") - socket.off("reset graph") - socket.off("node checked") - socket.off("already asked") - socket.off("asked wrong") - socket.off("asked") - socket.off("put correct background") - socket.off("put grey background") - socket.off("put imossible grey") - - navigate("/endgame") + finally{ + console.log("JE SUIS PASSE PAR LA"); + first = true + cptHistory = 0 + askedWrong=false + askedWrongBot=false + + + socket.off("end game") + socket.off("asked all") + socket.off("opacity activated") + socket.off("opacity deactivated") + socket.off("reset graph") + socket.off("node checked") + socket.off("already asked") + socket.off("asked wrong") + socket.off("asked") + socket.off("put correct background") + socket.off("put grey background") + socket.off("put imossible grey") + + navigate("/endgame") + } } }) @@ -707,6 +693,22 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS cptTour ++; setNbCoupData(cptTour) + + try{ + if(user && user.soloStats){ + user.soloStats.nbGames = null ? user.soloStats.nbGames = 1 : user.soloStats.nbGames += 1; + if(cptTour < user.soloStats.bestScore || user.soloStats.bestScore == 0 || user.soloStats.bestScore == null){ + user.soloStats.bestScore = cptTour; + } + user.soloStats.avgNbTry = (user.soloStats.avgNbTry * (user.soloStats.nbGames - 1) + cptTour) / user.soloStats.nbGames; + + manager.userService.updateSoloStats(user.pseudo, user.soloStats.nbGames, user.soloStats.bestScore, user.soloStats.avgNbTry); + } + } + catch(error){ + console.log(error); + } + navigate("/endgame?solo=true&daily=" + isDaily) } diff --git a/cryptide_project/src/model/DataManagers/DbUserService.ts b/cryptide_project/src/model/DataManagers/DbUserService.ts index 3a77c6a..8454966 100644 --- a/cryptide_project/src/model/DataManagers/DbUserService.ts +++ b/cryptide_project/src/model/DataManagers/DbUserService.ts @@ -61,7 +61,7 @@ class DbUserService implements IUserService{ try { const result = await SessionService.updateOnlineStats(pseudo, nbGames, bestScore, ratio); if (result) { - console.log(); + console.log("Stats online updated"); } else { console.log("Stats online not updated"); } diff --git a/cryptide_project/src/server/controllers/SessionController.js b/cryptide_project/src/server/controllers/SessionController.js index f6f8bcb..1c4b531 100644 --- a/cryptide_project/src/server/controllers/SessionController.js +++ b/cryptide_project/src/server/controllers/SessionController.js @@ -30,7 +30,6 @@ class SessionController { static async updateSoloStats(req, res) { const db = new DatabaseService(); - try{ await db.connect(); @@ -48,7 +47,7 @@ class SessionController { return; } - await db.updateSoloStatsByUserId(user.idUser, req.body.nbGames, req.body.bestScore, req.body.avgNbTry); + await db.updateSoloStats(user.idUser, req.body.nbGames, req.body.bestScore, req.body.avgNbTry); const newSoloStats = await db.getSoloStatsByUserId(user.idUser); diff --git a/cryptide_project/src/server/db/socialgraph.db b/cryptide_project/src/server/db/socialgraph.db index 28dd373..91e0e0c 100644 Binary files a/cryptide_project/src/server/db/socialgraph.db and b/cryptide_project/src/server/db/socialgraph.db differ diff --git a/cryptide_project/src/services/SessionService.tsx b/cryptide_project/src/services/SessionService.tsx index 1827623..7c0955e 100644 --- a/cryptide_project/src/services/SessionService.tsx +++ b/cryptide_project/src/services/SessionService.tsx @@ -23,6 +23,7 @@ class SessionService { } static async updateSoloStats(pseudo: string, nbGames: number, bestScore: number, avgNbTry: number){ + console.log("updateSoloStats : ", pseudo, nbGames, bestScore, avgNbTry); try { const response = await fetch('http://localhost:3003/session/updateSoloStats', { method: 'PUT',