mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 07:20:12 +01:00
Move every Rules.findOne(idOrFirstObjectSelector, options) to the ReactiveCache
This commit is contained in:
parent
41685536d7
commit
c262620993
3 changed files with 55 additions and 9 deletions
|
|
@ -1,3 +1,5 @@
|
||||||
|
import { ReactiveCache } from '/imports/reactiveCache';
|
||||||
|
|
||||||
BlazeComponent.extendComponent({
|
BlazeComponent.extendComponent({
|
||||||
onCreated() {
|
onCreated() {
|
||||||
this.subscribe('allRules');
|
this.subscribe('allRules');
|
||||||
|
|
@ -7,9 +9,7 @@ BlazeComponent.extendComponent({
|
||||||
|
|
||||||
trigger() {
|
trigger() {
|
||||||
const ruleId = this.data().ruleId;
|
const ruleId = this.data().ruleId;
|
||||||
const rule = Rules.findOne({
|
const rule = ReactiveCache.getRule(ruleId.get());
|
||||||
_id: ruleId.get(),
|
|
||||||
});
|
|
||||||
const trigger = Triggers.findOne({
|
const trigger = Triggers.findOne({
|
||||||
_id: rule.triggerId,
|
_id: rule.triggerId,
|
||||||
});
|
});
|
||||||
|
|
@ -19,9 +19,7 @@ BlazeComponent.extendComponent({
|
||||||
},
|
},
|
||||||
action() {
|
action() {
|
||||||
const ruleId = this.data().ruleId;
|
const ruleId = this.data().ruleId;
|
||||||
const rule = Rules.findOne({
|
const rule = ReactiveCache.getRule(ruleId.get());
|
||||||
_id: ruleId.get(),
|
|
||||||
});
|
|
||||||
const action = Actions.findOne({
|
const action = Actions.findOne({
|
||||||
_id: rule.actionId,
|
_id: rule.actionId,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,14 @@ ReactiveCacheServer = {
|
||||||
const ret = Activities.find(selector, options).fetch();
|
const ret = Activities.find(selector, options).fetch();
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
getRule(idOrFirstObjectSelector, options) {
|
||||||
|
const ret = Rules.findOne(idOrFirstObjectSelector, options);
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
|
getRules(selector, options) {
|
||||||
|
const ret = Rules.find(selector, options).fetch();
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
getCurrentSetting() {
|
getCurrentSetting() {
|
||||||
const ret = Settings.findOne();
|
const ret = Settings.findOne();
|
||||||
return ret;
|
return ret;
|
||||||
|
|
@ -433,6 +441,30 @@ ReactiveCacheClient = {
|
||||||
const ret = this.__activities.get(Jsons.stringify(select));
|
const ret = this.__activities.get(Jsons.stringify(select));
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
getRule(idOrFirstObjectSelector, options) {
|
||||||
|
const idOrFirstObjectSelect = {idOrFirstObjectSelector, options}
|
||||||
|
if (!this.__rule) {
|
||||||
|
this.__rule = new DataCache(_idOrFirstObjectSelect => {
|
||||||
|
const __select = Jsons.parse(_idOrFirstObjectSelect);
|
||||||
|
const _ret = Rules.findOne(__select.idOrFirstObjectSelector, __select.options);
|
||||||
|
return _ret;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const ret = this.__rule.get(Jsons.stringify(idOrFirstObjectSelect));
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
|
getRules(selector, options) {
|
||||||
|
const select = {selector, options}
|
||||||
|
if (!this.__rules) {
|
||||||
|
this.__rules = new DataCache(_select => {
|
||||||
|
const __select = Jsons.parse(_select);
|
||||||
|
const _ret = Rules.find(__select.selector, __select.options).fetch();
|
||||||
|
return _ret;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const ret = this.__rules.get(Jsons.stringify(select));
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
getCurrentSetting() {
|
getCurrentSetting() {
|
||||||
if (!this.__currentSetting || !this.__currentSetting.get()) {
|
if (!this.__currentSetting || !this.__currentSetting.get()) {
|
||||||
this.__currentSetting = new DataCache(() => {
|
this.__currentSetting = new DataCache(() => {
|
||||||
|
|
@ -696,6 +728,24 @@ ReactiveCache = {
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
getRule(idOrFirstObjectSelector, options) {
|
||||||
|
let ret;
|
||||||
|
if (Meteor.isServer) {
|
||||||
|
ret = ReactiveCacheServer.getRule(idOrFirstObjectSelector, options);
|
||||||
|
} else {
|
||||||
|
ret = ReactiveCacheClient.getRule(idOrFirstObjectSelector, options);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
|
getRules(selector, options) {
|
||||||
|
let ret;
|
||||||
|
if (Meteor.isServer) {
|
||||||
|
ret = ReactiveCacheServer.getRules(selector, options);
|
||||||
|
} else {
|
||||||
|
ret = ReactiveCacheClient.getRules(selector, options);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
getCurrentSetting() {
|
getCurrentSetting() {
|
||||||
let ret;
|
let ret;
|
||||||
if (Meteor.isServer) {
|
if (Meteor.isServer) {
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,7 @@ Triggers.helpers({
|
||||||
},
|
},
|
||||||
|
|
||||||
getRule() {
|
getRule() {
|
||||||
return Rules.findOne({
|
return ReactiveCache.getRule({ triggerId: this._id });
|
||||||
triggerId: this._id,
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
fromList() {
|
fromList() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue