projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Drop client/next_src/: almost finished now
[vchess.git]
/
server
/
models
/
Game.js
diff --git
a/server/models/Game.js
b/server/models/Game.js
index
ced5611
..
0949fc9
100644
(file)
--- a/
server/models/Game.js
+++ b/
server/models/Game.js
@@
-20,7
+20,6
@@
var db = require("../utils/database");
* message: text
* played: datetime
* idx: integer
* message: text
* played: datetime
* idx: integer
- * color: character
*/
const GameModel =
*/
const GameModel =
@@
-71,7
+70,7
@@
const GameModel =
if (!!err2)
return cb(err2);
query =
if (!!err2)
return cb(err2);
query =
- "SELECT squares, message, played, idx
, color
" +
+ "SELECT squares, message, played, idx " +
"FROM Moves " +
"WHERE gid = " + id;
db.all(query, (err3,moves) => {
"FROM Moves " +
"WHERE gid = " + id;
db.all(query, (err3,moves) => {
@@
-99,19
+98,22
@@
const GameModel =
"SELECT gid " +
"FROM Players " +
"WHERE uid " + (excluded ? "<>" : "=") + " " + uid;
"SELECT gid " +
"FROM Players " +
"WHERE uid " + (excluded ? "<>" : "=") + " " + uid;
- db.
run
(query, (err,gameIds) => {
+ db.
all
(query, (err,gameIds) => {
if (!!err)
return cb(err);
gameIds = gameIds || []; //might be empty
let gameArray = [];
if (!!err)
return cb(err);
gameIds = gameIds || []; //might be empty
let gameArray = [];
- gameIds.forEach(gidRow => {
- GameModel.getOne(gidRow["gid"], (err2,game) => {
+ for (let i=0; i<gameIds.length; i++)
+ {
+ GameModel.getOne(gameIds[i]["gid"], (err2,game) => {
if (!!err2)
return cb(err2);
gameArray.push(game);
if (!!err2)
return cb(err2);
gameArray.push(game);
+ // Call callback function only when gameArray is complete:
+ if (i == gameIds.length - 1)
+ return cb(null, gameArray);
});
});
- });
- return cb(null, gameArray);
+ }
});
});
},
});
});
},
@@
-132,31
+134,24
@@
const GameModel =
// obj can have fields move, fen and/or score
update: function(id, obj)
{
// obj can have fields move, fen and/or score
update: function(id, obj)
{
-
-
-
-console.log(id);
- console.log(obj);
-
-
db.parallelize(function() {
let query =
"UPDATE Games " +
"SET ";
if (!!obj.fen)
db.parallelize(function() {
let query =
"UPDATE Games " +
"SET ";
if (!!obj.fen)
- query += "fen =
" + obj.fen + "
,";
+ query += "fen =
'" + obj.fen + "'
,";
if (!!obj.score)
if (!!obj.score)
- query += "score =
" + obj.score + "
,";
+ query += "score =
'" + obj.score + "'
,";
query = query.slice(0,-1); //remove last comma
query = query.slice(0,-1); //remove last comma
- query += " WHERE
gameI
d = " + id;
+ query += " WHERE
i
d = " + id;
db.run(query);
if (!!obj.move)
{
db.run(query);
if (!!obj.move)
{
- const m
=
obj.move;
+ const m
=
obj.move;
query =
query =
- "INSERT INTO Moves (gid,
squares,message,played,idx,color
) VALUES " +
+ "INSERT INTO Moves (gid,
squares, message, played, idx
) VALUES " +
"(" + id + ",'" + JSON.stringify(m.squares) + "','" + m.message +
"(" + id + ",'" + JSON.stringify(m.squares) + "','" + m.message +
- "'
" + m.played + "," + m.idx + ",'" + m.color + "'
)";
+ "'
," + m.played + "," + m.idx + "
)";
db.run(query);
}
});
db.run(query);
}
});