diff options
Diffstat (limited to 'models/boards.js')
-rw-r--r-- | models/boards.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/models/boards.js b/models/boards.js index 9323d690..4492d299 100644 --- a/models/boards.js +++ b/models/boards.js @@ -107,6 +107,7 @@ Boards.attachSchema(new SimpleSchema({ userId: this.userId, isAdmin: true, isActive: true, + isCommentOnly: false, }]; } }, @@ -120,6 +121,9 @@ Boards.attachSchema(new SimpleSchema({ 'members.$.isActive': { type: Boolean, }, + 'members.$.isCommentOnly': { + type: Boolean, + }, permission: { type: String, allowedValues: ['public', 'private'], @@ -219,6 +223,10 @@ Boards.helpers({ return !!_.findWhere(this.members, {userId: memberId, isActive: true, isAdmin: true}); }, + hasCommentOnly(memberId) { + return !!_.findWhere(this.members, {userId: memberId, isActive: true, isAdmin: false, isCommentOnly: true}); + }, + absoluteUrl() { return FlowRouter.url('board', { id: this._id, slug: this.slug }); }, @@ -332,7 +340,7 @@ Boards.mutations({ }; }, - setMemberPermission(memberId, isAdmin) { + setMemberPermission(memberId, isAdmin, isCommentOnly) { const memberIndex = this.memberIndex(memberId); // do not allow change permission of self @@ -343,6 +351,7 @@ Boards.mutations({ return { $set: { [`members.${memberIndex}.isAdmin`]: isAdmin, + [`members.${memberIndex}.isCommentOnly`]: isCommentOnly, }, }; }, |