const express = require('express'); const jwt = require('jsonwebtoken'); const { getConnection, addHelper, getGame, getHelpers } = require("../../../libs/mysql.js") const router = express.Router(); router.post('/', async (req, res) => { const {token, gameid} = req.body; if (!token) { return res.status(400).send({error: "invalid token"}); } if (!gameid) { return res.status(400).send({error: "invalid gameid"}); } try { const user = jwt.verify(token, process.env.JWTSecret); if (user.expiration < Date.now()) { return res.status(400).send({error: "token expired"}); } const connection = await getConnection(); const game = await getGame(connection, gameid); if (!game[0]) { return res.status(400).send({error: "this game doesn't exist"}); } const helpers = await getHelpers(connection, gameid); if (JSON.stringify(helpers).includes(user.user.id)) { return res.status(400).send({error: "you are already an helper for this game"}); } await addHelper(connection, gameid, user.user.id); connection.end(); } catch (error) { console.log(error); return res.status(400).send({error: "invalid token"}); } res.status(200).send({message: "success"}); }); module.exports = router;