diff options
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/ts/api/getCurrentGameState.ts | 4 | ||||
| -rw-r--r-- | backend/ts/api/login.ts | 1 | ||||
| -rw-r--r-- | backend/ts/api/reset.ts | 7 | ||||
| -rw-r--r-- | backend/ts/api/won.ts | 14 | ||||
| -rw-r--r-- | backend/ts/index.ts | 4 |
5 files changed, 28 insertions, 2 deletions
diff --git a/backend/ts/api/getCurrentGameState.ts b/backend/ts/api/getCurrentGameState.ts index 28522e1..896ccb4 100644 --- a/backend/ts/api/getCurrentGameState.ts +++ b/backend/ts/api/getCurrentGameState.ts @@ -8,8 +8,8 @@ export default async function getCurrentGameState(req: Request, res: Response) { return; } - let dbRes: { gameBoard: GameBoard, currentPlayer: number, started: number, data: Data, timeTillTurnEnd: number } - = (await makeQuery("SELECT `gameBoard`, `currentPlayer`, `started`, `data`, `timeTillTurnEnd`" + let dbRes: { gameBoard: GameBoard, currentPlayer: number, started: number, data: Data, timeTillTurnEnd: number, winner: null | number } + = (await makeQuery("SELECT `gameBoard`, `currentPlayer`, `started`, `data`, `timeTillTurnEnd`, `winner`" + " FROM `fia` WHERE `id` = ?", [req.session.gid]))[0]; diff --git a/backend/ts/api/login.ts b/backend/ts/api/login.ts index a957760..c01ef75 100644 --- a/backend/ts/api/login.ts +++ b/backend/ts/api/login.ts @@ -32,6 +32,7 @@ export default async function apiLogin(req: Request, res: Response) { }]; req.session.color = color; + req.session.index = 0; await makeQuery('INSERT INTO `fia`(`data`) VALUES (?)', [row.data]); req.session.gid = (await makeQuery('SELECT `id` FROM `fia` WHERE `data`= ?', [row.data]))[0].id; diff --git a/backend/ts/api/reset.ts b/backend/ts/api/reset.ts new file mode 100644 index 0000000..c6c4bd5 --- /dev/null +++ b/backend/ts/api/reset.ts @@ -0,0 +1,7 @@ +import { Request, Response } from "express"; +import { API_RES } from "../../../helpers/helpersBack"; + +export default function reset(req: Request, res: Response) { + req.session?.destroy(() => true); + res.send(API_RES.success); +}
\ No newline at end of file diff --git a/backend/ts/api/won.ts b/backend/ts/api/won.ts new file mode 100644 index 0000000..1e8287c --- /dev/null +++ b/backend/ts/api/won.ts @@ -0,0 +1,14 @@ +import { Request, Response } from "express"; +import { API_RES, makeQuery } from "../../../helpers/helpersBack"; + +export default async function won(req: Request, res: Response) { + if (req.session === undefined || req.session.gid === undefined || req.session.index === undefined) { + console.log(JSON.stringify(req)); + res.status(400); + res.send(API_RES.failure); + return; + } + await makeQuery("UPDATE `fia` SET `winner` = ? WHERE `id` = ?", [req.session.index, req.session.gid]); + + res.send(API_RES.success); +}
\ No newline at end of file diff --git a/backend/ts/index.ts b/backend/ts/index.ts index dcaac7e..90c1683 100644 --- a/backend/ts/index.ts +++ b/backend/ts/index.ts @@ -7,6 +7,8 @@ import startPoint from "./api/startPoint"; import readyStateToggle from "./api/readyStateToggle"; import getCurrentGameState from "./api/getCurrentGameState"; import saveGameBoard from "./api/saveGameBoard"; +import won from "./api/won"; +import reset from "./api/reset"; export const global = { stop: false }; @@ -36,6 +38,8 @@ app.post("/login", login); app.post("/readyStateToggle", readyStateToggle); app.post("/getCurrentGameState", getCurrentGameState); app.post("/saveGameBoard", saveGameBoard); +app.post("/won", won); +app.post("/reset", reset); app.listen(PORT, () => { console.log(`[server]: Server is running at https://localhost:${PORT}`); |
