X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Froutes%2Fproblems.js;h=746be9aac124faf108ec3b7d5328de901254b701;hb=af34341d92d47d14f396e7f4adb81f2a7e9d9a61;hp=6cebb8f0ebee43805e466f8d34e5d0b289a5a36d;hpb=0234201fb338fc239d6f613c677fa932c7c3697c;p=vchess.git diff --git a/server/routes/problems.js b/server/routes/problems.js index 6cebb8f0..746be9aa 100644 --- a/server/routes/problems.js +++ b/server/routes/problems.js @@ -1,5 +1,6 @@ let router = require("express").Router(); const access = require("../utils/access"); +const params = require("../config/parameters"); const ProblemModel = require("../models/Problem"); const sanitizeHtml = require('sanitize-html'); @@ -21,13 +22,16 @@ router.post("/problems", access.logged, access.ajax, (req,res) => { }); router.get("/problems", access.ajax, (req,res) => { - const probId = req.query["pid"]; - if (probId && probId.match(/^[0-9]+$/)) { - ProblemModel.getOne(req.query["pid"], (err,problem) => { + const probId = req.query["id"]; + const cursor = req.query["cursor"]; + if (!!probId && !!probId.match(/^[0-9]+$/)) { + ProblemModel.getOne(probId, (err, problem) => { res.json(err || {problem: problem}); }); - } else { - ProblemModel.getAll((err,problems) => { + } else if (!!cursor && !!cursor.match(/^[0-9]+$/)) { + const onlyMine = (req.query["mode"] == "mine"); + const uid = parseInt(req.query["uid"]); + ProblemModel.getNext(uid, onlyMine, cursor, (err, problems) => { res.json(err || { problems: problems }); }); } @@ -38,7 +42,7 @@ router.put("/problems", access.logged, access.ajax, (req,res) => { if (ProblemModel.checkProblem(obj)) { obj.instruction = sanitizeHtml(obj.instruction); obj.solution = sanitizeHtml(obj.solution); - ProblemModel.safeUpdate(obj, req.userId); + ProblemModel.safeUpdate(obj, req.userId, params.devs); } res.json({}); }); @@ -46,7 +50,7 @@ router.put("/problems", access.logged, access.ajax, (req,res) => { router.delete("/problems", access.logged, access.ajax, (req,res) => { const pid = req.query.id; if (pid.toString().match(/^[0-9]+$/)) - ProblemModel.safeRemove(pid, req.userId); + ProblemModel.safeRemove(pid, req.userId, params.devs); res.json({}); });