Move every Triggers.findOne(idOrFirstObjectSelector, options) to the ReactiveCache

This commit is contained in:
Martin Filser 2023-02-05 00:07:52 +01:00
parent b48297df22
commit f5796faa84
3 changed files with 53 additions and 5 deletions

View file

@ -10,9 +10,7 @@ BlazeComponent.extendComponent({
trigger() {
const ruleId = this.data().ruleId;
const rule = ReactiveCache.getRule(ruleId.get());
const trigger = Triggers.findOne({
_id: rule.triggerId,
});
const trigger = ReactiveCache.getTrigger(rule.triggerId);
const desc = trigger.description();
const upperdesc = desc.charAt(0).toUpperCase() + desc.substr(1);
return upperdesc;

View file

@ -123,6 +123,14 @@ ReactiveCacheServer = {
const ret = Actions.find(selector, options).fetch();
return ret;
},
getTrigger(idOrFirstObjectSelector, options) {
const ret = Triggers.findOne(idOrFirstObjectSelector, options);
return ret;
},
getTriggers(selector, options) {
const ret = Triggers.find(selector, options).fetch();
return ret;
},
getCurrentSetting() {
const ret = Settings.findOne();
return ret;
@ -497,6 +505,30 @@ ReactiveCacheClient = {
const ret = this.__actions.get(Jsons.stringify(select));
return ret;
},
getTrigger(idOrFirstObjectSelector, options) {
const idOrFirstObjectSelect = {idOrFirstObjectSelector, options}
if (!this.__trigger) {
this.__trigger = new DataCache(_idOrFirstObjectSelect => {
const __select = Jsons.parse(_idOrFirstObjectSelect);
const _ret = Triggers.findOne(__select.idOrFirstObjectSelector, __select.options);
return _ret;
});
}
const ret = this.__trigger.get(Jsons.stringify(idOrFirstObjectSelect));
return ret;
},
getTriggers(selector, options) {
const select = {selector, options}
if (!this.__triggers) {
this.__triggers = new DataCache(_select => {
const __select = Jsons.parse(_select);
const _ret = Triggers.find(__select.selector, __select.options).fetch();
return _ret;
});
}
const ret = this.__triggers.get(Jsons.stringify(select));
return ret;
},
getCurrentSetting() {
if (!this.__currentSetting || !this.__currentSetting.get()) {
this.__currentSetting = new DataCache(() => {
@ -796,6 +828,24 @@ ReactiveCache = {
}
return ret;
},
getTrigger(idOrFirstObjectSelector, options) {
let ret;
if (Meteor.isServer) {
ret = ReactiveCacheServer.getTrigger(idOrFirstObjectSelector, options);
} else {
ret = ReactiveCacheClient.getTrigger(idOrFirstObjectSelector, options);
}
return ret;
},
getTriggers(selector, options) {
let ret;
if (Meteor.isServer) {
ret = ReactiveCacheServer.getTriggers(selector, options);
} else {
ret = ReactiveCacheClient.getTriggers(selector, options);
}
return ret;
},
getCurrentSetting() {
let ret;
if (Meteor.isServer) {

View file

@ -61,13 +61,13 @@ Rules.helpers({
return ReactiveCache.getAction(this.actionId);
},
getTrigger() {
return Triggers.findOne({ _id: this.triggerId });
return ReactiveCache.getTrigger(this.triggerId);
},
board() {
return ReactiveCache.getBoard(this.boardId);
},
trigger() {
return Triggers.findOne({ _id: this.triggerId });
return ReactiveCache.getTrigger(this.triggerId);
},
action() {
return ReactiveCache.getAction(this.actionId);