X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fmodels%2FGame.js;h=fa4aea02c73e55b8be4eb887a2728773d3e833d0;hb=b7cbbda10f16c2419f9a4d49e219fcface5e5658;hp=3d2184b8ab97586c5623ea1dff6c034c833219af;hpb=d431028c73d41a22636130bd6aff562762eaf2bb;p=vchess.git diff --git a/server/models/Game.js b/server/models/Game.js index 3d2184b8..fa4aea02 100644 --- a/server/models/Game.js +++ b/server/models/Game.js @@ -8,6 +8,7 @@ var db = require("../utils/database"); * fen: varchar (current position) * timeControl: string * score: varchar (result) + * created: datetime * * Structure table Players: * gid: ref game id @@ -28,9 +29,10 @@ const GameModel = { db.serialize(function() { let query = - "INSERT INTO Games (vid, fenStart, fen, score, timeControl, created)" + "INSERT INTO Games" + + " (vid, fenStart, fen, score, timeControl, created, drawOffer)" + " VALUES (" + vid + ",'" + fen + "','" + fen + "','*','" - + timeControl + "'," + Date.now() + ")"; + + timeControl + "'," + Date.now() + "," + false + ")"; db.run(query, function(err) { if (!!err) return cb(err); @@ -132,13 +134,15 @@ const GameModel = }); }, - // obj can have fields move, fen and/or score + // obj can have fields move, fen, drawOffer and/or score update: function(id, obj) { db.parallelize(function() { let query = "UPDATE Games " + "SET "; + if (!!obj.drawOffer) + query += "drawOffer = " + obj.drawOffer + ","; if (!!obj.fen) query += "fen = '" + obj.fen + "',"; if (!!obj.score) @@ -191,7 +195,7 @@ const GameModel = "SELECT max(played) AS lastMaj " + "FROM Moves " + "WHERE gid = " + g.id; - db.get(query, (err2,updated) { + db.get(query, (err2,updated) => { if (!updated && tsNow - g.created > 7*day) return GameModel.remove(g.id); const lastMaj = updated.lastMaj;