wekan/server/publications/rules.js

44 lines
946 B
JavaScript
Raw Normal View History

2021-04-12 11:44:28 +02:00
import Boards from '/models/boards';
import Actions from '/models/actions';
import Triggers from '/models/triggers';
import Rules from '/models/rules';
2019-06-28 12:52:09 -05:00
Meteor.publish('rules', ruleId => {
2018-09-16 01:50:36 +03:00
check(ruleId, String);
return Rules.find({
_id: ruleId,
});
2018-08-03 19:47:20 +02:00
});
Meteor.publish('allRules', () => {
2018-09-16 01:50:36 +03:00
return Rules.find({});
2018-08-03 19:47:20 +02:00
});
Meteor.publish('allTriggers', () => {
2018-09-16 01:50:36 +03:00
return Triggers.find({});
2018-08-03 19:47:20 +02:00
});
2018-09-14 16:49:06 +02:00
Meteor.publish('allActions', () => {
2018-09-16 01:50:36 +03:00
return Actions.find({});
});
2021-04-12 11:44:28 +02:00
Meteor.publish('rulesReport', () => {
const rules = Rules.find();
const actionIds = [];
const triggerIds = [];
const boardIds = [];
rules.forEach(rule => {
actionIds.push(rule.actionId);
triggerIds.push(rule.triggerId);
boardIds.push(rule.boardId);
});
return [
rules,
Actions.find({ _id: { $in: actionIds } }),
Triggers.find({ _id: { $in: triggerIds } }),
Boards.find({ _id: { $in: boardIds } }, { fields: { title: 1 } }),
];
});