X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fmodels%2FGame.js;h=70f32be244bc4fdebbe13066512aabab4b6ff99a;hb=fd41e587ca01d709551e0cc04bb94fb5e769fe97;hp=16c050cd02cf8677238128072fdda3c6dd92230c;hpb=5b852870cf90a96d1a2a16ce158e57ee5dd52681;p=vchess.git diff --git a/server/models/Game.js b/server/models/Game.js index 16c050cd..70f32be2 100644 --- a/server/models/Game.js +++ b/server/models/Game.js @@ -277,28 +277,21 @@ const GameModel = const day = 86400000; db.serialize(function() { let query = - "SELECT id,score,created " + + "SELECT id,created " + "FROM Games "; db.all(query, (err,games) => { games.forEach(g => { query = - "SELECT max(played) AS lastMaj " + + "SELECT count(*) as nbMoves, max(played) AS lastMaj " + "FROM Moves " + "WHERE gid = " + g.id; - db.get(query, (err2,updated) => { - if (!updated.lastMaj) + db.get(query, (err2,mstats) => { + // Remove games still not really started, + // with no action in the last 3 months: + if ((mstats.nbMoves == 0 && tsNow - g.created > 91*day) || + (mstats.nbMoves == 1 && tsNow - mstats.lastMaj > 91*day)) { - if (tsNow - g.created > 7*day) - return GameModel.remove(g.id); - } - else //at least one move - { - const lastMaj = updated.lastMaj; - if (g.score != "*" && tsNow - lastMaj > 7*day || - g.score == "*" && tsNow - lastMaj > 91*day) - { - GameModel.remove(g.id); - } + return GameModel.remove(g.id); } }); });