@steedos/objectql 3.0.13-beta.3 → 3.0.13-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/actions/field_updates.js +84 -153
- package/lib/actions/field_updates.js.map +1 -1
- package/lib/actions/index.js +1 -1
- package/lib/actions/workflow_notifications.js +50 -111
- package/lib/actions/workflow_notifications.js.map +1 -1
- package/lib/actions/workflow_outbound_messages.js +43 -94
- package/lib/actions/workflow_outbound_messages.js.map +1 -1
- package/lib/actions/workflow_rule.js +80 -177
- package/lib/actions/workflow_rule.js.map +1 -1
- package/lib/broker.js +19 -49
- package/lib/broker.js.map +1 -1
- package/lib/driver/field-encrytion/index.js +1 -1
- package/lib/driver/field-encrytion/mongosharedconst.js +17 -17
- package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
- package/lib/driver/format.js +3 -3
- package/lib/driver/format.js.map +1 -1
- package/lib/driver/index.js +1 -1
- package/lib/driver/metadata.js +283 -387
- package/lib/driver/metadata.js.map +1 -1
- package/lib/driver/metadataOld.js +104 -105
- package/lib/driver/metadataOld.js.map +1 -1
- package/lib/driver/meteorMongo.js +5 -8
- package/lib/driver/meteorMongo.js.map +1 -1
- package/lib/driver/mongo.js +321 -506
- package/lib/driver/mongo.js.map +1 -1
- package/lib/driver/mysql.js +16 -20
- package/lib/driver/mysql.js.map +1 -1
- package/lib/driver/oracle.js +25 -38
- package/lib/driver/oracle.js.map +1 -1
- package/lib/driver/postgres.js +16 -20
- package/lib/driver/postgres.js.map +1 -1
- package/lib/driver/sqlite3.js +15 -19
- package/lib/driver/sqlite3.js.map +1 -1
- package/lib/driver/sqlserver.js +20 -33
- package/lib/driver/sqlserver.js.map +1 -1
- package/lib/errors/index.js +10 -11
- package/lib/errors/index.js.map +1 -1
- package/lib/formula/core.js +307 -594
- package/lib/formula/core.js.map +1 -1
- package/lib/formula/field_formula.js +80 -126
- package/lib/formula/field_formula.js.map +1 -1
- package/lib/formula/index.js +56 -97
- package/lib/formula/index.js.map +1 -1
- package/lib/formula/params.js +11 -11
- package/lib/formula/params.js.map +1 -1
- package/lib/formula/recompute.js +41 -166
- package/lib/formula/recompute.js.map +1 -1
- package/lib/formula/simple_params.js +12 -12
- package/lib/formula/simple_params.js.map +1 -1
- package/lib/formula/util.js +43 -67
- package/lib/formula/util.js.map +1 -1
- package/lib/functions/function.js +62 -87
- package/lib/functions/function.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/services/datasourceServiceFactory.js +77 -111
- package/lib/services/datasourceServiceFactory.js.map +1 -1
- package/lib/services/index.js +3 -3
- package/lib/services/index.js.map +1 -1
- package/lib/summary/core.js +162 -355
- package/lib/summary/core.js.map +1 -1
- package/lib/summary/field_summary.js +44 -71
- package/lib/summary/field_summary.js.map +1 -1
- package/lib/summary/index.js +65 -80
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/recompute.js +19 -47
- package/lib/summary/recompute.js.map +1 -1
- package/lib/triggers/trigger.js +101 -142
- package/lib/triggers/trigger.js.map +1 -1
- package/lib/ts-types/index.js +1 -1
- package/lib/typeorm/driver.js +250 -450
- package/lib/typeorm/driver.js.map +1 -1
- package/lib/typeorm/index.js +1 -1
- package/lib/typeorm/util.js +28 -28
- package/lib/typeorm/util.js.map +1 -1
- package/lib/types/action.js +24 -33
- package/lib/types/action.js.map +1 -1
- package/lib/types/app.js +210 -355
- package/lib/types/app.js.map +1 -1
- package/lib/types/connection.js +42 -78
- package/lib/types/connection.js.map +1 -1
- package/lib/types/dashboard.js +56 -77
- package/lib/types/dashboard.js.map +1 -1
- package/lib/types/datasource.js +359 -705
- package/lib/types/datasource.js.map +1 -1
- package/lib/types/defaultValue.js +53 -65
- package/lib/types/defaultValue.js.map +1 -1
- package/lib/types/field.js +165 -137
- package/lib/types/field.js.map +1 -1
- package/lib/types/field_permission.js +35 -66
- package/lib/types/field_permission.js.map +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/list_view.js +36 -43
- package/lib/types/list_view.js.map +1 -1
- package/lib/types/metadata.js +6 -6
- package/lib/types/metadata.js.map +1 -1
- package/lib/types/method_base.js +95 -128
- package/lib/types/method_base.js.map +1 -1
- package/lib/types/object.js +2005 -3015
- package/lib/types/object.js.map +1 -1
- package/lib/types/object_events.js +24 -37
- package/lib/types/object_events.js.map +1 -1
- package/lib/types/object_layouts.js +15 -38
- package/lib/types/object_layouts.js.map +1 -1
- package/lib/types/object_permission.js +99 -85
- package/lib/types/object_permission.js.map +1 -1
- package/lib/types/report.js +70 -98
- package/lib/types/report.js.map +1 -1
- package/lib/types/restrictionRule.js +47 -96
- package/lib/types/restrictionRule.js.map +1 -1
- package/lib/types/schema.js +115 -177
- package/lib/types/schema.js.map +1 -1
- package/lib/types/shareRule.js +53 -102
- package/lib/types/shareRule.js.map +1 -1
- package/lib/types/trigger.js +43 -56
- package/lib/types/trigger.js.map +1 -1
- package/lib/types/validation_rules.js +18 -56
- package/lib/types/validation_rules.js.map +1 -1
- package/lib/util/convert.js +24 -24
- package/lib/util/convert.js.map +1 -1
- package/lib/util/field.js +16 -28
- package/lib/util/field.js.map +1 -1
- package/lib/util/function_expression.js +7 -8
- package/lib/util/function_expression.js.map +1 -1
- package/lib/util/index.js +79 -97
- package/lib/util/index.js.map +1 -1
- package/lib/util/locale.js +4 -4
- package/lib/util/locale.js.map +1 -1
- package/lib/util/permission_shares.js +7 -7
- package/lib/util/permission_shares.js.map +1 -1
- package/lib/util/suffix.js +19 -19
- package/lib/util/suffix.js.map +1 -1
- package/lib/util/transform.js +1 -1
- package/lib/validators/index.js +10 -10
- package/lib/validators/index.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_outbound_messages.js","sourceRoot":"","sources":["../../src/actions/workflow_outbound_messages.ts"],"names":[],"mappings":";;AAyBA,8EAWC;AAQD,4EA4CC
|
|
1
|
+
{"version":3,"file":"workflow_outbound_messages.js","sourceRoot":"","sources":["../../src/actions/workflow_outbound_messages.ts"],"names":[],"mappings":";;AAyBA,8EAWC;AAQD,4EA4CC;AAhFD,oCAAkD;AAIlD,gCAAiC;AAEjC,2CAA+B;AAE/B,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAS7B,KAAK,UAAU,iCAAiC,CAAC,GAAkB,EAAE,QAAa,EAAE,WAAgB,EAAE,OAAgB;IACzH,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO;IACX,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,IAAI,GAAG,MAAM,IAAA,mBAAW,EAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC;IAE1G,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,gCAAgC,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IACD,OAAO;AACX,CAAC;AAQM,KAAK,UAAU,gCAAgC,CAAC,uBAAgD,EAAE,QAAa,EAAE,WAAgB;IACpI,IAAI,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO;IACX,CAAC;IACD,MAAM,EACF,WAAW,EACX,YAAY,EAEZ,qBAAqB,EACrB,GAAG,EACN,GAAG,uBAAuB,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEjG,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,MAAM,GAAG,CAAC,MAAM,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC1B,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG;QACV,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,MAAM;KAChB,CAAA;IAED,IAAI,MAAM,EAAE,CAAC;QAET,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAA;QACtC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,IAAA,oBAAK,EAAC,YAAY,EAAE;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,IAAI,EAAE,OAAO;SAChB,CAAC;KACL,CAAC,CAAA;AAGN,CAAC"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WorkflowRulesRunner = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const formula_1 = require("../formula");
|
|
6
|
+
const field_updates_1 = require("./field_updates");
|
|
7
|
+
const workflow_notifications_1 = require("./workflow_notifications");
|
|
8
|
+
const workflow_outbound_messages_1 = require("./workflow_outbound_messages");
|
|
9
|
+
const _ = require("underscore");
|
|
10
|
+
const MAX_COUNT = 5;
|
|
11
|
+
class WorkflowRulesRunner {
|
|
12
|
+
object_name;
|
|
13
|
+
event;
|
|
14
|
+
record;
|
|
15
|
+
user_session;
|
|
16
|
+
previous_record;
|
|
17
|
+
counter;
|
|
18
|
+
constructor(config) {
|
|
14
19
|
this.object_name = config.object_name;
|
|
15
20
|
this.event = config.event;
|
|
16
21
|
this.record = config.record;
|
|
@@ -18,174 +23,72 @@ var WorkflowRulesRunner = (function () {
|
|
|
18
23
|
this.previous_record = config.previous_record;
|
|
19
24
|
this.counter = {};
|
|
20
25
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
default:
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
allTargets = [];
|
|
58
|
-
tempTargets = [];
|
|
59
|
-
return [4, (0, index_1.getMetadata)('workflow_rule').find(filters, record.space)];
|
|
60
|
-
case 1:
|
|
61
|
-
wfRules = _c.sent();
|
|
62
|
-
_loop_1 = function (wfRule) {
|
|
63
|
-
return tslib_1.__generator(this, function (_d) {
|
|
64
|
-
switch (_d.label) {
|
|
65
|
-
case 0:
|
|
66
|
-
if (!(wfRule.trigger_type === 'onCreateOrTriggeringUpdate')) return [3, 2];
|
|
67
|
-
return [4, runWFRule(wfRule, record, userSession, previousRecord)];
|
|
68
|
-
case 1:
|
|
69
|
-
tempTargets = _d.sent();
|
|
70
|
-
return [3, 4];
|
|
71
|
-
case 2: return [4, runWFRule(wfRule, record, userSession)];
|
|
72
|
-
case 3:
|
|
73
|
-
tempTargets = _d.sent();
|
|
74
|
-
_d.label = 4;
|
|
75
|
-
case 4:
|
|
76
|
-
tempTargets.forEach(function (target) {
|
|
77
|
-
target.from_rule_id = wfRule._id;
|
|
78
|
-
});
|
|
79
|
-
allTargets = allTargets.concat(tempTargets);
|
|
80
|
-
return [2];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
_c.label = 2;
|
|
85
|
-
case 2:
|
|
86
|
-
_c.trys.push([2, 7, 8, 9]);
|
|
87
|
-
wfRules_1 = tslib_1.__values(wfRules), wfRules_1_1 = wfRules_1.next();
|
|
88
|
-
_c.label = 3;
|
|
89
|
-
case 3:
|
|
90
|
-
if (!!wfRules_1_1.done) return [3, 6];
|
|
91
|
-
wfRule = wfRules_1_1.value;
|
|
92
|
-
return [5, _loop_1(wfRule)];
|
|
93
|
-
case 4:
|
|
94
|
-
_c.sent();
|
|
95
|
-
_c.label = 5;
|
|
96
|
-
case 5:
|
|
97
|
-
wfRules_1_1 = wfRules_1.next();
|
|
98
|
-
return [3, 3];
|
|
99
|
-
case 6: return [3, 9];
|
|
100
|
-
case 7:
|
|
101
|
-
e_1_1 = _c.sent();
|
|
102
|
-
e_1 = { error: e_1_1 };
|
|
103
|
-
return [3, 9];
|
|
104
|
-
case 8:
|
|
105
|
-
try {
|
|
106
|
-
if (wfRules_1_1 && !wfRules_1_1.done && (_a = wfRules_1.return)) _a.call(wfRules_1);
|
|
107
|
-
}
|
|
108
|
-
finally { if (e_1) throw e_1.error; }
|
|
109
|
-
return [7];
|
|
110
|
-
case 9:
|
|
111
|
-
if (fromRuleId) {
|
|
112
|
-
if (!this.counter[fromRuleId]) {
|
|
113
|
-
this.counter[fromRuleId] = 0;
|
|
114
|
-
}
|
|
115
|
-
this.counter[fromRuleId]++;
|
|
116
|
-
if (this.counter[fromRuleId] > MAX_COUNT) {
|
|
117
|
-
return [2];
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
_c.label = 10;
|
|
121
|
-
case 10:
|
|
122
|
-
_c.trys.push([10, 16, 17, 18]);
|
|
123
|
-
allTargets_1 = tslib_1.__values(allTargets), allTargets_1_1 = allTargets_1.next();
|
|
124
|
-
_c.label = 11;
|
|
125
|
-
case 11:
|
|
126
|
-
if (!!allTargets_1_1.done) return [3, 15];
|
|
127
|
-
target = allTargets_1_1.value;
|
|
128
|
-
return [4, (0, index_1.getObject)(target.object_name).findOne(target.record_id, null)];
|
|
129
|
-
case 12:
|
|
130
|
-
targetRecord = _c.sent();
|
|
131
|
-
return [4, this.runObjectWorkflowRules(target.object_name, event, targetRecord, userSession, target.previous_record, target.from_rule_id)];
|
|
132
|
-
case 13:
|
|
133
|
-
_c.sent();
|
|
134
|
-
_c.label = 14;
|
|
135
|
-
case 14:
|
|
136
|
-
allTargets_1_1 = allTargets_1.next();
|
|
137
|
-
return [3, 11];
|
|
138
|
-
case 15: return [3, 18];
|
|
139
|
-
case 16:
|
|
140
|
-
e_2_1 = _c.sent();
|
|
141
|
-
e_2 = { error: e_2_1 };
|
|
142
|
-
return [3, 18];
|
|
143
|
-
case 17:
|
|
144
|
-
try {
|
|
145
|
-
if (allTargets_1_1 && !allTargets_1_1.done && (_b = allTargets_1.return)) _b.call(allTargets_1);
|
|
146
|
-
}
|
|
147
|
-
finally { if (e_2) throw e_2.error; }
|
|
148
|
-
return [7];
|
|
149
|
-
case 18: return [2];
|
|
150
|
-
}
|
|
26
|
+
async run() {
|
|
27
|
+
await this.runObjectWorkflowRules(this.object_name, this.event, this.record, this.user_session, this.previous_record);
|
|
28
|
+
}
|
|
29
|
+
async runObjectWorkflowRules(objectName, event, record, userSession, previousRecord, fromRuleId) {
|
|
30
|
+
if (!_.include(['insert', 'update'], event) || !record) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let filters = [['object_name', '=', objectName], ['active', '=', true]];
|
|
34
|
+
if (fromRuleId) {
|
|
35
|
+
filters.push(['_id', '<>', fromRuleId]);
|
|
36
|
+
}
|
|
37
|
+
switch (event) {
|
|
38
|
+
case 'insert':
|
|
39
|
+
filters.push([['trigger_type', '=', 'onCreateOnly'], 'or', ['trigger_type', '=', 'onAllChanges'], 'or', ['trigger_type', '=', 'onCreateOrTriggeringUpdate']]);
|
|
40
|
+
break;
|
|
41
|
+
case 'update':
|
|
42
|
+
filters.push([['trigger_type', '=', 'onAllChanges'], 'or', ['trigger_type', '=', 'onCreateOrTriggeringUpdate']]);
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
let allTargets = [];
|
|
48
|
+
let tempTargets = [];
|
|
49
|
+
const wfRules = await (0, index_1.getMetadata)('workflow_rule').find(filters, record.space);
|
|
50
|
+
for (const wfRule of wfRules) {
|
|
51
|
+
if (wfRule.trigger_type === 'onCreateOrTriggeringUpdate') {
|
|
52
|
+
tempTargets = await runWFRule(wfRule, record, userSession, previousRecord);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
tempTargets = await runWFRule(wfRule, record, userSession);
|
|
56
|
+
}
|
|
57
|
+
tempTargets.forEach((target) => {
|
|
58
|
+
target.from_rule_id = wfRule._id;
|
|
151
59
|
});
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
switch (_a.label) {
|
|
162
|
-
case 0:
|
|
163
|
-
previousIsTrue = false;
|
|
164
|
-
targets = [];
|
|
165
|
-
if (!previousRecord) return [3, 2];
|
|
166
|
-
return [4, (0, formula_1.computeFormula)(rule.formula, rule.object_name, previousRecord, userSession)];
|
|
167
|
-
case 1:
|
|
168
|
-
previousIsTrue = _a.sent();
|
|
169
|
-
_a.label = 2;
|
|
170
|
-
case 2:
|
|
171
|
-
if (!!previousIsTrue) return [3, 7];
|
|
172
|
-
return [4, (0, formula_1.computeFormula)(rule.formula, rule.object_name, record, userSession)];
|
|
173
|
-
case 3:
|
|
174
|
-
isTrue = _a.sent();
|
|
175
|
-
if (!isTrue) return [3, 7];
|
|
176
|
-
return [4, (0, field_updates_1.runFieldUpdateActions)(rule.updates_field_actions, record._id, userSession, record.space)];
|
|
177
|
-
case 4:
|
|
178
|
-
targets = _a.sent();
|
|
179
|
-
return [4, (0, workflow_notifications_1.runWorkflowNotifyActions)(rule.workflow_notifications_actions, record._id, userSession, record.space)];
|
|
180
|
-
case 5:
|
|
181
|
-
_a.sent();
|
|
182
|
-
return [4, (0, workflow_outbound_messages_1.runWorkflowOutboundMessageActions)(rule.workflow_outbound_messages_actions, record._id, userSession, record.space)];
|
|
183
|
-
case 6:
|
|
184
|
-
_a.sent();
|
|
185
|
-
_a.label = 7;
|
|
186
|
-
case 7: return [2, targets];
|
|
60
|
+
allTargets = allTargets.concat(tempTargets);
|
|
61
|
+
}
|
|
62
|
+
if (fromRuleId) {
|
|
63
|
+
if (!this.counter[fromRuleId]) {
|
|
64
|
+
this.counter[fromRuleId] = 0;
|
|
65
|
+
}
|
|
66
|
+
this.counter[fromRuleId]++;
|
|
67
|
+
if (this.counter[fromRuleId] > MAX_COUNT) {
|
|
68
|
+
return;
|
|
187
69
|
}
|
|
188
|
-
}
|
|
189
|
-
|
|
70
|
+
}
|
|
71
|
+
for (const target of allTargets) {
|
|
72
|
+
const targetRecord = await (0, index_1.getObject)(target.object_name).findOne(target.record_id, null);
|
|
73
|
+
await this.runObjectWorkflowRules(target.object_name, event, targetRecord, userSession, target.previous_record, target.from_rule_id);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.WorkflowRulesRunner = WorkflowRulesRunner;
|
|
78
|
+
async function runWFRule(rule, record, userSession, previousRecord) {
|
|
79
|
+
let previousIsTrue = false;
|
|
80
|
+
let targets = [];
|
|
81
|
+
if (previousRecord) {
|
|
82
|
+
previousIsTrue = await (0, formula_1.computeFormula)(rule.formula, rule.object_name, previousRecord, userSession);
|
|
83
|
+
}
|
|
84
|
+
if (!previousIsTrue) {
|
|
85
|
+
let isTrue = await (0, formula_1.computeFormula)(rule.formula, rule.object_name, record, userSession);
|
|
86
|
+
if (isTrue) {
|
|
87
|
+
targets = await (0, field_updates_1.runFieldUpdateActions)(rule.updates_field_actions, record._id, userSession, record.space);
|
|
88
|
+
await (0, workflow_notifications_1.runWorkflowNotifyActions)(rule.workflow_notifications_actions, record._id, userSession, record.space);
|
|
89
|
+
await (0, workflow_outbound_messages_1.runWorkflowOutboundMessageActions)(rule.workflow_outbound_messages_actions, record._id, userSession, record.space);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return targets;
|
|
190
93
|
}
|
|
191
94
|
//# sourceMappingURL=workflow_rule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_rule.js","sourceRoot":"","sources":["../../src/actions/workflow_rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow_rule.js","sourceRoot":"","sources":["../../src/actions/workflow_rule.ts"],"names":[],"mappings":"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"}
|
package/lib/broker.js
CHANGED
|
@@ -1,56 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Broker = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Broker.prototype.init = function (broker) {
|
|
4
|
+
class Broker {
|
|
5
|
+
broker;
|
|
6
|
+
init(broker) {
|
|
9
7
|
this.broker = broker;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var args = [];
|
|
21
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
22
|
-
args[_i - 1] = arguments[_i];
|
|
23
|
-
}
|
|
24
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
25
|
-
var _a;
|
|
26
|
-
return tslib_1.__generator(this, function (_b) {
|
|
27
|
-
switch (_b.label) {
|
|
28
|
-
case 0:
|
|
29
|
-
if (!this.broker) {
|
|
30
|
-
throw new Error("broker is not initialized");
|
|
31
|
-
}
|
|
32
|
-
return [4, (_a = this.broker).call.apply(_a, tslib_1.__spreadArray([method], tslib_1.__read(args), false))];
|
|
33
|
-
case 1: return [2, _b.sent()];
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
Broker.prototype.emit = function (name) {
|
|
39
|
-
var args = [];
|
|
40
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
41
|
-
args[_i - 1] = arguments[_i];
|
|
8
|
+
}
|
|
9
|
+
getOptions() {
|
|
10
|
+
return this.broker?.options;
|
|
11
|
+
}
|
|
12
|
+
getSettings() {
|
|
13
|
+
return this.getOptions()?.settings;
|
|
14
|
+
}
|
|
15
|
+
async call(method, ...args) {
|
|
16
|
+
if (!this.broker) {
|
|
17
|
+
throw new Error("broker is not initialized");
|
|
42
18
|
}
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
return Broker;
|
|
54
|
-
}());
|
|
19
|
+
return await this.broker.call(method, ...args);
|
|
20
|
+
}
|
|
21
|
+
async emit(name, ...args) {
|
|
22
|
+
return await this.broker.emit(name, ...args);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
55
25
|
exports.Broker = Broker;
|
|
56
26
|
//# sourceMappingURL=broker.js.map
|
package/lib/broker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IACf,MAAM,CAAM;IAEZ,IAAI,CAAC,MAAW;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;IAChC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI;QACtB,IAAG,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ;AAzBD,wBAyBC"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMongoFieldEncryptionConsts = getMongoFieldEncryptionConsts;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const mongodb_1 = require("mongodb");
|
|
5
|
+
const mongodb_uri_1 = require("mongodb-uri");
|
|
6
6
|
function getMongoFieldEncryptionConsts() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const MY_LOCAL_KEY = process.env.STEEDOS_CSFLE_MASTER_KEY;
|
|
8
|
+
const MONGO_URL = process.env.MONGO_URL;
|
|
9
|
+
const getKMSProviders = function getKMSProviders() {
|
|
10
10
|
return {
|
|
11
11
|
"local": {
|
|
12
12
|
"key": new mongodb_1.Binary(Buffer.from(MY_LOCAL_KEY, "base64"), 0)
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
const defaultUriObj = (0, mongodb_uri_1.parse)(MONGO_URL);
|
|
17
|
+
const keyVaultDb = process.env.STEEDOS_CSFLE_KEY_VAULT_DB || defaultUriObj.database;
|
|
18
|
+
const keyVaultCollection = process.env.STEEDOS_CSFLE_KEY_VAULT_COLLECTION || '__keystore';
|
|
19
|
+
const keyVaultNamespace = `${keyVaultDb}.${keyVaultCollection}`;
|
|
20
|
+
const connectionString = process.env.STEEDOS_CSFLE_MONGO_URL || process.env.MONGO_URL;
|
|
21
|
+
const altKeyName = process.env.STEEDOS_CSFLE_ALT_KEY_NAME || 'steedos';
|
|
22
22
|
return {
|
|
23
|
-
getKMSProviders
|
|
24
|
-
keyVaultDb
|
|
25
|
-
keyVaultCollection
|
|
26
|
-
keyVaultNamespace
|
|
27
|
-
connectionString
|
|
28
|
-
altKeyName
|
|
23
|
+
getKMSProviders,
|
|
24
|
+
keyVaultDb,
|
|
25
|
+
keyVaultCollection,
|
|
26
|
+
keyVaultNamespace,
|
|
27
|
+
connectionString,
|
|
28
|
+
altKeyName
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=mongosharedconst.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongosharedconst.js","sourceRoot":"","sources":["../../../src/driver/field-encrytion/mongosharedconst.ts"],"names":[],"mappings":";;AAaA,sEAiCC;AAtCD,
|
|
1
|
+
{"version":3,"file":"mongosharedconst.js","sourceRoot":"","sources":["../../../src/driver/field-encrytion/mongosharedconst.ts"],"names":[],"mappings":";;AAaA,sEAiCC;AAtCD,qCAAiC;AACjC,6CAAoC;AAIpC,SAAgB,6BAA6B;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAExC,MAAM,eAAe,GAAG,SAAS,eAAe;QAC5C,OAAO;YACH,OAAO,EAAE;gBACL,KAAK,EAAE,IAAI,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC5D;SACJ,CAAA;IACL,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,IAAA,mBAAK,EAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,aAAa,CAAC,QAAQ,CAAC;IAEpF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,YAAY,CAAC;IAE1F,MAAM,iBAAiB,GAAG,GAAG,UAAU,IAAI,kBAAkB,EAAE,CAAC;IAGhE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAEtF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,SAAS,CAAC;IAEvE,OAAO;QACH,eAAe;QACf,UAAU;QACV,kBAAkB;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,UAAU;KACb,CAAA;AACL,CAAC"}
|
package/lib/driver/format.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatRecord = formatRecord;
|
|
4
|
-
|
|
4
|
+
const _ = require("lodash");
|
|
5
5
|
function formatRecord(doc, objectConfig) {
|
|
6
6
|
if (!objectConfig) {
|
|
7
7
|
return doc;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
const fields = objectConfig.fields;
|
|
10
10
|
return _.mapValues(doc, function (value, key) {
|
|
11
|
-
|
|
11
|
+
let field = fields[key];
|
|
12
12
|
if (_.isString(value) && field && ["date", "datetime", "time"].indexOf(field.type) > -1) {
|
|
13
13
|
return new Date(value);
|
|
14
14
|
}
|
package/lib/driver/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/driver/format.ts"],"names":[],"mappings":";;AAuBA,oCAYC;AA1BD,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/driver/format.ts"],"names":[],"mappings":";;AAuBA,oCAYC;AA1BD,4BAA6B;AAc7B,SAAgB,YAAY,CAAC,GAAoB,EAAE,YAA+B;IAC9E,IAAG,CAAC,YAAY,EAAC,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,UAAS,KAAK,EAAE,GAAG;QACvC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;YACpF,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/lib/driver/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SteedosFieldDBType = exports.SteedosMeteorMongoDriver = exports.SteedosMySqlDriver = exports.SteedosOracleDriver = exports.SteedosPostgresDriver = exports.SteedosSqlServerDriver = exports.SteedosSqlite3Driver = exports.SteedosMongoDriver = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
var mongo_1 = require("./mongo");
|
|
6
6
|
Object.defineProperty(exports, "SteedosMongoDriver", { enumerable: true, get: function () { return mongo_1.SteedosMongoDriver; } });
|
|
7
7
|
var sqlite3_1 = require("./sqlite3");
|