X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FgameStorage.js;h=2ccb494f9b9e3a96947afab7e1d892915d6f3701;hb=22efa391c3f49ae7b91cd86ccf11da3af74523fe;hp=031f62f563688eee48b57c6dc6d14109d4b53860;hpb=fd7aea36b8da702df87be3ed055f9a1f59c9f4da;p=vchess.git diff --git a/client/src/utils/gameStorage.js b/client/src/utils/gameStorage.js index 031f62f5..2ccb494f 100644 --- a/client/src/utils/gameStorage.js +++ b/client/src/utils/gameStorage.js @@ -47,6 +47,7 @@ function dbOperation(callback) export const GameStorage = { // Optional callback to get error status + // TODO: this func called from Hall seems to not work now... add: function(game, callback) { dbOperation((db) => { @@ -67,21 +68,18 @@ export const GameStorage = // TODO: also option to takeback a move ? // NOTE: for live games only (all on server for corr) - update: function(gameId, obj) //colorIdx, nextIdx, move, fen, addTime, score + update: function(gameId, obj) //move, fen, clocks, score, initime, ... { dbOperation((db) => { let objectStore = db.transaction("games", "readwrite").objectStore("games"); objectStore.get(gameId).onsuccess = function(event) { const game = event.target.result; - if (!!obj.move) - { - game.moves.push(obj.move); - game.fen = obj.fen; - game.clocks[obj.colorIdx] += obj.addTime; - game.initime[obj.nextIdx] = Date.now(); - } - if (!!obj.score) - game.score = obj.score; + Object.keys(obj).forEach(k => { + if (k == "move") + game.moves.push(obj[k]); + else + game[k] = obj[k]; + }); objectStore.put(game); //save updated data } });