From 66b45ed35c2bd3768dd479bdc3b0e9988de7825b Mon Sep 17 00:00:00 2001 From: Justin Reynolds Date: Thu, 18 Jul 2019 13:06:25 -0500 Subject: [PATCH] Fix invites --- client/components/boards/boardsList.js | 4 ++-- models/boards.js | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js index cc586b1f8..b13717470 100644 --- a/client/components/boards/boardsList.js +++ b/client/components/boards/boardsList.js @@ -82,13 +82,13 @@ BlazeComponent.extendComponent({ }, 'click .js-accept-invite'() { const boardId = this.currentData()._id; - Meteor.user().removeInvite(boardId); + Meteor.call('acceptInvite', boardId); }, 'click .js-decline-invite'() { const boardId = this.currentData()._id; Meteor.call('quitBoard', boardId, (err, ret) => { if (!err && ret) { - Meteor.user().removeInvite(boardId); + Meteor.call('acceptInvite', boardId); FlowRouter.go('home'); } }); diff --git a/models/boards.js b/models/boards.js index 2346ecb66..2117ff7c2 100644 --- a/models/boards.js +++ b/models/boards.js @@ -952,6 +952,19 @@ if (Meteor.isServer) { } else throw new Meteor.Error('error-board-notAMember'); } else throw new Meteor.Error('error-board-doesNotExist'); }, + acceptInvite(boardId) { + check(boardId, String); + const board = Boards.findOne(boardId); + if (!board) { + throw new Meteor.Error('error-board-doesNotExist'); + } + + Meteor.users.update(Meteor.userId(), { + $pull: { + 'profile.invitedBoards': boardId, + }, + }); + }, }); Meteor.methods({