diff options
-rw-r--r-- | CHANGELOG.md | 8 | ||||
-rw-r--r-- | models/cards.js | 29 |
2 files changed, 37 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b4e4a3ec..a8bdbbe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Upcoming Wekan release + +This release adds the following new features: + +* [REST API: Add PUT method to update a card](https://github.com/wekan/wekan/pull/1095). + +Thanks to GitHub user zarnifoulette for contributions! + # v0.27 2017-06-28 Wekan release This release adds the following new features: diff --git a/models/cards.js b/models/cards.js index c48b4845..a48690bf 100644 --- a/models/cards.js +++ b/models/cards.js @@ -420,6 +420,35 @@ if (Meteor.isServer) { }); }); + JsonRoutes.add('PUT', '/api/boards/:boardId/lists/:listId/cards/:cardId', function (req, res, next) { + Authentication.checkUserId( req.userId); + const paramBoardId = req.params.boardId; + const paramCardId = req.params.cardId; + const paramListId = req.params.listId; + if(req.body.title !== undefined){ + const newTitle = req.body.title; + Cards.update({ _id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false }, + {$set:{title:newTitle}}); + } + if(req.body.listId !== undefined){ + const newParamListId = req.body.listId; + Cards.update({ _id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false }, + {$set:{listId:newParamListId}}); + } + if(req.body.description !== undefined){ + const newDescription = req.body.description; + Cards.update({ _id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false }, + {$set:{description:newDescription}}); + } + JsonRoutes.sendResult(res, { + code: 200, + data: { + _id: paramCardId, + }, + }); + }); + + JsonRoutes.add('DELETE', '/api/boards/:boardId/lists/:listId/cards/:cardId', function (req, res, next) { Authentication.checkUserId( req.userId); const paramBoardId = req.params.boardId; |