projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add Pacifist1 & 2
[vchess.git]
/
server
/
models
/
Problem.js
diff --git
a/server/models/Problem.js
b/server/models/Problem.js
index
bcbefc5
..
9978d76
100644
(file)
--- a/
server/models/Problem.js
+++ b/
server/models/Problem.js
@@
-33,12
+33,16
@@
const ProblemModel = {
});
},
});
},
- getNext: function(cursor, cb) {
+ getNext: function(uid, onlyMine, cursor, cb) {
+ let condition = "";
+ if (onlyMine) condition = "AND uid = " + uid + " ";
+ else if (!!uid) condition = "AND uid <> " + uid + " ";
db.serialize(function() {
const query =
"SELECT * " +
"FROM Problems " +
"WHERE added < " + cursor + " " +
db.serialize(function() {
const query =
"SELECT * " +
"FROM Problems " +
"WHERE added < " + cursor + " " +
+ condition +
"ORDER BY added DESC " +
"LIMIT 20"; //TODO: 20 is arbitrary
db.all(query, (err, problems) => {
"ORDER BY added DESC " +
"LIMIT 20"; //TODO: 20 is arbitrary
db.all(query, (err, problems) => {
@@
-59,8
+63,10
@@
const ProblemModel = {
});
},
});
},
- safeUpdate: function(prob, uid) {
+ safeUpdate: function(prob, uid
, devs
) {
db.serialize(function() {
db.serialize(function() {
+ let whereClause = "WHERE id = " + prob.id;
+ if (!devs.includes(uid)) whereClause += " AND uid = " + uid;
const query =
"UPDATE Problems " +
"SET " +
const query =
"UPDATE Problems " +
"SET " +
@@
-68,16
+74,18
@@
const ProblemModel = {
"fen = '" + prob.fen + "'," +
"instruction = ?," +
"solution = ? " +
"fen = '" + prob.fen + "'," +
"instruction = ?," +
"solution = ? " +
-
"WHERE id = " + prob.id + " AND uid = " + uid
;
+
whereClause
;
db.run(query, [prob.instruction, prob.solution]);
});
},
db.run(query, [prob.instruction, prob.solution]);
});
},
- safeRemove: function(id, uid) {
+ safeRemove: function(id, uid
, devs
) {
db.serialize(function() {
db.serialize(function() {
+ let whereClause = "WHERE id = " + prob.id;
+ if (!devs.includes(uid)) whereClause += " AND uid = " + uid;
const query =
"DELETE FROM Problems " +
const query =
"DELETE FROM Problems " +
-
"WHERE id = " + id + " AND uid = " + uid
;
+
whereClause
;
db.run(query);
});
},
db.run(query);
});
},