* fen: varchar (current position)
* timeControl: string
* score: varchar (result)
+ * created: datetime
*
* Structure table Players:
* gid: ref game id
{
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);
});
},
- // 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)
"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;