db.all(query, (err,gameIds) => {
if (!!err)
return cb(err);
- gameIds = gameIds || []; //might be empty
+ if (gameIds.length == 0)
+ return cb(null, []);
let gameArray = [];
for (let i=0; i<gameIds.length; i++)
{
const day = 86400000;
db.serialize(function() {
let query =
- "SELECT id,score " +
+ "SELECT id,score,created " +
"FROM Games ";
db.all(query, (err,games) => {
games.forEach(g => {
"FROM Moves " +
"WHERE gid = " + g.id;
db.get(query, (err2,updated) => {
- if (!updated && tsNow - g.created > 7*day)
- return GameModel.remove(g.id);
- const lastMaj = updated.lastMaj;
- if (g.score != "*" && tsNow - lastMaj > 7*day ||
- g.score == "*" && tsNow - lastMaj > 91*day)
+ if (!updated.lastMaj)
{
- GameModel.remove(g.id);
+ 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);
+ }
}
});
});