Refactor Problems view: should now handle better long problems lists
[vchess.git] / server / routes / problems.js
index 6cebb8f..2db81bb 100644 (file)
@@ -21,13 +21,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 });
     });
   }