X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=server%2Fmodels%2FChallenge.js;h=243da709d697f3dac38e7b4f06bfbb8040b95bfd;hp=b7c20b887e2decadb045c115981f94abc72402ff;hb=7ba4a5bc5b64e19a1e7f26aa232d5c50770d07ad;hpb=de520e01c680ca3d74364f73cd29c026b86a883d diff --git a/server/models/Challenge.js b/server/models/Challenge.js index b7c20b88..243da709 100644 --- a/server/models/Challenge.js +++ b/server/models/Challenge.js @@ -8,8 +8,9 @@ const UserModel = require("./User"); * uid: user id (int) * target: recipient id (optional) * vid: variant id (int) + * randomness: integer in 0..2 * fen: varchar (optional) - * cadence: string (3m+2s, 7d+1d ...) + * cadence: string (3m+2s, 7d ...) */ const ChallengeModel = @@ -19,6 +20,7 @@ const ChallengeModel = return ( c.vid.toString().match(/^[0-9]+$/) && c.cadence.match(/^[0-9dhms +]+$/) && + c.randomness.toString().match(/^[0-2]$/) && c.fen.match(/^[a-zA-Z0-9, /-]*$/) && (!c.to || UserModel.checkNameEmail({name: c.to})) ); @@ -29,10 +31,11 @@ const ChallengeModel = db.serialize(function() { const query = "INSERT INTO Challenges " + - "(added, uid, " + (!!c.to ? "target, " : "") + "vid, fen, cadence) " + - "VALUES " + - "(" + Date.now() + "," + c.uid + "," + (!!c.to ? c.to + "," : "") + - c.vid + ",'" + c.fen + "','" + c.cadence + "')"; + "(added, uid, " + (!!c.to ? "target, " : "") + + "vid, randomness, fen, cadence) " + + "VALUES " + + "(" + Date.now() + "," + c.uid + "," + (!!c.to ? c.to + "," : "") + + c.vid + "," + c.randomness + ",'" + c.fen + "','" + c.cadence + "')"; db.run(query, function(err) { cb(err, {cid: this.lastID}); });