From efe274021dbf94fedca6b050bae5d1331dc3e57d Mon Sep 17 00:00:00 2001 From: "narindra.rajohnso" <narindra-hasimanjaka-david.rajohnson@etu.hesge.ch> Date: Mon, 19 Jun 2023 01:56:20 +0200 Subject: [PATCH] correct number of questions --- API/src/database/database.sqlite | Bin 20480 -> 20480 bytes API/src/express/Server.ts | 2 +- API/src/routes/router-gamer.ts | 7 ------- API/src/socket.io/ServerIO.ts | 16 ++++++++++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/API/src/database/database.sqlite b/API/src/database/database.sqlite index a74c5558ea90675f970a7f52c624bbbf3659a5af..0a475753574c807c184878342f72a292d21d2c57 100644 GIT binary patch delta 284 zcmZozz}T>Wae_2s-$WT_#=eaSOZeq@In@~XmH68E`*`2-hVV%9?B?#_X5=d8V&k02 zskX84IY&Luc7_R(siMNlqMn|`DT!&O7A9Wl?qTk^M#cVth5Ve7+M>eB;xIX9e?K=* z7gxU!Pe&g`Ma7cT;*#Q&w8Y|+G>77pG`-}E#FX63JR<`mV_gF?T|)~6BV#L511l2) zJ#!;-1#JTZD+2=*SwSmP6Dw0oJyRnisPyKUlG$u>y!;Ui{JH#>`QP#H;J?Ek!9Sb7 ziGLk`1^+SrWd5GbiV9}@++56(j1VXDZ%)<^6<{=;ywl!@&sf3G!pgwV%E&^`z|?T_ IPkVL&0KDEyJOBUy delta 109 zcmZozz}T>Wae_2s_e2?I#_o*?OZa7YIA=2QEAh4S_wl~v4dIdI+0EU<&B#^G#l|^v zV`C-f=9!Y&Y<xWY$qf9t{FnLP@$cZjvspyJg@0lI@8)FvPyt4R$vf?hCa<$&<FK?c Pwa_y+HrxEuo?QR{;v*m@ diff --git a/API/src/express/Server.ts b/API/src/express/Server.ts index 329c81d..28f25a3 100644 --- a/API/src/express/Server.ts +++ b/API/src/express/Server.ts @@ -64,7 +64,7 @@ class Server { this.io = new ServerIO(this.server); this.io.use((socket: SocketIoInfo, next) => { const token = socket.handshake.auth.token; - + console.log("token=", token) try { socket.user = jwt.verify(token, process.env.SECRET_KEY); next(); diff --git a/API/src/routes/router-gamer.ts b/API/src/routes/router-gamer.ts index 3fee657..fbe8984 100644 --- a/API/src/routes/router-gamer.ts +++ b/API/src/routes/router-gamer.ts @@ -10,11 +10,4 @@ router.get('/:username', checkExistingUser, verifyToken, (req: TokenRequest, res res.status(StatusCodes.OK).json({access_user: req.user}); }); - - - - - - - export default router; diff --git a/API/src/socket.io/ServerIO.ts b/API/src/socket.io/ServerIO.ts index fc98754..94347af 100644 --- a/API/src/socket.io/ServerIO.ts +++ b/API/src/socket.io/ServerIO.ts @@ -30,6 +30,11 @@ class ServerIO extends IO.Server { this.on('connection', (socket: SocketIoInfo) => { + if (!socket.user) { + // Jeton invalide, ne pas poursuivre la connexion + console.log('Jeton invalide'); + return; + } logger.info(`Nouveau socket vers ${socket.client.conn.remoteAddress}`); console.log(`Socket info: ${socket.user.username} // ${socket.user.firstname} // ${socket.user.lastname}`); this.initializeGame(socket); @@ -104,6 +109,8 @@ class ServerIO extends IO.Server { }); socket.on("validate-question", async (responseSelected) => { + this.nbQuestion+=1; + console.log("nb question: ", this.nbQuestion); console.log("current question:", this.currentQuestion); if (responseSelected === this.currentQuestion.correctResponse) { // le joueur gagne 1 point @@ -116,7 +123,7 @@ class ServerIO extends IO.Server { } console.log("playerScore:", this.playersScore); let randomQuestion = await this.getRandomQuestion(); - if(this.nbQuestion<=10){ + if(this.nbQuestion<10){ this.emit("question", randomQuestion); }else{ const playersScoreFormatted = Object.keys(this.playersScore).reduce((formatted:any, key) => { @@ -125,7 +132,6 @@ class ServerIO extends IO.Server { }, {}); this.emit("game-finished", playersScoreFormatted); } - this.nbQuestion++; }); socket.on("restart-game", ()=>{ @@ -145,7 +151,7 @@ class ServerIO extends IO.Server { // Vérifiez si le joueur est dans le dictionnaire if (this.players[playerKey]) { - // Le joueur est connecté, retirez-le du dictionnaire + delete socket.user; delete this.players[playerKey]; delete this.playersReady[playerKey]; delete this.playersScore[playerKey]; @@ -189,7 +195,9 @@ class ServerIO extends IO.Server { this.currentQuestion = this.questions[randomIndex].dataValues; this.questions.splice(randomIndex, 1); // pour ne pas envoyer au frontend la reponse attendue - return {...this.currentQuestion}; + let randomQuestion={...this.currentQuestion}; + randomQuestion.correctResponse=-1; + return randomQuestion; } private testNumberOfReady() { -- GitLab