| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- // Activities don't need a schema because they are always set from the a trusted
 
- // environment - the server - and there is no risk that a user change the logic
 
- // we use with this collection. Moreover using a schema for this collection
 
- // would be difficult (different activities have different fields) and wouldn't
 
- // bring any direct advantage.
 
- //
 
- // XXX The activities API is not so nice and need some functionalities. For
 
- // instance if a user archive a card, and un-archive it a few seconds later we
 
- // should remove both activities assuming it was an error the user decided to
 
- // revert.
 
- Activities = new Mongo.Collection('activities');
 
- Activities.helpers({
 
-   board() {
 
-     return Boards.findOne(this.boardId);
 
-   },
 
-   user() {
 
-     return Users.findOne(this.userId);
 
-   },
 
-   member() {
 
-     return Users.findOne(this.memberId);
 
-   },
 
-   list() {
 
-     return Lists.findOne(this.listId);
 
-   },
 
-   oldList() {
 
-     return Lists.findOne(this.oldListId);
 
-   },
 
-   card() {
 
-     return Cards.findOne(this.cardId);
 
-   },
 
-   comment() {
 
-     return CardComments.findOne(this.commentId);
 
-   },
 
-   attachment() {
 
-     return Attachments.findOne(this.attachmentId);
 
-   },
 
- });
 
- Activities.before.insert((userId, doc) => {
 
-   doc.createdAt = new Date();
 
- });
 
- // For efficiency create an index on the date of creation.
 
- if (Meteor.isServer) {
 
-   Meteor.startup(() => {
 
-     Activities._collection._ensureIndex({
 
-       createdAt: -1,
 
-     });
 
-   });
 
- }
 
 
  |