| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- CardComments = new Mongo.Collection('card_comments');
 
- CardComments.attachSchema(new SimpleSchema({
 
-   boardId: {
 
-     type: String,
 
-   },
 
-   cardId: {
 
-     type: String,
 
-   },
 
-   // XXX Rename in `content`? `text` is a bit vague...
 
-   text: {
 
-     type: String,
 
-   },
 
-   // XXX We probably don't need this information here, since we already have it
 
-   // in the associated comment creation activity
 
-   createdAt: {
 
-     type: Date,
 
-     denyUpdate: false,
 
-   },
 
-   // XXX Should probably be called `authorId`
 
-   userId: {
 
-     type: String,
 
-   },
 
- }));
 
- CardComments.allow({
 
-   insert(userId, doc) {
 
-     return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
 
-   },
 
-   update(userId, doc) {
 
-     return userId === doc.userId;
 
-   },
 
-   remove(userId, doc) {
 
-     return userId === doc.userId;
 
-   },
 
-   fetch: ['userId', 'boardId'],
 
- });
 
- CardComments.helpers({
 
-   user() {
 
-     return Users.findOne(this.userId);
 
-   },
 
- });
 
- CardComments.hookOptions.after.update = { fetchPrevious: false };
 
- CardComments.before.insert((userId, doc) => {
 
-   doc.createdAt = new Date();
 
-   doc.userId = userId;
 
- });
 
- if (Meteor.isServer) {
 
-   CardComments.after.insert((userId, doc) => {
 
-     Activities.insert({
 
-       userId,
 
-       activityType: 'addComment',
 
-       boardId: doc.boardId,
 
-       cardId: doc.cardId,
 
-       commentId: doc._id,
 
-     });
 
-   });
 
-   CardComments.after.remove((userId, doc) => {
 
-     const activity = Activities.findOne({ commentId: doc._id });
 
-     if (activity) {
 
-       Activities.remove(activity._id);
 
-     }
 
-   });
 
- }
 
 
  |