X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fmodels%2FProblem.js;fp=server%2Fmodels%2FProblem.js;h=0000000000000000000000000000000000000000;hb=d431028c73d41a22636130bd6aff562762eaf2bb;hp=a1f99031297f962ebdbf3b59cec20353bc966f7f;hpb=7bb3948f7a8f17d978a4552e39335957d252f9ed;p=vchess.git diff --git a/server/models/Problem.js b/server/models/Problem.js deleted file mode 100644 index a1f99031..00000000 --- a/server/models/Problem.js +++ /dev/null @@ -1,81 +0,0 @@ -var db = require("../utils/database"); - -/* - * Structure: - * id: problem number (int) - * uid: user id (int) - * vid: variant id (int) - * added: timestamp - * instructions: text - * solution: text - */ - -const ProblemModel = -{ - create: function(uid, vid, fen, instructions, solution, cb) - { - db.serialize(function() { - const insertQuery = - "INSERT INTO Problems (added, uid, vid, fen, instructions, solution) " + - "VALUES (" + Date.now() + "," + uid + "," + vid + ",'" + fen + "',?,?)"; - db.run(insertQuery, [instructions, solution], err => { - if (!!err) - return cb(err); - db.get("SELECT last_insert_rowid() AS rowid", cb); - }); - }); - }, - - getOne: function(id, callback) - { - db.serialize(function() { - const query = - "SELECT * " + - "FROM Problems " + - "WHERE id = " + id; - db.get(query, callback); - }); - }, - - fetchN: function(vid, uid, type, directionStr, lastDt, MaxNbProblems, callback) - { - db.serialize(function() { - let typeLine = ""; - if (uid > 0) - typeLine = "AND uid " + (type=="others" ? "!=" : "=") + " " + uid; - const query = - "SELECT * FROM Problems " + - "WHERE vid = " + vid + - " AND added " + directionStr + " " + lastDt + " " + typeLine + " " + - "ORDER BY added " + (directionStr=="<" ? "DESC " : "") + - "LIMIT " + MaxNbProblems; - db.all(query, callback); - }); - }, - - // TODO: update fails (but insert is OK) - update: function(id, uid, fen, instructions, solution, cb) - { - db.serialize(function() { - const query = - "UPDATE Problems SET " + - "fen = '" + fen + "', " + - "instructions = ?, " + - "solution = ? " + - "WHERE id = " + id + " AND uid = " + uid; - db.run(query, [instructions,solution], cb); - }); - }, - - remove: function(id, uid) - { - db.serialize(function() { - const query = - "DELETE FROM Problems " + - "WHERE id = " + id + " AND uid = " + uid; - db.run(query); - }); - }, -} - -module.exports = ProblemModel;