From e71c58c78a7d1153ca948fe7270c880ba0515c8a Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 27 Dec 2020 15:33:15 -0700 Subject: [PATCH] Implement UpdateAnswer --- server/src/events/UpdateAnswer.ts | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/server/src/events/UpdateAnswer.ts b/server/src/events/UpdateAnswer.ts index 40308db..65c8854 100644 --- a/server/src/events/UpdateAnswer.ts +++ b/server/src/events/UpdateAnswer.ts @@ -1,13 +1,31 @@ +import { games, log } from '../main'; import { Server, Socket } from 'socket.io'; export default (io: Server, socket: Socket, data: UpdateAnswer) => { try { - socket.emit(`Error`, { - status: 501, - message: `UpdateAnswer: Not Implemented Yet`, - source: `UpdateAnswer`, + + // Assert game exists + if (!games[data.game_code]) { + log.debug(`Can't delete game that doesn't exist: ${data.game_code}`); + socket.emit(`Error`, { + status: 404, + message: `Game with code ${data.game_code} could not be found`, + source: `UpdateAnswer` + }); + return; + }; + let game = games[data.game_code]; + let team = game.teams[data.team - 1]; + + // Update the answers for the other players to keep them in sync + team.modifyAnswer(data.answer, data.value); + socket.to(game.id).emit(`UpdateAnswer`, { + answer: data.answer, + value: data.value, + team: data.team }); - } catch (err) { + } + catch (err) { socket.emit(`Error`, { status: 500, message: `${err.name}: ${err.message}`,