aboutsummaryrefslogtreecommitdiffstats
path: root/backend/ts/api/saveGameBoard.ts
blob: 7871ff5f1820e637789098b273a4074b53e7ccd6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { Request, Response } from "express";
import { API_RES, makeQuery, nextTurnEndsAt } from "../../../helpers/helpersBack";

export default async function saveGameBoard(req: Request, res: Response) {
    if (req.session === undefined || req.body.gameBoard === undefined) {
        res.status(400);
        res.send(API_RES.failure);
        return;
    }

    let query = "UPDATE `fia` SET `currentPlayer` = IF(`currentPlayer` + 1 = `playersCount`, 0, `currentPlayer` + 1), "
        + "`gameBoard` = ?, `timeTillTurnEnd` = ? WHERE `id` = ?";
    await makeQuery(query, [req.body.gameBoard, nextTurnEndsAt(), req.session.gid]);

    res.send(API_RES.success);
}