projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some fixes, working on corr challenges
[vchess.git]
/
server
/
models
/
Challenge.js
diff --git
a/server/models/Challenge.js
b/server/models/Challenge.js
index
3f71320
..
82b252f
100644
(file)
--- a/
server/models/Challenge.js
+++ b/
server/models/Challenge.js
@@
-15,21
+15,20
@@
const ChallengeModel =
{
checkChallenge: function(c)
{
{
checkChallenge: function(c)
{
- if (!c.vid.match(/^[0-9]+$/))
+ if (!c.vid.
toString().
match(/^[0-9]+$/))
return "Wrong variant ID";
return "Wrong variant ID";
-
if (!c.timeControl.match(/^[0-9dhms +]+$/))
return "Wrong characters in time control";
if (!c.timeControl.match(/^[0-9dhms +]+$/))
return "Wrong characters in time control";
-
- if (!c.fen.match(/^[a-zA-Z0-9, /-]+$/))
+ if (!c.fen.match(/^[a-zA-Z0-9, /-]*$/))
return "Bad FEN string";
return "Bad FEN string";
+ return "";
},
// fen cannot be undefined
create: function(c, cb)
{
db.serialize(function() {
},
// fen cannot be undefined
create: function(c, cb)
{
db.serialize(function() {
-
le
t query =
+
cons
t query =
"INSERT INTO Challenges " +
"(added, uid, " + (!!c.to ? "target, " : "") +
"vid, fen, timeControl) VALUES " +
"INSERT INTO Challenges " +
"(added, uid, " + (!!c.to ? "target, " : "") +
"vid, fen, timeControl) VALUES " +
@@
-44,7
+43,7
@@
const ChallengeModel =
getOne: function(id, cb)
{
db.serialize(function() {
getOne: function(id, cb)
{
db.serialize(function() {
-
le
t query =
+
cons
t query =
"SELECT * " +
"FROM Challenges " +
"WHERE id = " + id;
"SELECT * " +
"FROM Challenges " +
"WHERE id = " + id;
@@
-62,26
+61,27
@@
const ChallengeModel =
"SELECT * " +
"FROM Challenges " +
"WHERE target IS NULL OR target = " + uid;
"SELECT * " +
"FROM Challenges " +
"WHERE target IS NULL OR target = " + uid;
- db.
run
(query, (err,challenges) => {
+ db.
all
(query, (err,challenges) => {
return cb(err, challenges);
});
});
},
return cb(err, challenges);
});
});
},
- remove: function(id, uid)
+ remove: function(id, uid
, cb
)
{
db.serialize(function() {
let query =
"SELECT 1 " +
"FROM Challenges " +
"WHERE id = " + id + " AND uid = " + uid;
{
db.serialize(function() {
let query =
"SELECT 1 " +
"FROM Challenges " +
"WHERE id = " + id + " AND uid = " + uid;
- db.
run(query, (err,rows
) => {
- if (
rows.length == 0
)
- return
res.json
({errmsg: "Not your challenge"});
+ db.
get(query, (err,chall
) => {
+ if (
!chall
)
+ return
cb
({errmsg: "Not your challenge"});
query =
"DELETE FROM Challenges " +
"WHERE id = " + id;
db.run(query);
query =
"DELETE FROM Challenges " +
"WHERE id = " + id;
db.run(query);
+ cb(null);
});
});
},
});
});
},