- else
- {
- // Get by (non-)user ID:
- const userId = req.query["uid"];
- const excluded = !!req.query["excluded"];
- GameModel.getByUser(userId, excluded, (err,games) => {
- if (!!err)
- return res.json({errmsg: err.errmsg || err.toString()});
- res.json({games: games});
- });
+});
+
+// Get by (non-)user ID, for Hall
+router.get("/observedgames", access.ajax, (req,res) => {
+ const userId = req.query["uid"];
+ const cursor = req.query["cursor"];
+ if (!!userId.match(/^[0-9]+$/) && !!cursor.match(/^[0-9]+$/)) {
+ GameModel.getObserved(userId, cursor, (err, games) => {
+ res.json({ games: games });
+ });
+ }
+});
+
+// Get by user ID, for MyGames page
+router.get("/runninggames", access.logged, access.ajax, (req,res) => {
+ GameModel.getRunning(req.userId, (err, games) => {
+ res.json({ games: games });
+ });
+});
+
+router.get("/completedgames", access.logged, access.ajax, (req,res) => {
+ const cursor = req.query["cursor"];
+ if (!!cursor.match(/^[0-9]+$/)) {
+ GameModel.getCompleted(req.userId, cursor, (err, games) => {
+ res.json({ games: games });
+ });