From 1cb8a6e7fe3c3ba4bf2bc5f5a576d2ed46750fb0 Mon Sep 17 00:00:00 2001 From: "NET\\faguet" Date: Mon, 7 May 2018 13:32:33 +0200 Subject: Add a new API route to create a new label in a given board --- models/boards.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'models') diff --git a/models/boards.js b/models/boards.js index 3e05b499..da50adc7 100644 --- a/models/boards.js +++ b/models/boards.js @@ -719,4 +719,33 @@ if (Meteor.isServer) { }); } }); + + JsonRoutes.add('PUT', '/api/boards/:id/labels', function (req, res) { + Authentication.checkUserId(req.userId); + const id = req.params.id; + try { + if (req.body.hasOwnProperty('label')) { + const board = Boards.findOne({ _id: id }); + const color = req.body.label.color; + const name = req.body.label.name; + const labelId = Random.id(6); + if (!board.getLabel(name, color)) { + Boards.direct.update({ _id: id }, { $push: { labels: { "_id": labelId, "name": name, "color": color } } }); + JsonRoutes.sendResult(res, { + code: 200, + data: labelId, + }); + } else { + JsonRoutes.sendResult(res, { + code: 200, + }); + } + } + } + catch (error) { + JsonRoutes.sendResult(res, { + data: error, + }); + } + }); } -- cgit v1.2.3-1-g7c22