@steedos/objectql 3.0.13-beta.8 → 3.0.13
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 +286 -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 +68 -86
- 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 +108 -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.d.ts +1 -0
- package/lib/types/list_view.js +37 -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 +2034 -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.d.ts +1 -0
- package/lib/util/index.js +80 -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/perf.d.ts +11 -0
- package/lib/util/perf.js +49 -0
- package/lib/util/perf.js.map +1 -0
- 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 +13 -14
package/lib/summary/core.js
CHANGED
|
@@ -1,137 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runCurrentObjectFieldSummaries = exports.updateQuotedByReferenceTosForSummaryType = exports.updateReferenceToFieldSummaryValue = exports.setReferenceToFieldSummaryValuesByReferenceToId = exports.getReferenceTosFieldSummaryValues = exports.updateReferenceTosFieldSummaryValue = exports.getQuotedByObjectFieldSummaryValues = exports.getSummaryAggregateGroups = exports.runQuotedByObjectFieldSummaries = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (!quotedByConfigs.length) {
|
|
28
|
-
return [2];
|
|
29
|
-
}
|
|
30
|
-
groupedQuotedByConfigs = _.groupBy(quotedByConfigs, function (config) { return config.object_name; });
|
|
31
|
-
_a = groupedQuotedByConfigs;
|
|
32
|
-
_b = [];
|
|
33
|
-
for (_c in _a)
|
|
34
|
-
_b.push(_c);
|
|
35
|
-
_i = 0;
|
|
36
|
-
_j.label = 3;
|
|
37
|
-
case 3:
|
|
38
|
-
if (!(_i < _b.length)) return [3, 16];
|
|
39
|
-
_c = _b[_i];
|
|
40
|
-
if (!(_c in _a)) return [3, 15];
|
|
41
|
-
masterObjectName = _c;
|
|
42
|
-
itemQuotedByConfigs = groupedQuotedByConfigs[masterObjectName];
|
|
43
|
-
docs = {};
|
|
44
|
-
_j.label = 4;
|
|
45
|
-
case 4:
|
|
46
|
-
_j.trys.push([4, 9, 10, 11]);
|
|
47
|
-
itemQuotedByConfigs_1 = (e_1 = void 0, tslib_1.__values(itemQuotedByConfigs)), itemQuotedByConfigs_1_1 = itemQuotedByConfigs_1.next();
|
|
48
|
-
_j.label = 5;
|
|
49
|
-
case 5:
|
|
50
|
-
if (!!itemQuotedByConfigs_1_1.done) return [3, 8];
|
|
51
|
-
config = itemQuotedByConfigs_1_1.value;
|
|
52
|
-
return [4, (0, exports.getQuotedByObjectFieldSummaryValues)(objectName, recordId, previousDoc, config, userSession)];
|
|
53
|
-
case 6:
|
|
54
|
-
values = _j.sent();
|
|
55
|
-
if (!_.isEmpty(values)) {
|
|
56
|
-
docs = _.defaultsDeep(values, docs);
|
|
57
|
-
}
|
|
58
|
-
_j.label = 7;
|
|
59
|
-
case 7:
|
|
60
|
-
itemQuotedByConfigs_1_1 = itemQuotedByConfigs_1.next();
|
|
61
|
-
return [3, 5];
|
|
62
|
-
case 8: return [3, 11];
|
|
63
|
-
case 9:
|
|
64
|
-
e_1_1 = _j.sent();
|
|
65
|
-
e_1 = { error: e_1_1 };
|
|
66
|
-
return [3, 11];
|
|
67
|
-
case 10:
|
|
68
|
-
try {
|
|
69
|
-
if (itemQuotedByConfigs_1_1 && !itemQuotedByConfigs_1_1.done && (_h = itemQuotedByConfigs_1.return)) _h.call(itemQuotedByConfigs_1);
|
|
70
|
-
}
|
|
71
|
-
finally { if (e_1) throw e_1.error; }
|
|
72
|
-
return [7];
|
|
73
|
-
case 11:
|
|
74
|
-
_d = docs;
|
|
75
|
-
_e = [];
|
|
76
|
-
for (_f in _d)
|
|
77
|
-
_e.push(_f);
|
|
78
|
-
_g = 0;
|
|
79
|
-
_j.label = 12;
|
|
80
|
-
case 12:
|
|
81
|
-
if (!(_g < _e.length)) return [3, 15];
|
|
82
|
-
_f = _e[_g];
|
|
83
|
-
if (!(_f in _d)) return [3, 14];
|
|
84
|
-
masterRecordId = _f;
|
|
85
|
-
return [4, (0, exports.updateReferenceToFieldSummaryValue)(masterRecordId, docs[masterRecordId], itemQuotedByConfigs[0], userSession)];
|
|
86
|
-
case 13:
|
|
87
|
-
_j.sent();
|
|
88
|
-
_j.label = 14;
|
|
89
|
-
case 14:
|
|
90
|
-
_g++;
|
|
91
|
-
return [3, 12];
|
|
92
|
-
case 15:
|
|
93
|
-
_i++;
|
|
94
|
-
return [3, 3];
|
|
95
|
-
case 16: return [2];
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const type_1 = require("./type");
|
|
6
|
+
const field_summary_1 = require("./field_summary");
|
|
7
|
+
const formula_1 = require("../formula");
|
|
8
|
+
const filters_1 = require("@steedos/filters");
|
|
9
|
+
const _ = require("lodash");
|
|
10
|
+
const metadata_registrar_1 = require("@steedos/metadata-registrar");
|
|
11
|
+
const runQuotedByObjectFieldSummaries = async function (objectName, recordId, previousDoc, userSession, options = {}) {
|
|
12
|
+
let { fieldNames, quotedByConfigs } = options;
|
|
13
|
+
if (!quotedByConfigs) {
|
|
14
|
+
quotedByConfigs = await (0, field_summary_1.getObjectQuotedByFieldSummaryConfigs)(objectName, fieldNames);
|
|
15
|
+
}
|
|
16
|
+
if (!quotedByConfigs.length) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
let groupedQuotedByConfigs = _.groupBy(quotedByConfigs, (config) => config.object_name);
|
|
20
|
+
for (const masterObjectName in groupedQuotedByConfigs) {
|
|
21
|
+
const itemQuotedByConfigs = groupedQuotedByConfigs[masterObjectName];
|
|
22
|
+
let docs = {};
|
|
23
|
+
for (const config of itemQuotedByConfigs) {
|
|
24
|
+
let values = await (0, exports.getQuotedByObjectFieldSummaryValues)(objectName, recordId, previousDoc, config, userSession);
|
|
25
|
+
if (!_.isEmpty(values)) {
|
|
26
|
+
docs = _.defaultsDeep(values, docs);
|
|
96
27
|
}
|
|
97
|
-
}
|
|
98
|
-
|
|
28
|
+
}
|
|
29
|
+
for (const masterRecordId in docs) {
|
|
30
|
+
await (0, exports.updateReferenceToFieldSummaryValue)(masterRecordId, docs[masterRecordId], itemQuotedByConfigs[0], userSession);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
99
33
|
};
|
|
100
34
|
exports.runQuotedByObjectFieldSummaries = runQuotedByObjectFieldSummaries;
|
|
101
|
-
|
|
35
|
+
const getSummaryAggregateGroupKey = (summary_type, summary_field) => {
|
|
102
36
|
return summary_type === type_1.SteedosSummaryTypeValue.COUNT ? type_1.SteedosSummaryTypeValue.COUNT : summary_field;
|
|
103
37
|
};
|
|
104
|
-
|
|
105
|
-
|
|
38
|
+
const getSummaryAggregateGroups = (summary_type, summary_field) => {
|
|
39
|
+
let group = {
|
|
106
40
|
_id: "summary_group"
|
|
107
41
|
};
|
|
108
|
-
|
|
109
|
-
|
|
42
|
+
const addFields = {};
|
|
43
|
+
const groupKey = getSummaryAggregateGroupKey(summary_type, summary_field);
|
|
110
44
|
switch (summary_type) {
|
|
111
45
|
case type_1.SteedosSummaryTypeValue.COUNT:
|
|
112
46
|
group[groupKey] = { $sum: 1 };
|
|
113
47
|
break;
|
|
114
48
|
case type_1.SteedosSummaryTypeValue.MAX:
|
|
115
|
-
group[groupKey] = { $max:
|
|
49
|
+
group[groupKey] = { $max: `$${summary_field}` };
|
|
116
50
|
break;
|
|
117
51
|
case type_1.SteedosSummaryTypeValue.MIN:
|
|
118
|
-
group[groupKey] = { $min:
|
|
52
|
+
group[groupKey] = { $min: `$${summary_field}` };
|
|
119
53
|
break;
|
|
120
54
|
case type_1.SteedosSummaryTypeValue.SUM:
|
|
121
55
|
group[groupKey] = {
|
|
122
56
|
$sum: {
|
|
123
|
-
$toDecimal:
|
|
57
|
+
$toDecimal: `$${summary_field}`
|
|
124
58
|
}
|
|
125
59
|
};
|
|
126
60
|
addFields[summary_field] = {
|
|
127
|
-
$toDouble:
|
|
61
|
+
$toDouble: `$${summary_field}`
|
|
128
62
|
};
|
|
129
63
|
break;
|
|
130
64
|
case type_1.SteedosSummaryTypeValue.AVG:
|
|
131
|
-
group[groupKey] = { $avg:
|
|
65
|
+
group[groupKey] = { $avg: `$${summary_field}` };
|
|
132
66
|
break;
|
|
133
67
|
}
|
|
134
|
-
|
|
68
|
+
const aggregation = [{
|
|
135
69
|
$group: group
|
|
136
70
|
}];
|
|
137
71
|
if (!_.isEmpty(addFields)) {
|
|
@@ -142,151 +76,91 @@ var getSummaryAggregateGroups = function (summary_type, summary_field) {
|
|
|
142
76
|
return aggregation;
|
|
143
77
|
};
|
|
144
78
|
exports.getSummaryAggregateGroups = getSummaryAggregateGroups;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
previousReferenceToId = previousDoc && previousDoc[reference_to_field];
|
|
159
|
-
if (referenceToId) {
|
|
160
|
-
referenceToIds.push(referenceToId);
|
|
161
|
-
if (previousReferenceToId && previousReferenceToId != referenceToId) {
|
|
162
|
-
referenceToIds.push(previousReferenceToId);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
if (previousReferenceToId) {
|
|
167
|
-
referenceToIds.push(previousReferenceToId);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
if (!referenceToIds.length) {
|
|
171
|
-
return [2];
|
|
172
|
-
}
|
|
173
|
-
return [4, (0, exports.getReferenceTosFieldSummaryValues)(referenceToIds, fieldSummaryConfig, userSession)];
|
|
174
|
-
case 2: return [2, _a.sent()];
|
|
79
|
+
const getQuotedByObjectFieldSummaryValues = async (objectName, recordId, previousDoc, fieldSummaryConfig, userSession) => {
|
|
80
|
+
const { reference_to_field } = fieldSummaryConfig;
|
|
81
|
+
const referenceToRecord = await (0, index_1.getSteedosSchema)().getObject(objectName).findOne(recordId, { fields: [reference_to_field] });
|
|
82
|
+
let referenceToId;
|
|
83
|
+
if (referenceToRecord) {
|
|
84
|
+
referenceToId = referenceToRecord[reference_to_field];
|
|
85
|
+
}
|
|
86
|
+
let referenceToIds = [];
|
|
87
|
+
let previousReferenceToId = previousDoc && previousDoc[reference_to_field];
|
|
88
|
+
if (referenceToId) {
|
|
89
|
+
referenceToIds.push(referenceToId);
|
|
90
|
+
if (previousReferenceToId && previousReferenceToId != referenceToId) {
|
|
91
|
+
referenceToIds.push(previousReferenceToId);
|
|
175
92
|
}
|
|
176
|
-
}
|
|
177
|
-
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (previousReferenceToId) {
|
|
96
|
+
referenceToIds.push(previousReferenceToId);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (!referenceToIds.length) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
return await (0, exports.getReferenceTosFieldSummaryValues)(referenceToIds, fieldSummaryConfig, userSession);
|
|
103
|
+
};
|
|
178
104
|
exports.getQuotedByObjectFieldSummaryValues = getQuotedByObjectFieldSummaryValues;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
case 1:
|
|
185
|
-
docs = _d.sent();
|
|
186
|
-
if (!!_.isEmpty(docs)) return [3, 5];
|
|
187
|
-
_a = docs;
|
|
188
|
-
_b = [];
|
|
189
|
-
for (_c in _a)
|
|
190
|
-
_b.push(_c);
|
|
191
|
-
_i = 0;
|
|
192
|
-
_d.label = 2;
|
|
193
|
-
case 2:
|
|
194
|
-
if (!(_i < _b.length)) return [3, 5];
|
|
195
|
-
_c = _b[_i];
|
|
196
|
-
if (!(_c in _a)) return [3, 4];
|
|
197
|
-
masterRecordId = _c;
|
|
198
|
-
return [4, (0, exports.updateReferenceToFieldSummaryValue)(masterRecordId, docs[masterRecordId], fieldSummaryConfig, userSession)];
|
|
199
|
-
case 3:
|
|
200
|
-
_d.sent();
|
|
201
|
-
_d.label = 4;
|
|
202
|
-
case 4:
|
|
203
|
-
_i++;
|
|
204
|
-
return [3, 2];
|
|
205
|
-
case 5: return [2];
|
|
105
|
+
const updateReferenceTosFieldSummaryValue = async (referenceToIds, fieldSummaryConfig, userSession) => {
|
|
106
|
+
let docs = await (0, exports.getReferenceTosFieldSummaryValues)(referenceToIds, fieldSummaryConfig, userSession);
|
|
107
|
+
if (!_.isEmpty(docs)) {
|
|
108
|
+
for (const masterRecordId in docs) {
|
|
109
|
+
await (0, exports.updateReferenceToFieldSummaryValue)(masterRecordId, docs[masterRecordId], fieldSummaryConfig, userSession);
|
|
206
110
|
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
209
113
|
exports.updateReferenceTosFieldSummaryValue = updateReferenceTosFieldSummaryValue;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
}
|
|
233
|
-
referenceToFilters = [[reference_to_field, "=", referenceToId]];
|
|
234
|
-
aggregateFilters = referenceToFilters;
|
|
235
|
-
if (summary_filters && summary_filters.length) {
|
|
236
|
-
if (typeof summary_filters === "string") {
|
|
237
|
-
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(referenceToFilters);
|
|
238
|
-
aggregateFilters = "(".concat(aggregateFilters, ") and (").concat(summary_filters, ")");
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
summaryObject = (0, metadata_registrar_1.getObjectConfig)(summary_object);
|
|
242
|
-
if (!summaryObject) {
|
|
243
|
-
throw new Error("The summary_object '".concat(summary_object, "' of the field '").concat(field_name, "' on the object '").concat(object_name, "' is not found in the default datasource."));
|
|
244
|
-
}
|
|
245
|
-
(0, index_1.processFilters)(summary_filters, summaryObject.fields);
|
|
246
|
-
aggregateFilters = [referenceToFilters, summary_filters];
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
if (userSession && aggregateFilters && !_.isString(aggregateFilters)) {
|
|
250
|
-
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(aggregateFilters, userSession);
|
|
251
|
-
}
|
|
252
|
-
return [4, (0, index_1.getSteedosSchema)().getObject(summary_object).directAggregate({
|
|
253
|
-
filters: aggregateFilters
|
|
254
|
-
}, aggregateGroups)];
|
|
255
|
-
case 3:
|
|
256
|
-
aggregateResults = _b.sent();
|
|
257
|
-
if (!(aggregateResults && aggregateResults.length)) return [3, 4];
|
|
258
|
-
groupKey = getSummaryAggregateGroupKey(summary_type, summary_field);
|
|
259
|
-
summarizedValue = aggregateResults[0][groupKey];
|
|
260
|
-
(0, exports.setReferenceToFieldSummaryValuesByReferenceToId)(referenceToId, field_name, summarizedValue, setDocs);
|
|
261
|
-
return [3, 6];
|
|
262
|
-
case 4: return [4, (0, index_1.getSteedosSchema)().getObject(object_name).findOne(referenceToId, { fields: ["_id"] })];
|
|
263
|
-
case 5:
|
|
264
|
-
masterRecord = _b.sent();
|
|
265
|
-
if (masterRecord) {
|
|
266
|
-
defaultValue = type_1.SteedosSummaryTypeBlankValue[summary_type];
|
|
267
|
-
(0, exports.setReferenceToFieldSummaryValuesByReferenceToId)(referenceToId, field_name, defaultValue, setDocs);
|
|
268
|
-
}
|
|
269
|
-
_b.label = 6;
|
|
270
|
-
case 6:
|
|
271
|
-
referenceToIds_1_1 = referenceToIds_1.next();
|
|
272
|
-
return [3, 2];
|
|
273
|
-
case 7: return [3, 10];
|
|
274
|
-
case 8:
|
|
275
|
-
e_2_1 = _b.sent();
|
|
276
|
-
e_2 = { error: e_2_1 };
|
|
277
|
-
return [3, 10];
|
|
278
|
-
case 9:
|
|
279
|
-
try {
|
|
280
|
-
if (referenceToIds_1_1 && !referenceToIds_1_1.done && (_a = referenceToIds_1.return)) _a.call(referenceToIds_1);
|
|
114
|
+
const getReferenceTosFieldSummaryValues = async (referenceToIds, fieldSummaryConfig, userSession) => {
|
|
115
|
+
const { reference_to_field, summary_type, summary_field, summary_object, object_name, summary_filters, field_name, reference_to_field_reference_to } = fieldSummaryConfig;
|
|
116
|
+
const setDocs = {};
|
|
117
|
+
if (!_.isArray(referenceToIds)) {
|
|
118
|
+
referenceToIds = [referenceToIds];
|
|
119
|
+
}
|
|
120
|
+
let aggregateGroups = (0, exports.getSummaryAggregateGroups)(summary_type, summary_field);
|
|
121
|
+
for (let referenceToId of referenceToIds) {
|
|
122
|
+
if (typeof referenceToId !== "string") {
|
|
123
|
+
referenceToId = referenceToId[reference_to_field_reference_to || "_id"];
|
|
124
|
+
}
|
|
125
|
+
let referenceToFilters = [[reference_to_field, "=", referenceToId]];
|
|
126
|
+
let aggregateFilters = referenceToFilters;
|
|
127
|
+
if (summary_filters && summary_filters.length) {
|
|
128
|
+
if (typeof summary_filters === "string") {
|
|
129
|
+
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(referenceToFilters);
|
|
130
|
+
aggregateFilters = `(${aggregateFilters}) and (${summary_filters})`;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
const summaryObject = (0, metadata_registrar_1.getObjectConfig)(summary_object);
|
|
134
|
+
if (!summaryObject) {
|
|
135
|
+
throw new Error(`The summary_object '${summary_object}' of the field '${field_name}' on the object '${object_name}' is not found in the default datasource.`);
|
|
281
136
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
137
|
+
(0, index_1.processFilters)(summary_filters, summaryObject.fields);
|
|
138
|
+
aggregateFilters = [referenceToFilters, summary_filters];
|
|
139
|
+
}
|
|
285
140
|
}
|
|
286
|
-
|
|
287
|
-
|
|
141
|
+
if (userSession && aggregateFilters && !_.isString(aggregateFilters)) {
|
|
142
|
+
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(aggregateFilters, userSession);
|
|
143
|
+
}
|
|
144
|
+
const aggregateResults = await (0, index_1.getSteedosSchema)().getObject(summary_object).directAggregate({
|
|
145
|
+
filters: aggregateFilters
|
|
146
|
+
}, aggregateGroups);
|
|
147
|
+
if (aggregateResults && aggregateResults.length) {
|
|
148
|
+
const groupKey = getSummaryAggregateGroupKey(summary_type, summary_field);
|
|
149
|
+
let summarizedValue = aggregateResults[0][groupKey];
|
|
150
|
+
(0, exports.setReferenceToFieldSummaryValuesByReferenceToId)(referenceToId, field_name, summarizedValue, setDocs);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
const masterRecord = await (0, index_1.getSteedosSchema)().getObject(object_name).findOne(referenceToId, { fields: ["_id"] });
|
|
154
|
+
if (masterRecord) {
|
|
155
|
+
let defaultValue = type_1.SteedosSummaryTypeBlankValue[summary_type];
|
|
156
|
+
(0, exports.setReferenceToFieldSummaryValuesByReferenceToId)(referenceToId, field_name, defaultValue, setDocs);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return setDocs;
|
|
161
|
+
};
|
|
288
162
|
exports.getReferenceTosFieldSummaryValues = getReferenceTosFieldSummaryValues;
|
|
289
|
-
|
|
163
|
+
const setReferenceToFieldSummaryValuesByReferenceToId = (referenceToId, field_name, value, setDocs) => {
|
|
290
164
|
if (!setDocs[referenceToId]) {
|
|
291
165
|
setDocs[referenceToId] = {};
|
|
292
166
|
}
|
|
@@ -294,122 +168,55 @@ var setReferenceToFieldSummaryValuesByReferenceToId = function (referenceToId, f
|
|
|
294
168
|
return setDocs;
|
|
295
169
|
};
|
|
296
170
|
exports.setReferenceToFieldSummaryValuesByReferenceToId = setReferenceToFieldSummaryValuesByReferenceToId;
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
referenceToRecords = _a.sent();
|
|
307
|
-
if (referenceToRecords && referenceToRecords.length) {
|
|
308
|
-
referenceToId = referenceToRecords[0]["_id"];
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
return [2];
|
|
312
|
-
}
|
|
313
|
-
_a.label = 2;
|
|
314
|
-
case 2: return [4, (0, index_1.getSteedosSchema)().getObject(object_name).update(referenceToId, setDoc)];
|
|
315
|
-
case 3:
|
|
316
|
-
_a.sent();
|
|
317
|
-
return [2];
|
|
171
|
+
const updateReferenceToFieldSummaryValue = async (referenceToId, setDoc, fieldSummaryConfig, userSession) => {
|
|
172
|
+
const { field_name, object_name, reference_to_field_reference_to } = fieldSummaryConfig;
|
|
173
|
+
if (reference_to_field_reference_to && reference_to_field_reference_to !== "_id") {
|
|
174
|
+
const referenceToRecords = await (0, index_1.getSteedosSchema)().getObject(object_name).directFind({ filters: [reference_to_field_reference_to, "=", referenceToId] });
|
|
175
|
+
if (referenceToRecords && referenceToRecords.length) {
|
|
176
|
+
referenceToId = referenceToRecords[0]["_id"];
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
return;
|
|
318
180
|
}
|
|
319
|
-
}
|
|
320
|
-
|
|
181
|
+
}
|
|
182
|
+
await (0, index_1.getSteedosSchema)().getObject(object_name).update(referenceToId, setDoc);
|
|
183
|
+
};
|
|
321
184
|
exports.updateReferenceToFieldSummaryValue = updateReferenceToFieldSummaryValue;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
332
|
-
fieldNames = [field_name];
|
|
333
|
-
_b.label = 1;
|
|
334
|
-
case 1:
|
|
335
|
-
_b.trys.push([1, 7, 8, 9]);
|
|
336
|
-
referenceToIds_2 = tslib_1.__values(referenceToIds), referenceToIds_2_1 = referenceToIds_2.next();
|
|
337
|
-
_b.label = 2;
|
|
338
|
-
case 2:
|
|
339
|
-
if (!!referenceToIds_2_1.done) return [3, 6];
|
|
340
|
-
referenceToId = referenceToIds_2_1.value;
|
|
341
|
-
if (typeof referenceToId !== "string") {
|
|
342
|
-
referenceToId = referenceToId._id;
|
|
343
|
-
}
|
|
344
|
-
return [4, (0, formula_1.runQuotedByObjectFieldFormulas)(object_name, referenceToId, userSession, {
|
|
345
|
-
fieldNames: fieldNames
|
|
346
|
-
})];
|
|
347
|
-
case 3:
|
|
348
|
-
_b.sent();
|
|
349
|
-
return [4, (0, exports.runQuotedByObjectFieldSummaries)(object_name, referenceToId, null, userSession, {
|
|
350
|
-
fieldNames: fieldNames
|
|
351
|
-
})];
|
|
352
|
-
case 4:
|
|
353
|
-
_b.sent();
|
|
354
|
-
_b.label = 5;
|
|
355
|
-
case 5:
|
|
356
|
-
referenceToIds_2_1 = referenceToIds_2.next();
|
|
357
|
-
return [3, 2];
|
|
358
|
-
case 6: return [3, 9];
|
|
359
|
-
case 7:
|
|
360
|
-
e_3_1 = _b.sent();
|
|
361
|
-
e_3 = { error: e_3_1 };
|
|
362
|
-
return [3, 9];
|
|
363
|
-
case 8:
|
|
364
|
-
try {
|
|
365
|
-
if (referenceToIds_2_1 && !referenceToIds_2_1.done && (_a = referenceToIds_2.return)) _a.call(referenceToIds_2);
|
|
366
|
-
}
|
|
367
|
-
finally { if (e_3) throw e_3.error; }
|
|
368
|
-
return [7];
|
|
369
|
-
case 9: return [2];
|
|
185
|
+
const updateQuotedByReferenceTosForSummaryType = async (referenceToIds, fieldSummaryConfig, userSession) => {
|
|
186
|
+
const { field_name, object_name } = fieldSummaryConfig;
|
|
187
|
+
if (!_.isArray(referenceToIds)) {
|
|
188
|
+
referenceToIds = [referenceToIds];
|
|
189
|
+
}
|
|
190
|
+
const fieldNames = [field_name];
|
|
191
|
+
for (let referenceToId of referenceToIds) {
|
|
192
|
+
if (typeof referenceToId !== "string") {
|
|
193
|
+
referenceToId = referenceToId._id;
|
|
370
194
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
var configs, setDoc, configs_1, configs_1_1, config, defaultValue;
|
|
377
|
-
var e_4, _a;
|
|
378
|
-
return tslib_1.__generator(this, function (_b) {
|
|
379
|
-
switch (_b.label) {
|
|
380
|
-
case 0: return [4, (0, field_summary_1.getObjectFieldSummaryConfigs)(objectName)];
|
|
381
|
-
case 1:
|
|
382
|
-
configs = _b.sent();
|
|
383
|
-
if (!configs.length) {
|
|
384
|
-
return [2];
|
|
385
|
-
}
|
|
386
|
-
setDoc = {};
|
|
387
|
-
try {
|
|
388
|
-
for (configs_1 = tslib_1.__values(configs), configs_1_1 = configs_1.next(); !configs_1_1.done; configs_1_1 = configs_1.next()) {
|
|
389
|
-
config = configs_1_1.value;
|
|
390
|
-
defaultValue = type_1.SteedosSummaryTypeBlankValue[config.summary_type];
|
|
391
|
-
if (defaultValue != null) {
|
|
392
|
-
setDoc[config.field_name] = defaultValue;
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
397
|
-
finally {
|
|
398
|
-
try {
|
|
399
|
-
if (configs_1_1 && !configs_1_1.done && (_a = configs_1.return)) _a.call(configs_1);
|
|
400
|
-
}
|
|
401
|
-
finally { if (e_4) throw e_4.error; }
|
|
402
|
-
}
|
|
403
|
-
if (_.isEmpty(setDoc)) {
|
|
404
|
-
return [2];
|
|
405
|
-
}
|
|
406
|
-
return [4, (0, index_1.getSteedosSchema)().getObject(objectName).directUpdate(recordId, setDoc)];
|
|
407
|
-
case 2:
|
|
408
|
-
_b.sent();
|
|
409
|
-
return [2];
|
|
410
|
-
}
|
|
195
|
+
await (0, formula_1.runQuotedByObjectFieldFormulas)(object_name, referenceToId, userSession, {
|
|
196
|
+
fieldNames
|
|
197
|
+
});
|
|
198
|
+
await (0, exports.runQuotedByObjectFieldSummaries)(object_name, referenceToId, null, userSession, {
|
|
199
|
+
fieldNames
|
|
411
200
|
});
|
|
412
|
-
}
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
exports.updateQuotedByReferenceTosForSummaryType = updateQuotedByReferenceTosForSummaryType;
|
|
204
|
+
const runCurrentObjectFieldSummaries = async function (objectName, recordId) {
|
|
205
|
+
const configs = await (0, field_summary_1.getObjectFieldSummaryConfigs)(objectName);
|
|
206
|
+
if (!configs.length) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
let setDoc = {};
|
|
210
|
+
for (const config of configs) {
|
|
211
|
+
let defaultValue = type_1.SteedosSummaryTypeBlankValue[config.summary_type];
|
|
212
|
+
if (defaultValue != null) {
|
|
213
|
+
setDoc[config.field_name] = defaultValue;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (_.isEmpty(setDoc)) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
await (0, index_1.getSteedosSchema)().getObject(objectName).directUpdate(recordId, setDoc);
|
|
413
220
|
};
|
|
414
221
|
exports.runCurrentObjectFieldSummaries = runCurrentObjectFieldSummaries;
|
|
415
222
|
//# sourceMappingURL=core.js.map
|
package/lib/summary/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":"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"}
|