- remove: function(id, uid)
- {
- db.serialize(function() {
- const query =
- "DELETE FROM Problems " +
- "WHERE id = " + id + " AND uid = " + uid;
- db.run(query);
- });
- },
+ update: function(prob, cb)
+ {
+ db.serialize(function() {
+ let query =
+ "UPDATE Problems " +
+ "SET " +
+ "vid = " + prob.vid + "," +
+ "fen = '" + prob.fen + "'," +
+ "instruction = ?," +
+ "solution = ? " +
+ "WHERE id = " + prob.id;
+ db.run(query, [prob.instruction,prob.solution], cb);
+ });
+ },
+
+ remove: function(id)
+ {
+ db.serialize(function() {
+ const query =
+ "DELETE FROM Problems " +
+ "WHERE id = " + id;
+ db.run(query);
+ });
+ },
+
+ safeRemove: function(id, uid, cb)
+ {
+ db.serialize(function() {
+ const query =
+ "SELECT 1 " +
+ "FROM Problems " +
+ "WHERE id = " + id + " AND uid = " + uid;
+ db.get(query, (err,prob) => {
+ if (!prob)
+ return cb({errmsg: "Not your problem"});
+ ProblemModel.remove(id);
+ cb(null);
+ });
+ });
+ },