@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.
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 +283 -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
@@ -3,35 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFieldUpdateActionTargetObjectName = getFieldUpdateActionTargetObjectName;
4
4
  exports.runFieldUpdateAction = runFieldUpdateAction;
5
5
  exports.runFieldUpdateActions = runFieldUpdateActions;
6
- var tslib_1 = require("tslib");
7
- var index_1 = require("../index");
8
- var formula_1 = require("../formula");
9
- var summary_1 = require("../summary");
10
- var _ = require('underscore');
11
- var getFieldValue = function (action, recordId, userSession) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
12
- var _a;
13
- return tslib_1.__generator(this, function (_b) {
14
- switch (_b.label) {
15
- case 0:
16
- _a = action.operation;
17
- switch (_a) {
18
- case 'null': return [3, 1];
19
- case 'literal': return [3, 2];
20
- case 'formula': return [3, 3];
21
- }
22
- return [3, 5];
23
- case 1: return [2, null];
24
- case 2: return [2, action.literal_value];
25
- case 3: return [4, (0, index_1.computeFormula)(action.formula, action.object_name, recordId, userSession)];
26
- case 4: return [2, _b.sent()];
27
- case 5: return [2];
28
- }
29
- });
30
- }); };
6
+ const index_1 = require("../index");
7
+ const formula_1 = require("../formula");
8
+ const summary_1 = require("../summary");
9
+ const _ = require('underscore');
10
+ const getFieldValue = async (action, recordId, userSession) => {
11
+ switch (action.operation) {
12
+ case 'null':
13
+ return null;
14
+ case 'literal':
15
+ return action.literal_value;
16
+ case 'formula':
17
+ return await (0, index_1.computeFormula)(action.formula, action.object_name, recordId, userSession);
18
+ default:
19
+ return;
20
+ }
21
+ };
31
22
  function getFieldUpdateActionTargetObjectName(action) {
32
- var isCrossedObject = action.target_object != action.object_name;
23
+ const isCrossedObject = action.target_object != action.object_name;
33
24
  if (isCrossedObject) {
34
- var result = (0, index_1.getObject)(action.object_name).getField(action.target_object).reference_to;
25
+ let result = (0, index_1.getObject)(action.object_name).getField(action.target_object).reference_to;
35
26
  if (!_.isString(result)) {
36
27
  throw new index_1.SteedosError('target_object must be a string');
37
28
  }
@@ -41,133 +32,73 @@ function getFieldUpdateActionTargetObjectName(action) {
41
32
  return action.object_name;
42
33
  }
43
34
  }
44
- function runFieldUpdateAction(action, recordId, userSession) {
45
- return tslib_1.__awaiter(this, void 0, void 0, function () {
46
- var record, recordIdToUpdate, previousRecord, needToReevaluate, isCrossedObject, mainObjectName, _a, objectToUpdate, fieldToUpdate, newFieldValue;
47
- var _b, _c;
48
- return tslib_1.__generator(this, function (_d) {
49
- switch (_d.label) {
50
- case 0: return [4, (0, index_1.getObject)(action.object_name).findOne(recordId, null)];
51
- case 1:
52
- record = _d.sent();
53
- needToReevaluate = false;
54
- isCrossedObject = action.target_object != action.object_name;
55
- mainObjectName = getFieldUpdateActionTargetObjectName(action);
56
- if (!isCrossedObject) return [3, 4];
57
- recordIdToUpdate = record[action.target_object];
58
- _a = recordIdToUpdate;
59
- if (!_a) return [3, 3];
60
- return [4, (0, index_1.getObject)(mainObjectName).findOne(recordIdToUpdate, null)];
61
- case 2:
62
- _a = (_d.sent());
63
- _d.label = 3;
64
- case 3:
65
- previousRecord = _a;
66
- needToReevaluate = true;
67
- return [3, 5];
68
- case 4:
69
- recordIdToUpdate = record._id;
70
- previousRecord = record;
71
- needToReevaluate = action.reevaluate_on_change;
72
- _d.label = 5;
73
- case 5:
74
- objectToUpdate = (0, index_1.getObject)(mainObjectName);
75
- fieldToUpdate = objectToUpdate.getField(action.field_name);
76
- if (["formula", "summary", "autonumber"].indexOf(fieldToUpdate.type) > -1) {
77
- return [2, null];
78
- }
79
- return [4, getFieldValue(action, recordId, userSession)];
80
- case 6:
81
- newFieldValue = _d.sent();
82
- if (!(recordIdToUpdate && newFieldValue !== (previousRecord && previousRecord[action.field_name]))) return [3, 13];
83
- if (!(action.undirect === true)) return [3, 8];
84
- return [4, objectToUpdate.update(recordIdToUpdate, (_b = {}, _b[action.field_name] = newFieldValue, _b))];
85
- case 7:
86
- _d.sent();
87
- return [3, 12];
88
- case 8: return [4, objectToUpdate.directUpdate(recordIdToUpdate, (_c = {}, _c[action.field_name] = newFieldValue, _c))];
89
- case 9:
90
- _d.sent();
91
- return [4, (0, formula_1.runQuotedByObjectFieldFormulas)(mainObjectName, recordIdToUpdate, userSession, {
92
- fieldNames: [action.field_name]
93
- })];
94
- case 10:
95
- _d.sent();
96
- return [4, (0, summary_1.runQuotedByObjectFieldSummaries)(mainObjectName, recordIdToUpdate, null, userSession, {
97
- fieldNames: [action.field_name]
98
- })];
99
- case 11:
100
- _d.sent();
101
- _d.label = 12;
102
- case 12: return [3, 14];
103
- case 13:
104
- needToReevaluate = false;
105
- _d.label = 14;
106
- case 14:
107
- if (needToReevaluate) {
108
- return [2, {
109
- object_name: mainObjectName,
110
- record_id: recordIdToUpdate,
111
- field_name: action.field_name,
112
- previous_record: previousRecord
113
- }];
114
- }
115
- else {
116
- return [2, null];
117
- }
118
- return [2];
119
- }
120
- });
121
- });
35
+ async function runFieldUpdateAction(action, recordId, userSession) {
36
+ const record = await (0, index_1.getObject)(action.object_name).findOne(recordId, null);
37
+ let recordIdToUpdate;
38
+ let previousRecord;
39
+ let needToReevaluate = false;
40
+ const isCrossedObject = action.target_object != action.object_name;
41
+ const mainObjectName = getFieldUpdateActionTargetObjectName(action);
42
+ if (isCrossedObject) {
43
+ recordIdToUpdate = record[action.target_object];
44
+ previousRecord = recordIdToUpdate && await (0, index_1.getObject)(mainObjectName).findOne(recordIdToUpdate, null);
45
+ needToReevaluate = true;
46
+ }
47
+ else {
48
+ recordIdToUpdate = record._id;
49
+ previousRecord = record;
50
+ needToReevaluate = action.reevaluate_on_change;
51
+ }
52
+ const objectToUpdate = (0, index_1.getObject)(mainObjectName);
53
+ const fieldToUpdate = objectToUpdate.getField(action.field_name);
54
+ if (["formula", "summary", "autonumber"].indexOf(fieldToUpdate.type) > -1) {
55
+ return null;
56
+ }
57
+ const newFieldValue = await getFieldValue(action, recordId, userSession);
58
+ if (recordIdToUpdate && newFieldValue !== (previousRecord && previousRecord[action.field_name])) {
59
+ if (action.undirect === true) {
60
+ await objectToUpdate.update(recordIdToUpdate, { [action.field_name]: newFieldValue });
61
+ }
62
+ else {
63
+ await objectToUpdate.directUpdate(recordIdToUpdate, { [action.field_name]: newFieldValue });
64
+ await (0, formula_1.runQuotedByObjectFieldFormulas)(mainObjectName, recordIdToUpdate, userSession, {
65
+ fieldNames: [action.field_name]
66
+ });
67
+ await (0, summary_1.runQuotedByObjectFieldSummaries)(mainObjectName, recordIdToUpdate, null, userSession, {
68
+ fieldNames: [action.field_name]
69
+ });
70
+ }
71
+ }
72
+ else {
73
+ needToReevaluate = false;
74
+ }
75
+ if (needToReevaluate) {
76
+ return {
77
+ object_name: mainObjectName,
78
+ record_id: recordIdToUpdate,
79
+ field_name: action.field_name,
80
+ previous_record: previousRecord
81
+ };
82
+ }
83
+ else {
84
+ return null;
85
+ }
122
86
  }
123
- function runFieldUpdateActions(ids, recordId, userSession, spaceId) {
124
- return tslib_1.__awaiter(this, void 0, void 0, function () {
125
- var filters, targets, actions, actions_1, actions_1_1, action, target, e_1_1;
126
- var e_1, _a;
127
- return tslib_1.__generator(this, function (_b) {
128
- switch (_b.label) {
129
- case 0:
130
- filters = [];
131
- targets = [];
132
- if (!_.isEmpty(ids)) {
133
- filters.push([['name', 'in', ids], 'or', ['_id', 'in', ids]]);
134
- }
135
- if (!!_.isEmpty(filters)) return [3, 9];
136
- return [4, (0, index_1.getMetadata)("action_field_updates").find(filters, (userSession === null || userSession === void 0 ? void 0 : userSession.spaceId) || spaceId)];
137
- case 1:
138
- actions = _b.sent();
139
- _b.label = 2;
140
- case 2:
141
- _b.trys.push([2, 7, 8, 9]);
142
- actions_1 = tslib_1.__values(actions), actions_1_1 = actions_1.next();
143
- _b.label = 3;
144
- case 3:
145
- if (!!actions_1_1.done) return [3, 6];
146
- action = actions_1_1.value;
147
- return [4, runFieldUpdateAction(action, recordId, userSession)];
148
- case 4:
149
- target = _b.sent();
150
- if (target) {
151
- targets.push(target);
152
- }
153
- _b.label = 5;
154
- case 5:
155
- actions_1_1 = actions_1.next();
156
- return [3, 3];
157
- case 6: return [3, 9];
158
- case 7:
159
- e_1_1 = _b.sent();
160
- e_1 = { error: e_1_1 };
161
- return [3, 9];
162
- case 8:
163
- try {
164
- if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return)) _a.call(actions_1);
165
- }
166
- finally { if (e_1) throw e_1.error; }
167
- return [7];
168
- case 9: return [2, targets];
87
+ async function runFieldUpdateActions(ids, recordId, userSession, spaceId) {
88
+ const filters = [];
89
+ let targets = [];
90
+ if (!_.isEmpty(ids)) {
91
+ filters.push([['name', 'in', ids], 'or', ['_id', 'in', ids]]);
92
+ }
93
+ if (!_.isEmpty(filters)) {
94
+ const actions = await (0, index_1.getMetadata)(`action_field_updates`).find(filters, userSession?.spaceId || spaceId);
95
+ for (const action of actions) {
96
+ const target = await runFieldUpdateAction(action, recordId, userSession);
97
+ if (target) {
98
+ targets.push(target);
169
99
  }
170
- });
171
- });
100
+ }
101
+ }
102
+ return targets;
172
103
  }
173
104
  //# sourceMappingURL=field_updates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field_updates.js","sourceRoot":"","sources":["../../src/actions/field_updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field_updates.js","sourceRoot":"","sources":["../../src/actions/field_updates.ts"],"names":[],"mappings":";;AAmBA,oFAaC;AAED,oDA8DC;AAED,sDAoBC;AAtHD,oCAAgF;AAChF,wCAA4D;AAC5D,wCAA6D;AAE7D,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAW,EAAE,QAAgB,EAAE,WAAgB,EAAC,EAAE;IAC3E,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,MAAM;YACP,OAAO,IAAI,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,MAAM,CAAC,aAAa,CAAA;QAC/B,KAAK,SAAS;YACV,OAAO,MAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3F;YACI,OAAO;IACf,CAAC;AACL,CAAC,CAAA;AAED,SAAgB,oCAAoC,CAAC,MAAW;IAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,CAAC;IACnE,IAAG,eAAe,EAAC,CAAC;QAEhB,IAAI,MAAM,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;QACvF,IAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC;YACpB,MAAM,IAAI,oBAAY,CAAC,gCAAgC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;SACG,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,MAAW,EAAE,QAAa,EAAE,WAAgB;IACnF,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAS,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,gBAAwB,CAAC;IAC7B,IAAI,cAAmB,CAAC;IACxB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAI7B,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,CAAC;IACnE,MAAM,cAAc,GAAG,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACpE,IAAG,eAAe,EAAC,CAAC;QAEhB,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChD,cAAc,GAAG,gBAAgB,IAAI,MAAM,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAErG,gBAAgB,GAAG,IAAI,CAAC;IAC5B,CAAC;SAAI,CAAC;QAEF,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC;QAC9B,cAAc,GAAG,MAAM,CAAC;QAExB,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IACnD,CAAC;IACD,MAAM,cAAc,GAAG,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjE,IAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC;QAEtE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,IAAG,gBAAgB,IAAI,aAAa,KAAK,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAC,CAAC;QAC5F,IAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAC,CAAC;YACzB,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAC,CAAC,CAAC;QACxF,CAAC;aAAI,CAAC;YAEF,MAAM,cAAc,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAC,CAAC,CAAC;YAE1F,MAAM,IAAA,wCAA8B,EAAC,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE;gBAChF,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,IAAA,yCAA+B,EAAC,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;gBACvF,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;SACG,CAAC;QAED,gBAAgB,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,IAAG,gBAAgB,EAAC,CAAC;QACjB,OAA0B;YACtB,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,gBAAgB;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,eAAe,EAAE,cAAc;SAClC,CAAC;IACN,CAAC;SACG,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAkB,EAAE,QAAa,EAAE,WAAgB,EAAE,OAAgB;IAE7G,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,OAAO,GAA6B,EAAE,CAAC;IAE3C,IAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,IAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAW,EAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC,CAAA;QAExG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAqB,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3F,IAAG,MAAM,EAAC,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./field_updates"), exports);
5
5
  tslib_1.__exportStar(require("./workflow_rule"), exports);
6
6
  tslib_1.__exportStar(require("./workflow_notifications"), exports);
@@ -2,119 +2,58 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runWorkflowNotifyActions = runWorkflowNotifyActions;
4
4
  exports.runWorkflowNotifyAction = runWorkflowNotifyAction;
5
- var tslib_1 = require("tslib");
6
- var index_1 = require("../index");
7
- var _ = require("underscore");
8
- function runWorkflowNotifyActions(ids, recordId, userSession, spaceId) {
9
- return tslib_1.__awaiter(this, void 0, void 0, function () {
10
- var filters, notifications, notifications_1, notifications_1_1, wn, e_1_1;
11
- var e_1, _a;
12
- return tslib_1.__generator(this, function (_b) {
13
- switch (_b.label) {
14
- case 0:
15
- if (_.isEmpty(ids) || _.isEmpty(recordId)) {
16
- return [2];
17
- }
18
- filters = [['name', 'in', ids], 'or', ['_id', 'in', ids]];
19
- return [4, (0, index_1.getMetadata)("workflow_notifications").find(filters, (userSession === null || userSession === void 0 ? void 0 : userSession.spaceId) || spaceId)];
20
- case 1:
21
- notifications = _b.sent();
22
- _b.label = 2;
23
- case 2:
24
- _b.trys.push([2, 7, 8, 9]);
25
- notifications_1 = tslib_1.__values(notifications), notifications_1_1 = notifications_1.next();
26
- _b.label = 3;
27
- case 3:
28
- if (!!notifications_1_1.done) return [3, 6];
29
- wn = notifications_1_1.value;
30
- return [4, runWorkflowNotifyAction(wn, recordId, userSession)];
31
- case 4:
32
- _b.sent();
33
- _b.label = 5;
34
- case 5:
35
- notifications_1_1 = notifications_1.next();
36
- return [3, 3];
37
- case 6: return [3, 9];
38
- case 7:
39
- e_1_1 = _b.sent();
40
- e_1 = { error: e_1_1 };
41
- return [3, 9];
42
- case 8:
43
- try {
44
- if (notifications_1_1 && !notifications_1_1.done && (_a = notifications_1.return)) _a.call(notifications_1);
45
- }
46
- finally { if (e_1) throw e_1.error; }
47
- return [7];
48
- case 9: return [2];
49
- }
50
- });
51
- });
5
+ const index_1 = require("../index");
6
+ const _ = require("underscore");
7
+ async function runWorkflowNotifyActions(ids, recordId, userSession, spaceId) {
8
+ if (_.isEmpty(ids) || _.isEmpty(recordId)) {
9
+ return;
10
+ }
11
+ let filters = [['name', 'in', ids], 'or', ['_id', 'in', ids]];
12
+ let notifications = await (0, index_1.getMetadata)(`workflow_notifications`).find(filters, userSession?.spaceId || spaceId);
13
+ for (const wn of notifications) {
14
+ await runWorkflowNotifyAction(wn, recordId, userSession);
15
+ }
16
+ return;
52
17
  }
53
- function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
54
- return tslib_1.__awaiter(this, void 0, void 0, function () {
55
- var record, objectName, assignedUsers, assignedUserField, userId, spaceId, msgName, msgBody, message, to, assignedUserField_1, assignedUserField_1_1, userField;
56
- var e_2, _a;
57
- return tslib_1.__generator(this, function (_b) {
58
- switch (_b.label) {
59
- case 0:
60
- if (_.isEmpty(workflowNotification) || _.isEmpty(recordId)) {
61
- return [2];
62
- }
63
- return [4, (0, index_1.getObject)(workflowNotification.object_name).findOne(recordId, null)];
64
- case 1:
65
- record = _b.sent();
66
- objectName = workflowNotification.object_name;
67
- assignedUsers = workflowNotification.assigned_users;
68
- assignedUserField = workflowNotification.assigned_user_field;
69
- userId = record.owner;
70
- spaceId = record.space;
71
- return [4, (0, index_1.computeFormula)(workflowNotification.title, objectName, recordId, userSession)];
72
- case 2:
73
- msgName = _b.sent();
74
- return [4, (0, index_1.computeFormula)(workflowNotification.body, objectName, recordId, userSession)];
75
- case 3:
76
- msgBody = _b.sent();
77
- message = {
78
- name: msgName,
79
- body: msgBody,
80
- related_to: {
81
- o: objectName,
82
- ids: [record._id]
83
- },
84
- related_name: record.name,
85
- from: userId,
86
- space: spaceId
87
- };
88
- to = [];
89
- if (!_.isEmpty(assignedUsers)) {
90
- to = to.concat(assignedUsers);
91
- }
92
- if (!_.isEmpty(assignedUserField)) {
93
- try {
94
- for (assignedUserField_1 = tslib_1.__values(assignedUserField), assignedUserField_1_1 = assignedUserField_1.next(); !assignedUserField_1_1.done; assignedUserField_1_1 = assignedUserField_1.next()) {
95
- userField = assignedUserField_1_1.value;
96
- if (record[userField]) {
97
- to.push(record[userField]);
98
- }
99
- }
100
- }
101
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
102
- finally {
103
- try {
104
- if (assignedUserField_1_1 && !assignedUserField_1_1.done && (_a = assignedUserField_1.return)) _a.call(assignedUserField_1);
105
- }
106
- finally { if (e_2) throw e_2.error; }
107
- }
108
- }
109
- to = _.uniq(_.flatten(to));
110
- (0, index_1.getSteedosSchema)().broker.call('notifications.add', {
111
- message: message,
112
- from: userId,
113
- to: to
114
- });
115
- return [2];
18
+ async function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
19
+ if (_.isEmpty(workflowNotification) || _.isEmpty(recordId)) {
20
+ return;
21
+ }
22
+ let record = await (0, index_1.getObject)(workflowNotification.object_name).findOne(recordId, null);
23
+ let objectName = workflowNotification.object_name;
24
+ let assignedUsers = workflowNotification.assigned_users;
25
+ let assignedUserField = workflowNotification.assigned_user_field;
26
+ let userId = record.owner;
27
+ let spaceId = record.space;
28
+ let msgName = await (0, index_1.computeFormula)(workflowNotification.title, objectName, recordId, userSession);
29
+ let msgBody = await (0, index_1.computeFormula)(workflowNotification.body, objectName, recordId, userSession);
30
+ let message = {
31
+ name: msgName,
32
+ body: msgBody,
33
+ related_to: {
34
+ o: objectName,
35
+ ids: [record._id]
36
+ },
37
+ related_name: record.name,
38
+ from: userId,
39
+ space: spaceId
40
+ };
41
+ let to = [];
42
+ if (!_.isEmpty(assignedUsers)) {
43
+ to = to.concat(assignedUsers);
44
+ }
45
+ if (!_.isEmpty(assignedUserField)) {
46
+ for (const userField of assignedUserField) {
47
+ if (record[userField]) {
48
+ to.push(record[userField]);
116
49
  }
117
- });
50
+ }
51
+ }
52
+ to = _.uniq(_.flatten(to));
53
+ (0, index_1.getSteedosSchema)().broker.call('notifications.add', {
54
+ message: message,
55
+ from: userId,
56
+ to: to
118
57
  });
119
58
  }
120
59
  //# sourceMappingURL=workflow_notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow_notifications.js","sourceRoot":"","sources":["../../src/actions/workflow_notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow_notifications.js","sourceRoot":"","sources":["../../src/actions/workflow_notifications.ts"],"names":[],"mappings":"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"}
@@ -2,101 +2,50 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runWorkflowOutboundMessageActions = runWorkflowOutboundMessageActions;
4
4
  exports.runWorkflowOutboundMessageAction = runWorkflowOutboundMessageAction;
5
- var tslib_1 = require("tslib");
6
- var index_1 = require("../index");
7
- var _ = require("underscore");
8
- var node_fetch_1 = require("node-fetch");
9
- var jwt = require('jsonwebtoken');
10
- function runWorkflowOutboundMessageActions(ids, recordId, userSession, spaceId) {
11
- return tslib_1.__awaiter(this, void 0, void 0, function () {
12
- var filters, docs, docs_1, docs_1_1, doc, e_1_1;
13
- var e_1, _a;
14
- return tslib_1.__generator(this, function (_b) {
15
- switch (_b.label) {
16
- case 0:
17
- if (_.isEmpty(ids) || _.isEmpty(recordId)) {
18
- return [2];
19
- }
20
- filters = [['name', 'in', ids], 'or', ['_id', 'in', ids]];
21
- return [4, (0, index_1.getMetadata)("workflow_outbound_messages").find(filters, (userSession === null || userSession === void 0 ? void 0 : userSession.spaceId) || spaceId)];
22
- case 1:
23
- docs = _b.sent();
24
- _b.label = 2;
25
- case 2:
26
- _b.trys.push([2, 7, 8, 9]);
27
- docs_1 = tslib_1.__values(docs), docs_1_1 = docs_1.next();
28
- _b.label = 3;
29
- case 3:
30
- if (!!docs_1_1.done) return [3, 6];
31
- doc = docs_1_1.value;
32
- return [4, runWorkflowOutboundMessageAction(doc, recordId, userSession)];
33
- case 4:
34
- _b.sent();
35
- _b.label = 5;
36
- case 5:
37
- docs_1_1 = docs_1.next();
38
- return [3, 3];
39
- case 6: return [3, 9];
40
- case 7:
41
- e_1_1 = _b.sent();
42
- e_1 = { error: e_1_1 };
43
- return [3, 9];
44
- case 8:
45
- try {
46
- if (docs_1_1 && !docs_1_1.done && (_a = docs_1.return)) _a.call(docs_1);
47
- }
48
- finally { if (e_1) throw e_1.error; }
49
- return [7];
50
- case 9: return [2];
51
- }
52
- });
53
- });
5
+ const index_1 = require("../index");
6
+ const _ = require("underscore");
7
+ const node_fetch_1 = require("node-fetch");
8
+ const jwt = require('jsonwebtoken');
9
+ async function runWorkflowOutboundMessageActions(ids, recordId, userSession, spaceId) {
10
+ if (_.isEmpty(ids) || _.isEmpty(recordId)) {
11
+ return;
12
+ }
13
+ let filters = [['name', 'in', ids], 'or', ['_id', 'in', ids]];
14
+ let docs = await (0, index_1.getMetadata)(`workflow_outbound_messages`).find(filters, userSession?.spaceId || spaceId);
15
+ for (const doc of docs) {
16
+ await runWorkflowOutboundMessageAction(doc, recordId, userSession);
17
+ }
18
+ return;
54
19
  }
55
- function runWorkflowOutboundMessageAction(workflowOutboundMessage, recordId, userSession) {
56
- return tslib_1.__awaiter(this, void 0, void 0, function () {
57
- var object_name, endpoint_url, object_fields_to_send, app, record, secret, appDoc, payload, options;
58
- return tslib_1.__generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0:
61
- if (_.isEmpty(workflowOutboundMessage) || _.isEmpty(recordId)) {
62
- return [2];
63
- }
64
- object_name = workflowOutboundMessage.object_name, endpoint_url = workflowOutboundMessage.endpoint_url, object_fields_to_send = workflowOutboundMessage.object_fields_to_send, app = workflowOutboundMessage.app;
65
- return [4, (0, index_1.getObject)(object_name).findOne(recordId, { fields: object_fields_to_send })];
66
- case 1:
67
- record = _a.sent();
68
- secret = '';
69
- if (!app) return [3, 3];
70
- return [4, (0, index_1.getObject)('apps').find({ filters: [['code', '=', app]] })];
71
- case 2:
72
- appDoc = (_a.sent())[0];
73
- if (appDoc && appDoc.secret) {
74
- secret = appDoc.secret;
75
- }
76
- _a.label = 3;
77
- case 3:
78
- payload = {
79
- 'object_name': object_name,
80
- 'doc': record,
81
- };
82
- if (secret) {
83
- options = { expiresIn: 60 * 60 };
84
- payload = jwt.sign(payload, secret, options);
85
- }
86
- return [4, (0, node_fetch_1.default)(endpoint_url, {
87
- method: "POST",
88
- headers: {
89
- "Content-Type": "application/json"
90
- },
91
- body: JSON.stringify({
92
- data: payload
93
- })
94
- })];
95
- case 4:
96
- _a.sent();
97
- return [2];
98
- }
99
- });
20
+ async function runWorkflowOutboundMessageAction(workflowOutboundMessage, recordId, userSession) {
21
+ if (_.isEmpty(workflowOutboundMessage) || _.isEmpty(recordId)) {
22
+ return;
23
+ }
24
+ const { object_name, endpoint_url, object_fields_to_send, app } = workflowOutboundMessage;
25
+ const record = await (0, index_1.getObject)(object_name).findOne(recordId, { fields: object_fields_to_send });
26
+ let secret = '';
27
+ if (app) {
28
+ const appDoc = (await (0, index_1.getObject)('apps').find({ filters: [['code', '=', app]] }))[0];
29
+ if (appDoc && appDoc.secret) {
30
+ secret = appDoc.secret;
31
+ }
32
+ }
33
+ let payload = {
34
+ 'object_name': object_name,
35
+ 'doc': record,
36
+ };
37
+ if (secret) {
38
+ const options = { expiresIn: 60 * 60 };
39
+ payload = jwt.sign(payload, secret, options);
40
+ }
41
+ await (0, node_fetch_1.default)(endpoint_url, {
42
+ method: "POST",
43
+ headers: {
44
+ "Content-Type": "application/json"
45
+ },
46
+ body: JSON.stringify({
47
+ data: payload
48
+ })
100
49
  });
101
50
  }
102
51
  //# sourceMappingURL=workflow_outbound_messages.js.map