diff options
author | Lauri Ojansivu <x@xet7.org> | 2017-05-13 12:51:44 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2017-05-13 12:51:44 +0300 |
commit | 1c3551201a9d898183e57a67df71cf1ce1e26c84 (patch) | |
tree | 8014faca721b88f00939eeb7e8fdbcf1fd8872db /models/cardComments.js | |
parent | 8267b5a01c1a8c2a00bb2464cb9860561985070d (diff) | |
parent | c0ddc89f21b6370ea58eee68c5c3696861b3e8f2 (diff) | |
download | wekan-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.js | 62 |
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, + }, + }); + }); +} |