- // Retrieve any live game from its identifiers (locally, running or not)
- // NOTE: need callback because result is obtained asynchronously
- get: function(gameId, callback)
- {
- dbOperation((db) => {
- let objectStore = db.transaction('games').objectStore('games');
- if (!gameId) //retrieve all
- {
- let games = [];
- objectStore.openCursor().onsuccess = function(event) {
- let cursor = event.target.result;
- // if there is still another cursor to go, keep running this code
- if (cursor)
- {
- games.push(cursor.value);
- cursor.continue();
+ // Retrieve all local games (running, completed, imported...)
+ // light: do not retrieve moves or clocks (TODO: this is the only usage)
+ getAll: function(light, callback) {
+ dbOperation((err,db) => {
+ let objectStore = db.transaction("games").objectStore("games");
+ let games = [];
+ objectStore.openCursor().onsuccess = function(event) {
+ let cursor = event.target.result;
+ // if there is still another cursor to go, keep running this code
+ if (cursor) {
+ let g = cursor.value;
+ if (light) {
+ g.movesCount = g.moves.length;
+ delete g.moves;
+ delete g.clocks;
+ delete g.initime;