X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Froutes%2Fgames.js;h=a444acdf5127854e9d323a6fa4c46baff1278528;hb=afd3240d89a2f6191fe9426960dc0c1667b40c77;hp=73a8bf70b2fd3bcf507d0730350d6aa7896da058;hpb=3d55deea9a2011c38d8d0067bd57fc889958bec2;p=vchess.git diff --git a/server/routes/games.js b/server/routes/games.js index 73a8bf70..a444acdf 100644 --- a/server/routes/games.js +++ b/server/routes/games.js @@ -34,7 +34,7 @@ router.get("/games", access.ajax, (req,res) => { { GameModel.getOne(gameId, (err,game) => { access.checkRequest(res, err, game, "Game not found", () => { - res.json({game: game}); + res.json({game: game}); }); }); } @@ -44,7 +44,7 @@ router.get("/games", access.ajax, (req,res) => { const userId = req.query["uid"]; const excluded = !!req.query["excluded"]; GameModel.getByUser(userId, excluded, (err,games) => { - if (!!err) + if (!!err) return res.json({errmsg: err.errmsg || err.toString()}); res.json({games: games}); }); @@ -54,13 +54,19 @@ router.get("/games", access.ajax, (req,res) => { // New move + fen update + score, potentially // TODO: if newmove fail, takeback in GUI router.put("/games", access.logged, access.ajax, (req,res) => { - const gid = req.body.gid; + const gid = req.body.gid; const obj = req.body.newObj; GameModel.update(gid, obj, (err) => { if (!!err) return res.json(err); - if (!!req.body.offlineOpp) //TODO: refresh this... - UserModel.tryNotify(req.body.offlineOpp, "New move in game " + gid); + // Notify opponent if he enabled notifications: + GameModel.getPlayers(gid, (err2,players) => { + if (!!err2) + return res.json(err); + const oppid = (players[0].id == req.userId ? players[1].id : players[0].id); + UserModel.tryNotify(oppid, + "New move in game: " + params.siteURL + "/game/" + gid); + }); res.json({}); }); });