From ddd068dd936658000bd5244ded5d568a83bf0ae2 Mon Sep 17 00:00:00 2001 From: Mathew Henson Date: Mon, 23 May 2016 23:21:31 +0100 Subject: [PATCH] Added an endpoint for getting comments that are children of a parent ID --- server/dist/src/controllers/comments-controller.js | 4 ++++ server/src/controllers/comments-controller.ts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/server/dist/src/controllers/comments-controller.js b/server/dist/src/controllers/comments-controller.js index 03f6ef42..0d4c493b 100644 --- a/server/dist/src/controllers/comments-controller.js +++ b/server/dist/src/controllers/comments-controller.js @@ -36,6 +36,7 @@ class CommentsController extends controller_1.Controller { router.use(bodyParser.json({ type: 'application/vnd.api+json' })); router.get("/comments", [permission_controllers_1.isAdmin, this.getComments.bind(this)]); router.get("/comments/:id", [permission_controllers_1.hasId("id", "ID"), permission_controllers_1.getUser, this.getComment.bind(this)]); + router.get("/nested-comments/:parentId", [permission_controllers_1.hasId("parentId", "parent ID"), permission_controllers_1.getUser, this.getComments.bind(this)]); router.get("/users/:user/comments", [permission_controllers_1.userExists, permission_controllers_1.getUser, this.getComments.bind(this)]); router.delete("/users/:user/comments/:id", [permission_controllers_1.canEdit, permission_controllers_1.hasId("id", "ID"), this.remove.bind(this)]); router.put("/users/:user/comments/:id", [permission_controllers_1.canEdit, permission_controllers_1.hasId("id", "ID"), this.update.bind(this)]); @@ -57,6 +58,9 @@ class CommentsController extends controller_1.Controller { var visibility = "public"; var user = req._user; var findToken = { $or: [] }; + // Set the parent filter + if (req.query.parentId) + findToken.parent = req.query.parentId; // Set the user property if its provided if (req.query.user) findToken.author = new RegExp(req.query.user, "i"); diff --git a/server/src/controllers/comments-controller.ts b/server/src/controllers/comments-controller.ts index 8538745e..cdd76fe1 100644 --- a/server/src/controllers/comments-controller.ts +++ b/server/src/controllers/comments-controller.ts @@ -36,6 +36,7 @@ export default class CommentsController extends Controller router.get("/comments", [isAdmin, this.getComments.bind(this)]); router.get("/comments/:id", [hasId("id", "ID"), getUser, this.getComment.bind(this)]); + router.get("/nested-comments/:parentId", [hasId("parentId", "parent ID"), getUser, this.getComments.bind(this)]); router.get("/users/:user/comments", [userExists, getUser, this.getComments.bind(this)]); router.delete("/users/:user/comments/:id", [canEdit, hasId("id", "ID"), this.remove.bind(this)]); router.put("/users/:user/comments/:id", [canEdit, hasId("id", "ID"), this.update.bind(this)]); @@ -60,6 +61,10 @@ export default class CommentsController extends Controller var user = req._user; var findToken = { $or : [] }; + // Set the parent filter + if (req.query.parentId) + (findToken).parent = req.query.parentId; + // Set the user property if its provided if (req.query.user) (findToken).author = new RegExp(req.query.user, "i");