// 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); const selector = hideSystem ? { $and: [{ activityType: 'addComment' }, { [`${kind}Id`]: id }] } : { [`${kind}Id`]: id }; return Activities.find(selector, { limit, sort: { createdAt: -1 }, }); });