@steedos/objectql 3.0.13-beta.5 → 3.0.13-beta.50

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.
Files changed (136) hide show
  1. package/lib/actions/field_updates.js +84 -153
  2. package/lib/actions/field_updates.js.map +1 -1
  3. package/lib/actions/index.js +1 -1
  4. package/lib/actions/workflow_notifications.js +50 -111
  5. package/lib/actions/workflow_notifications.js.map +1 -1
  6. package/lib/actions/workflow_outbound_messages.js +43 -94
  7. package/lib/actions/workflow_outbound_messages.js.map +1 -1
  8. package/lib/actions/workflow_rule.js +80 -177
  9. package/lib/actions/workflow_rule.js.map +1 -1
  10. package/lib/broker.js +19 -49
  11. package/lib/broker.js.map +1 -1
  12. package/lib/driver/field-encrytion/index.js +1 -1
  13. package/lib/driver/field-encrytion/mongosharedconst.js +17 -17
  14. package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
  15. package/lib/driver/format.js +3 -3
  16. package/lib/driver/format.js.map +1 -1
  17. package/lib/driver/index.js +1 -1
  18. package/lib/driver/metadata.js +286 -387
  19. package/lib/driver/metadata.js.map +1 -1
  20. package/lib/driver/metadataOld.js +104 -105
  21. package/lib/driver/metadataOld.js.map +1 -1
  22. package/lib/driver/meteorMongo.js +5 -8
  23. package/lib/driver/meteorMongo.js.map +1 -1
  24. package/lib/driver/mongo.js +321 -506
  25. package/lib/driver/mongo.js.map +1 -1
  26. package/lib/driver/mysql.js +16 -20
  27. package/lib/driver/mysql.js.map +1 -1
  28. package/lib/driver/oracle.js +25 -38
  29. package/lib/driver/oracle.js.map +1 -1
  30. package/lib/driver/postgres.js +16 -20
  31. package/lib/driver/postgres.js.map +1 -1
  32. package/lib/driver/sqlite3.js +15 -19
  33. package/lib/driver/sqlite3.js.map +1 -1
  34. package/lib/driver/sqlserver.js +20 -33
  35. package/lib/driver/sqlserver.js.map +1 -1
  36. package/lib/errors/index.js +10 -11
  37. package/lib/errors/index.js.map +1 -1
  38. package/lib/formula/core.js +307 -594
  39. package/lib/formula/core.js.map +1 -1
  40. package/lib/formula/field_formula.js +80 -126
  41. package/lib/formula/field_formula.js.map +1 -1
  42. package/lib/formula/index.js +56 -97
  43. package/lib/formula/index.js.map +1 -1
  44. package/lib/formula/params.js +11 -11
  45. package/lib/formula/params.js.map +1 -1
  46. package/lib/formula/recompute.js +41 -166
  47. package/lib/formula/recompute.js.map +1 -1
  48. package/lib/formula/simple_params.js +12 -12
  49. package/lib/formula/simple_params.js.map +1 -1
  50. package/lib/formula/util.js +43 -67
  51. package/lib/formula/util.js.map +1 -1
  52. package/lib/functions/function.js +62 -87
  53. package/lib/functions/function.js.map +1 -1
  54. package/lib/index.js +3 -3
  55. package/lib/index.js.map +1 -1
  56. package/lib/services/datasourceServiceFactory.js +77 -111
  57. package/lib/services/datasourceServiceFactory.js.map +1 -1
  58. package/lib/services/index.js +3 -3
  59. package/lib/services/index.js.map +1 -1
  60. package/lib/summary/core.js +162 -355
  61. package/lib/summary/core.js.map +1 -1
  62. package/lib/summary/field_summary.js +44 -71
  63. package/lib/summary/field_summary.js.map +1 -1
  64. package/lib/summary/index.js +65 -80
  65. package/lib/summary/index.js.map +1 -1
  66. package/lib/summary/recompute.js +19 -47
  67. package/lib/summary/recompute.js.map +1 -1
  68. package/lib/triggers/trigger.js +101 -142
  69. package/lib/triggers/trigger.js.map +1 -1
  70. package/lib/ts-types/index.js +1 -1
  71. package/lib/typeorm/driver.js +250 -450
  72. package/lib/typeorm/driver.js.map +1 -1
  73. package/lib/typeorm/index.js +1 -1
  74. package/lib/typeorm/util.js +28 -28
  75. package/lib/typeorm/util.js.map +1 -1
  76. package/lib/types/action.js +24 -33
  77. package/lib/types/action.js.map +1 -1
  78. package/lib/types/app.js +210 -355
  79. package/lib/types/app.js.map +1 -1
  80. package/lib/types/connection.js +42 -78
  81. package/lib/types/connection.js.map +1 -1
  82. package/lib/types/dashboard.js +56 -77
  83. package/lib/types/dashboard.js.map +1 -1
  84. package/lib/types/datasource.js +359 -705
  85. package/lib/types/datasource.js.map +1 -1
  86. package/lib/types/defaultValue.js +53 -65
  87. package/lib/types/defaultValue.js.map +1 -1
  88. package/lib/types/field.js +165 -137
  89. package/lib/types/field.js.map +1 -1
  90. package/lib/types/field_permission.js +35 -66
  91. package/lib/types/field_permission.js.map +1 -1
  92. package/lib/types/index.js +1 -1
  93. package/lib/types/list_view.js +36 -43
  94. package/lib/types/list_view.js.map +1 -1
  95. package/lib/types/metadata.js +6 -6
  96. package/lib/types/metadata.js.map +1 -1
  97. package/lib/types/method_base.js +95 -128
  98. package/lib/types/method_base.js.map +1 -1
  99. package/lib/types/object.js +2005 -3015
  100. package/lib/types/object.js.map +1 -1
  101. package/lib/types/object_events.js +24 -37
  102. package/lib/types/object_events.js.map +1 -1
  103. package/lib/types/object_layouts.js +15 -38
  104. package/lib/types/object_layouts.js.map +1 -1
  105. package/lib/types/object_permission.js +99 -85
  106. package/lib/types/object_permission.js.map +1 -1
  107. package/lib/types/report.js +70 -98
  108. package/lib/types/report.js.map +1 -1
  109. package/lib/types/restrictionRule.js +47 -96
  110. package/lib/types/restrictionRule.js.map +1 -1
  111. package/lib/types/schema.js +115 -177
  112. package/lib/types/schema.js.map +1 -1
  113. package/lib/types/shareRule.js +53 -102
  114. package/lib/types/shareRule.js.map +1 -1
  115. package/lib/types/trigger.js +43 -56
  116. package/lib/types/trigger.js.map +1 -1
  117. package/lib/types/validation_rules.js +18 -56
  118. package/lib/types/validation_rules.js.map +1 -1
  119. package/lib/util/convert.js +24 -24
  120. package/lib/util/convert.js.map +1 -1
  121. package/lib/util/field.js +16 -28
  122. package/lib/util/field.js.map +1 -1
  123. package/lib/util/function_expression.js +7 -8
  124. package/lib/util/function_expression.js.map +1 -1
  125. package/lib/util/index.js +79 -97
  126. package/lib/util/index.js.map +1 -1
  127. package/lib/util/locale.js +4 -4
  128. package/lib/util/locale.js.map +1 -1
  129. package/lib/util/permission_shares.js +7 -7
  130. package/lib/util/permission_shares.js.map +1 -1
  131. package/lib/util/suffix.js +19 -19
  132. package/lib/util/suffix.js.map +1 -1
  133. package/lib/util/transform.js +1 -1
  134. package/lib/validators/index.js +10 -10
  135. package/lib/validators/index.js.map +1 -1
  136. package/package.json +12 -12
@@ -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
- var tslib_1 = require("tslib");
5
- var index_1 = require("../index");
6
- var type_1 = require("./type");
7
- var field_summary_1 = require("./field_summary");
8
- var formula_1 = require("../formula");
9
- var filters_1 = require("@steedos/filters");
10
- var _ = require("lodash");
11
- var metadata_registrar_1 = require("@steedos/metadata-registrar");
12
- var runQuotedByObjectFieldSummaries = function (objectName_1, recordId_1, previousDoc_1, userSession_1) {
13
- return tslib_1.__awaiter(this, arguments, void 0, function (objectName, recordId, previousDoc, userSession, options) {
14
- var fieldNames, quotedByConfigs, groupedQuotedByConfigs, _a, _b, _c, _i, masterObjectName, itemQuotedByConfigs, docs, itemQuotedByConfigs_1, itemQuotedByConfigs_1_1, config, values, e_1_1, _d, _e, _f, _g, masterRecordId;
15
- var e_1, _h;
16
- if (options === void 0) { options = {}; }
17
- return tslib_1.__generator(this, function (_j) {
18
- switch (_j.label) {
19
- case 0:
20
- fieldNames = options.fieldNames, quotedByConfigs = options.quotedByConfigs;
21
- if (!!quotedByConfigs) return [3, 2];
22
- return [4, (0, field_summary_1.getObjectQuotedByFieldSummaryConfigs)(objectName, fieldNames)];
23
- case 1:
24
- quotedByConfigs = _j.sent();
25
- _j.label = 2;
26
- case 2:
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
- var getSummaryAggregateGroupKey = function (summary_type, summary_field) {
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
- var getSummaryAggregateGroups = function (summary_type, summary_field) {
105
- var group = {
38
+ const getSummaryAggregateGroups = (summary_type, summary_field) => {
39
+ let group = {
106
40
  _id: "summary_group"
107
41
  };
108
- var addFields = {};
109
- var groupKey = getSummaryAggregateGroupKey(summary_type, summary_field);
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: "$".concat(summary_field) };
49
+ group[groupKey] = { $max: `$${summary_field}` };
116
50
  break;
117
51
  case type_1.SteedosSummaryTypeValue.MIN:
118
- group[groupKey] = { $min: "$".concat(summary_field) };
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: "$".concat(summary_field)
57
+ $toDecimal: `$${summary_field}`
124
58
  }
125
59
  };
126
60
  addFields[summary_field] = {
127
- $toDouble: "$".concat(summary_field)
61
+ $toDouble: `$${summary_field}`
128
62
  };
129
63
  break;
130
64
  case type_1.SteedosSummaryTypeValue.AVG:
131
- group[groupKey] = { $avg: "$".concat(summary_field) };
65
+ group[groupKey] = { $avg: `$${summary_field}` };
132
66
  break;
133
67
  }
134
- var aggregation = [{
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
- var getQuotedByObjectFieldSummaryValues = function (objectName, recordId, previousDoc, fieldSummaryConfig, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
146
- var reference_to_field, referenceToRecord, referenceToId, referenceToIds, previousReferenceToId;
147
- return tslib_1.__generator(this, function (_a) {
148
- switch (_a.label) {
149
- case 0:
150
- reference_to_field = fieldSummaryConfig.reference_to_field;
151
- return [4, (0, index_1.getSteedosSchema)().getObject(objectName).findOne(recordId, { fields: [reference_to_field] })];
152
- case 1:
153
- referenceToRecord = _a.sent();
154
- if (referenceToRecord) {
155
- referenceToId = referenceToRecord[reference_to_field];
156
- }
157
- referenceToIds = [];
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
- var updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSummaryConfig, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
180
- var docs, _a, _b, _c, _i, masterRecordId;
181
- return tslib_1.__generator(this, function (_d) {
182
- switch (_d.label) {
183
- case 0: return [4, (0, exports.getReferenceTosFieldSummaryValues)(referenceToIds, fieldSummaryConfig, userSession)];
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
- var getReferenceTosFieldSummaryValues = function (referenceToIds, fieldSummaryConfig, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
211
- var reference_to_field, summary_type, summary_field, summary_object, object_name, summary_filters, field_name, reference_to_field_reference_to, setDocs, aggregateGroups, referenceToIds_1, referenceToIds_1_1, referenceToId, referenceToFilters, aggregateFilters, summaryObject, aggregateResults, groupKey, summarizedValue, masterRecord, defaultValue, e_2_1;
212
- var e_2, _a;
213
- return tslib_1.__generator(this, function (_b) {
214
- switch (_b.label) {
215
- case 0:
216
- reference_to_field = fieldSummaryConfig.reference_to_field, summary_type = fieldSummaryConfig.summary_type, summary_field = fieldSummaryConfig.summary_field, summary_object = fieldSummaryConfig.summary_object, object_name = fieldSummaryConfig.object_name, summary_filters = fieldSummaryConfig.summary_filters, field_name = fieldSummaryConfig.field_name, reference_to_field_reference_to = fieldSummaryConfig.reference_to_field_reference_to;
217
- setDocs = {};
218
- if (!_.isArray(referenceToIds)) {
219
- referenceToIds = [referenceToIds];
220
- }
221
- aggregateGroups = (0, exports.getSummaryAggregateGroups)(summary_type, summary_field);
222
- _b.label = 1;
223
- case 1:
224
- _b.trys.push([1, 8, 9, 10]);
225
- referenceToIds_1 = tslib_1.__values(referenceToIds), referenceToIds_1_1 = referenceToIds_1.next();
226
- _b.label = 2;
227
- case 2:
228
- if (!!referenceToIds_1_1.done) return [3, 7];
229
- referenceToId = referenceToIds_1_1.value;
230
- if (typeof referenceToId !== "string") {
231
- referenceToId = referenceToId[reference_to_field_reference_to || "_id"];
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
- finally { if (e_2) throw e_2.error; }
283
- return [7];
284
- case 10: return [2, setDocs];
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
- var setReferenceToFieldSummaryValuesByReferenceToId = function (referenceToId, field_name, value, setDocs) {
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
- var updateReferenceToFieldSummaryValue = function (referenceToId, setDoc, fieldSummaryConfig, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
298
- var field_name, object_name, reference_to_field_reference_to, referenceToRecords;
299
- return tslib_1.__generator(this, function (_a) {
300
- switch (_a.label) {
301
- case 0:
302
- field_name = fieldSummaryConfig.field_name, object_name = fieldSummaryConfig.object_name, reference_to_field_reference_to = fieldSummaryConfig.reference_to_field_reference_to;
303
- if (!(reference_to_field_reference_to && reference_to_field_reference_to !== "_id")) return [3, 2];
304
- return [4, (0, index_1.getSteedosSchema)().getObject(object_name).directFind({ filters: [reference_to_field_reference_to, "=", referenceToId] })];
305
- case 1:
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
- var updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fieldSummaryConfig, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
323
- var field_name, object_name, fieldNames, referenceToIds_2, referenceToIds_2_1, referenceToId, e_3_1;
324
- var e_3, _a;
325
- return tslib_1.__generator(this, function (_b) {
326
- switch (_b.label) {
327
- case 0:
328
- field_name = fieldSummaryConfig.field_name, object_name = fieldSummaryConfig.object_name;
329
- if (!_.isArray(referenceToIds)) {
330
- referenceToIds = [referenceToIds];
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
- exports.updateQuotedByReferenceTosForSummaryType = updateQuotedByReferenceTosForSummaryType;
374
- var runCurrentObjectFieldSummaries = function (objectName, recordId) {
375
- return tslib_1.__awaiter(this, void 0, void 0, function () {
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
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":"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"}