From 188b4a8f2e3edfa86c4e9169ddac9a14ebc12689 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 5 Mar 2020 00:29:16 +0100 Subject: [PATCH] Continue debug attempt for move update on server --- client/src/variants/Allmate1.js | 2 +- client/src/variants/Allmate2.js | 2 +- client/src/views/Game.vue | 4 ++++ client/src/views/Hall.vue | 2 +- server/models/Game.js | 21 ++++++--------------- server/models/User.js | 4 ++-- 6 files changed, 15 insertions(+), 20 deletions(-) diff --git a/client/src/variants/Allmate1.js b/client/src/variants/Allmate1.js index 5511dd54..1149ea91 100644 --- a/client/src/variants/Allmate1.js +++ b/client/src/variants/Allmate1.js @@ -291,7 +291,7 @@ export const VariantRules = class Allmate1Rules extends ChessRules { let notation = super.getNotation(move); // Add a capture mark (not describing what is captured...): if (move.vanish.length > 1 && move.appear.length == 1) { - if (notation.match(/^[a-h]x/)) + if (!!(notation.match(/^[a-h]x/))) // Pawn capture: remove initial "b" in bxc4 for example notation = notation.substr(1); notation = notation.replace("x","") + "X"; diff --git a/client/src/variants/Allmate2.js b/client/src/variants/Allmate2.js index 0e515b2d..fe5e98ce 100644 --- a/client/src/variants/Allmate2.js +++ b/client/src/variants/Allmate2.js @@ -295,7 +295,7 @@ export const VariantRules = class Allmate2Rules extends ChessRules { let notation = super.getNotation(move); // Add a capture mark (not describing what is captured...): if (move.vanish.length > 1 && move.appear.length == 1) { - if (notation.match(/^[a-h]x/)) + if (!!(notation.match(/^[a-h]x/))) // Pawn capture: remove initial "b" in bxc4 for example notation = notation.substr(1); notation = notation.replace("x","") + "X"; diff --git a/client/src/views/Game.vue b/client/src/views/Game.vue index 8f49c5d7..69878a09 100644 --- a/client/src/views/Game.vue +++ b/client/src/views/Game.vue @@ -727,6 +727,10 @@ export default { break; } if (this.game.type == "corr") { + + +console.log("new fen : " + this.game.fen); + GameStorage.update(this.gameRef.id, { fen: this.game.fen, move: { diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 5cbe0c86..2b0a1483 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -706,7 +706,7 @@ export default { } }, newChallenge: async function() { - if (this.newchallenge.cadence.match(/^[0-9]+$/)) + if (!!(this.newchallenge.cadence.match(/^[0-9]+$/))) this.newchallenge.cadence += "+0"; //assume minutes, no increment const ctype = this.classifyObject(this.newchallenge); // TODO: cadence still unchecked so ctype could be wrong... diff --git a/server/models/Game.js b/server/models/Game.js index e970bfbe..39459176 100644 --- a/server/models/Game.js +++ b/server/models/Game.js @@ -197,17 +197,17 @@ const GameModel = return ( ( !obj.move || ( - obj.move.played.toString().match(/^[0-9]+$/) && - obj.move.idx.toString().match(/^[0-9]+$/) + !!(obj.move.played.toString().match(/^[0-9]+$/)) && + !!(obj.move.idx.toString().match(/^[0-9]+$/)) ) ) && ( - !obj.drawOffer || obj.drawOffer.match(/^[wbtn]$/) + !obj.drawOffer || !!(obj.drawOffer.match(/^[wbtn]$/)) ) && ( - !obj.fen || obj.fen.match(/^[a-zA-Z0-9, /-]*$/) + !obj.fen || !!(obj.fen.match(/^[a-zA-Z0-9, /-]*$/)) ) && ( - !obj.score || obj.score.match(/^[012?*\/-]+$/) + !obj.score || !!(obj.score.match(/^[012?*\/-]+$/)) ) && ( - !obj.scoreMsg || obj.scoreMsg.match(/^[a-zA-Z ]+$/) + !obj.scoreMsg || !!(obj.scoreMsg.match(/^[a-zA-Z ]+$/)) ) && ( !obj.chat || UserModel.checkNameEmail({name: obj.chat.name}) ) @@ -242,11 +242,6 @@ const GameModel = query += modifs + " WHERE id = " + id; db.run(query); } - - -return cb({errmsg: JSON.stringify(obj.move) + " " + (!!obj.move)}); - - // NOTE: move, chat and delchat are mutually exclusive if (!!obj.move) { @@ -257,10 +252,6 @@ return cb({errmsg: JSON.stringify(obj.move) + " " + (!!obj.move)}); "WHERE gid = " + id; db.get(query, (err,ret) => { const m = obj.move; - -//return cb({errmsg: ret.maxIdx + " " + m.idx + " " + (!ret.maxIdx || ret.maxIdx + 1 == m.idx) + " " + query}); - - if (!ret.maxIdx || ret.maxIdx + 1 == m.idx) { query = "INSERT INTO Moves (gid, squares, played, idx) VALUES " + diff --git a/server/models/User.js b/server/models/User.js index 3b888502..2984af49 100644 --- a/server/models/User.js +++ b/server/models/User.js @@ -20,8 +20,8 @@ const UserModel = checkNameEmail: function(o) { return ( - (!o.name || o.name.match(/^[\w-]+$/)) && - (!o.email || o.email.match(/^[\w.+-]+@[\w.+-]+$/)) + (!o.name || !!(o.name.match(/^[\w-]+$/))) && + (!o.email || !!(o.email.match(/^[\w.+-]+@[\w.+-]+$/))) ); }, -- 2.44.0