wekan/server/publications/activities.js

19 lines
No EOL
608 B
JavaScript

// We use activities fields at two different places:
// 1. The board sidebar
// 2. The card activity tab
// We use this publication to paginate for these two publications.
Meteor.publish('activities', (kind, id, limit, hideSystem) => {
check(kind, Match.Where((x) => {
return ['board', 'card'].indexOf(x) !== -1;
}));
check(id, String);
check(limit, Number);
check(hideSystem, Boolean);
let selector = (hideSystem) ? {$and: [{activityType: 'addComment'}, {[`${kind}Id`]: id}]} : {[`${kind}Id`]: id};
return Activities.find(selector, {
limit,
sort: {createdAt: -1},
});
});