|
@@ -276,6 +276,10 @@ Boards.helpers({
|
|
return Users.find({ _id: { $in: _.pluck(this.members, 'userId') } });
|
|
return Users.find({ _id: { $in: _.pluck(this.members, 'userId') } });
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ getMember(id) {
|
|
|
|
+ return _.findWhere(this.members, { userId: id });
|
|
|
|
+ },
|
|
|
|
+
|
|
getLabel(name, color) {
|
|
getLabel(name, color) {
|
|
return _.findWhere(this.labels, { name, color });
|
|
return _.findWhere(this.labels, { name, color });
|
|
},
|
|
},
|
|
@@ -823,9 +827,9 @@ if (Meteor.isServer) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- JsonRoutes.add('GET', '/api/boards/:id', function (req, res) {
|
|
|
|
|
|
+ JsonRoutes.add('GET', '/api/boards/:boardId', function (req, res) {
|
|
try {
|
|
try {
|
|
- const id = req.params.id;
|
|
|
|
|
|
+ const id = req.params.boardId;
|
|
Authentication.checkBoardAccess(req.userId, id);
|
|
Authentication.checkBoardAccess(req.userId, id);
|
|
|
|
|
|
JsonRoutes.sendResult(res, {
|
|
JsonRoutes.sendResult(res, {
|
|
@@ -841,6 +845,34 @@ if (Meteor.isServer) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ JsonRoutes.add('PUT', '/api/boards/:boardId/members', function (req, res) {
|
|
|
|
+ Authentication.checkUserId(req.userId);
|
|
|
|
+ try {
|
|
|
|
+ const boardId = req.params.boardId;
|
|
|
|
+ const board = Boards.findOne({ _id: boardId });
|
|
|
|
+ const userId = req.body.userId;
|
|
|
|
+ const user = Users.findOne({ _id: userId });
|
|
|
|
+
|
|
|
|
+ if (!board.getMember(userId)) {
|
|
|
|
+ user.addInvite(boardId);
|
|
|
|
+ board.addMember(userId);
|
|
|
|
+ JsonRoutes.sendResult(res, {
|
|
|
|
+ code: 200,
|
|
|
|
+ data: id,
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ JsonRoutes.sendResult(res, {
|
|
|
|
+ code: 200,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ catch (error) {
|
|
|
|
+ JsonRoutes.sendResult(res, {
|
|
|
|
+ data: error,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
JsonRoutes.add('POST', '/api/boards', function (req, res) {
|
|
JsonRoutes.add('POST', '/api/boards', function (req, res) {
|
|
try {
|
|
try {
|
|
Authentication.checkUserId(req.userId);
|
|
Authentication.checkUserId(req.userId);
|
|
@@ -878,10 +910,10 @@ if (Meteor.isServer) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- JsonRoutes.add('DELETE', '/api/boards/:id', function (req, res) {
|
|
|
|
|
|
+ JsonRoutes.add('DELETE', '/api/boards/:boardId', function (req, res) {
|
|
try {
|
|
try {
|
|
Authentication.checkUserId(req.userId);
|
|
Authentication.checkUserId(req.userId);
|
|
- const id = req.params.id;
|
|
|
|
|
|
+ const id = req.params.boardId;
|
|
Boards.remove({ _id: id });
|
|
Boards.remove({ _id: id });
|
|
JsonRoutes.sendResult(res, {
|
|
JsonRoutes.sendResult(res, {
|
|
code: 200,
|
|
code: 200,
|
|
@@ -898,9 +930,9 @@ if (Meteor.isServer) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- JsonRoutes.add('PUT', '/api/boards/:id/labels', function (req, res) {
|
|
|
|
|
|
+ JsonRoutes.add('PUT', '/api/boards/:boardId/labels', function (req, res) {
|
|
Authentication.checkUserId(req.userId);
|
|
Authentication.checkUserId(req.userId);
|
|
- const id = req.params.id;
|
|
|
|
|
|
+ const id = req.params.boardId;
|
|
try {
|
|
try {
|
|
if (req.body.hasOwnProperty('label')) {
|
|
if (req.body.hasOwnProperty('label')) {
|
|
const board = Boards.findOne({ _id: id });
|
|
const board = Boards.findOne({ _id: id });
|