| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | import { Meteor } from 'meteor/meteor';Triggers = new Mongo.Collection('triggers');Triggers.mutations({  rename(description) {    return {      $set: {        description,      },    };  },});Triggers.allow({  insert(userId, doc) {    return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));  },  update(userId, doc) {    return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));  },  remove(userId, doc) {    return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));  },});Triggers.helpers({  description() {    return this.desc;  },  getRule() {    return Rules.findOne({      triggerId: this._id,    });  },  fromList() {    return Lists.findOne(this.fromId);  },  toList() {    return Lists.findOne(this.toId);  },  findList(title) {    return Lists.findOne({      title,    });  },  labels() {    const boardLabels = this.board().labels;    const cardLabels = _.filter(boardLabels, label => {      return _.contains(this.labelIds, label._id);    });    return cardLabels;  },});if (Meteor.isServer) {  Meteor.startup(() => {    Triggers._collection._ensureIndex({ modifiedAt: -1 });  });}export default Triggers;
 |