summaryrefslogtreecommitdiffstats
path: root/models/lists.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2017-04-27 20:49:24 +0300
committerLauri Ojansivu <x@xet7.org>2017-04-27 20:49:24 +0300
commit0319bcf7bb090328e67766234723f5986c00bba2 (patch)
treed81ecf4ccc1bd77899ba2cbcb253d46e95f6b76a /models/lists.js
parenta99218e2c7f210adc9eef83f6474395f8c52c84e (diff)
downloadwekan-0319bcf7bb090328e67766234723f5986c00bba2.tar.gz
wekan-0319bcf7bb090328e67766234723f5986c00bba2.tar.bz2
wekan-0319bcf7bb090328e67766234723f5986c00bba2.zip
REST API - Meteor 1.4 - first step issue
Diffstat (limited to 'models/lists.js')
-rw-r--r--models/lists.js58
1 files changed, 55 insertions, 3 deletions
diff --git a/models/lists.js b/models/lists.js
index 0ae3ca5f..a10e23b6 100644
--- a/models/lists.js
+++ b/models/lists.js
@@ -76,15 +76,15 @@ Lists.helpers({
Lists.mutations({
rename(title) {
- return { $set: { title }};
+ return { $set: { title } };
},
archive() {
- return { $set: { archived: true }};
+ return { $set: { archived: true } };
},
restore() {
- return { $set: { archived: false }};
+ return { $set: { archived: false } };
},
});
@@ -128,3 +128,55 @@ if (Meteor.isServer) {
}
});
}
+
+//LISTS REST API
+if (Meteor.isServer) {
+ JsonRoutes.add('GET', '/api/boards/:boardId/lists', function (req, res, next) {
+ const paramBoardId = req.params.boardId;
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: Lists.find({ boardId: paramBoardId, archived: false }).map(function (doc) {
+ return {
+ _id: doc._id,
+ title: doc.title,
+ };
+ }),
+ });
+ });
+
+ JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId', function (req, res, next) {
+ const paramBoardId = req.params.boardId;
+ const paramListId = req.params.listId;
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: Lists.findOne({ _id: paramListId, boardId: paramBoardId, archived: false }),
+ });
+ });
+
+ JsonRoutes.add('POST', '/api/boards/:boardId/lists', function (req, res, next) {
+ const paramBoardId = req.params.boardId;
+ const id = Lists.insert({
+ title: req.body.title,
+ boardId: paramBoardId,
+ });
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: {
+ _id: id,
+ },
+ });
+ });
+
+ JsonRoutes.add('DELETE', '/api/boards/:boardId/lists/:listId', function (req, res, next) {
+ const paramBoardId = req.params.boardId;
+ const paramListId = req.params.listId;
+ Lists.remove({ _id: paramListId, boardId: paramBoardId });
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: {
+ _id: paramListId,
+ },
+ });
+ });
+
+}