summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md8
-rw-r--r--models/cards.js29
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;