summaryrefslogtreecommitdiffstats
path: root/models/cardComments.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2017-05-13 12:51:44 +0300
committerLauri Ojansivu <x@xet7.org>2017-05-13 12:51:44 +0300
commit1c3551201a9d898183e57a67df71cf1ce1e26c84 (patch)
tree8014faca721b88f00939eeb7e8fdbcf1fd8872db /models/cardComments.js
parent8267b5a01c1a8c2a00bb2464cb9860561985070d (diff)
parentc0ddc89f21b6370ea58eee68c5c3696861b3e8f2 (diff)
downloadwekan-1c3551201a9d898183e57a67df71cf1ce1e26c84.tar.gz
wekan-1c3551201a9d898183e57a67df71cf1ce1e26c84.tar.bz2
wekan-1c3551201a9d898183e57a67df71cf1ce1e26c84.zip
Merge branch 'huneau-meteor-1.4-RESTAPI' into devel
Diffstat (limited to 'models/cardComments.js')
-rw-r--r--models/cardComments.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/models/cardComments.js b/models/cardComments.js
index 070c148e..e51275a4 100644
--- a/models/cardComments.js
+++ b/models/cardComments.js
@@ -80,3 +80,65 @@ if (Meteor.isServer) {
}
});
}
+
+//CARD COMMENT REST API
+if (Meteor.isServer) {
+ JsonRoutes.add('GET', '/api/boards/:boardId/cards/:cardId/comments', function (req, res, next) {
+ Authentication.checkUserId( req.userId);
+ const paramBoardId = req.params.boardId;
+ const paramCardId = req.params.cardId;
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: CardComments.find({ boardId: paramBoardId, cardId: paramCardId}).map(function (doc) {
+ return {
+ _id: doc._id,
+ comment: doc.text,
+ authorId: doc.userId,
+ };
+ }),
+ });
+ });
+
+ JsonRoutes.add('GET', '/api/boards/:boardId/cards/:cardId/comments/:commentId', function (req, res, next) {
+ Authentication.checkUserId( req.userId);
+ const paramBoardId = req.params.boardId;
+ const paramCommentId = req.params.commentId;
+ const paramCardId = req.params.cardId;
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: CardComments.findOne({ _id: paramCommentId, cardId: paramCardId, boardId: paramBoardId }),
+ });
+ });
+
+ JsonRoutes.add('POST', '/api/boards/:boardId/cards/:cardId/comments', function (req, res, next) {
+ Authentication.checkUserId( req.userId);
+ const paramBoardId = req.params.boardId;
+ const paramCardId = req.params.cardId;
+ const id = CardComments.insert({
+ userId: req.body.authorId,
+ text: req.body.comment,
+ cardId: paramCardId,
+ boardId: paramBoardId,
+ });
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: {
+ _id: id,
+ },
+ });
+ });
+
+ JsonRoutes.add('DELETE', '/api/boards/:boardId/cards/:cardId/comments/:commentId', function (req, res, next) {
+ Authentication.checkUserId( req.userId);
+ const paramBoardId = req.params.boardId;
+ const paramCommentId = req.params.commentId;
+ const paramCardId = req.params.cardId;
+ CardComments.remove({ _id: paramCommentId, cardId: paramCardId, boardId: paramBoardId });
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: {
+ _id: paramCardId,
+ },
+ });
+ });
+}