summaryrefslogtreecommitdiffstats
path: root/models/actions.js
blob: 8ac764aac0ce009581906e6d074483c0cd48afc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Meteor } from 'meteor/meteor';

Actions = new Mongo.Collection('actions');

Actions.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));
  },
});

Actions.helpers({
  description() {
    return this.desc;
  },
});

Actions.before.update((userId, doc, fieldNames, modifier, options) => {
  modifier.$set = modifier.$set || {};
  modifier.$set.modifiedAt = Date.now();
});

if (Meteor.isServer) {
  Meteor.startup(() => {
    Actions._collection._ensureIndex({ modifiedAt: -1 });
  });
}

export default Actions;