aboutsummaryrefslogtreecommitdiffstats
path: root/backend
diff options
context:
space:
mode:
authorMaks Jopek <maksymilian.jopek@prym-soft.pl>2021-05-01 00:20:33 +0200
committerMaks Jopek <maksymilian.jopek@prym-soft.pl>2021-05-01 00:20:33 +0200
commitc813dfadd4b673080695ef3ade37a44e37036c07 (patch)
tree4d6348ecad8c65780323ccb823063f335c5c9e7f /backend
parent040d5372c1033bb7c0580ad2c9b6b32f974a20c8 (diff)
downloadfia-c813dfadd4b673080695ef3ade37a44e37036c07.tar.gz
fia-c813dfadd4b673080695ef3ade37a44e37036c07.tar.zst
fia-c813dfadd4b673080695ef3ade37a44e37036c07.zip
Version 1.1
Diffstat (limited to 'backend')
-rw-r--r--backend/ts/api/getCurrentGameState.ts4
-rw-r--r--backend/ts/api/login.ts1
-rw-r--r--backend/ts/api/reset.ts7
-rw-r--r--backend/ts/api/won.ts14
-rw-r--r--backend/ts/index.ts4
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}`);