X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fmodels%2FGame.js;h=e6c26168749d2726605715d0617a3f7ffc13435a;hb=9f9e9a0588d4b28a1825a56ae53553d89bf0c65f;hp=1d2cd684c9f1cb9824892f304c963234e3c1b6a3;hpb=6c7cbfedc6ecf2b49f6b1e27a174039e92a36365;p=vchess.git diff --git a/server/models/Game.js b/server/models/Game.js index 1d2cd684..e6c26168 100644 --- a/server/models/Game.js +++ b/server/models/Game.js @@ -34,8 +34,8 @@ const UserModel = require("./User"); * added: datetime */ -const GameModel = -{ +const GameModel = { + checkGameInfo: function(g) { return ( g.vid.toString().match(/^[0-9]+$/) && @@ -47,6 +47,16 @@ const GameModel = ); }, + incrementCounter: function(vid, cb) { + db.serialize(function() { + let query = + "UPDATE GameStat " + + "SET total = total + 1 " + + "WHERE vid = " + vid; + db.run(query, cb); + }); + }, + create: function(vid, fen, randomness, cadence, players, cb) { db.serialize(function() { let query = @@ -75,9 +85,10 @@ const GameModel = let query = "SELECT " + "g.id, g.fen, g.fenStart, g.cadence, g.created, " + - "g.white, g.black, g.score, g.scoreMsg, " + - "g.chatReadWhite, g.chatReadBlack, " + - "g.drawOffer, g.rematchOffer, v.name AS vname " + + "g.white, g.black, g.randomness, g.score, g.scoreMsg, " + + "g.chatReadWhite, g.chatReadBlack, g.drawOffer, " + + // TODO: vid and vname are redundant + "g.rematchOffer, v.id as vid, v.name AS vname " + "FROM Games g " + "JOIN Variants v " + " ON g.vid = v.id " + @@ -381,8 +392,10 @@ const GameModel = "(" + id + ",?," + Date.now() + "," + obj.move.idx + ")"; db.run(query, JSON.stringify(obj.move.squares)); finishAndSendQuery(); - } else cb({ errmsg: "Wrong move index" }); - } else { + } + else cb({ errmsg: "Wrong move index" }); + } + else { if (ret.maxIdx < 2) cb({ errmsg: "Time not over" }); else { // We also need the game cadence @@ -399,14 +412,16 @@ const GameModel = } } }); - } else finishAndSendQuery(); + } + else finishAndSendQuery(); // NOTE: chat and delchat are mutually exclusive if (!!obj.chat) { const query = "INSERT INTO Chats (gid, msg, name, added) VALUES (" + id + ",?,'" + obj.chat.name + "'," + Date.now() + ")"; db.run(query, obj.chat.msg); - } else if (obj.delchat) { + } + else if (obj.delchat) { const query = "DELETE " + "FROM Chats " + @@ -498,6 +513,7 @@ const GameModel = }); }); } -} + +}; module.exports = GameModel;