@steedos/process 2.7.27-beta.6 → 3.0.0-beta.100
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/approve.js +4 -4
- package/lib/express-middleware.js +1 -1
- package/lib/handlers.js +168 -0
- package/lib/handlers.js.map +1 -0
- package/lib/index.js +4 -15
- package/lib/index.js.map +1 -1
- package/lib/notifications.js +60 -58
- package/lib/notifications.js.map +1 -1
- package/lib/permission.js +4 -4
- package/lib/permission.js.map +1 -1
- package/lib/permission_manager.js +4 -4
- package/lib/permission_manager.js.map +1 -1
- package/lib/platform_action_manager.js +4 -4
- package/lib/platform_action_manager.js.map +1 -1
- package/lib/process_manager.js +278 -116
- package/lib/process_manager.js.map +1 -1
- package/lib/reassign.js +4 -4
- package/lib/recall.js +4 -4
- package/lib/reject.js +4 -4
- package/lib/submit.js +4 -4
- package/lib/submit.js.map +1 -1
- package/package.json +5 -5
package/lib/process_manager.js
CHANGED
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g =
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
18
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
19
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
20
|
switch (op[0]) {
|
|
@@ -35,13 +35,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
48
|
exports.processInstanceWorkitemRemovebyInstance = exports.processInstanceWorkitemReassign = exports.processInstanceWorkitemReject = exports.processInstanceWorkitemApprove = exports.getProcessInstanceWorkitem = exports.getReocrdProcessInstance = exports.recordSubmit = exports.getObjectProcessDefinition = void 0;
|
|
40
49
|
var platform_action_manager_1 = require("./platform_action_manager");
|
|
41
50
|
var notifications_1 = require("./notifications");
|
|
42
51
|
var objectql_1 = require("@steedos/objectql");
|
|
43
|
-
var
|
|
44
|
-
var
|
|
52
|
+
var handlers_1 = require("./handlers");
|
|
53
|
+
var objectql = require("@steedos/objectql");
|
|
45
54
|
var _ = require("underscore");
|
|
46
55
|
var lockObjectRecord = function (objectName, reocrdId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
47
56
|
return __generator(this, function (_a) {
|
|
@@ -56,7 +65,9 @@ var lockObjectRecord = function (objectName, reocrdId) { return __awaiter(void 0
|
|
|
56
65
|
var unlockObjectRecord = function (objectName, reocrdId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
57
66
|
return __generator(this, function (_a) {
|
|
58
67
|
switch (_a.label) {
|
|
59
|
-
case 0: return [4, objectql
|
|
68
|
+
case 0: return [4, objectql
|
|
69
|
+
.getObject(objectName)
|
|
70
|
+
.directUpdate(reocrdId, { locked: false })];
|
|
60
71
|
case 1:
|
|
61
72
|
_a.sent();
|
|
62
73
|
return [2];
|
|
@@ -64,18 +75,30 @@ var unlockObjectRecord = function (objectName, reocrdId) { return __awaiter(void
|
|
|
64
75
|
});
|
|
65
76
|
}); };
|
|
66
77
|
var getProcessNodeApprover = function (instanceId, processNode, userSession, chooseApprover, isBack, record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
-
var nodeApprover, processInstanceNodes, lastProcessInstanceNode, nodeHistroy, approver, _i, _a, roleId, dbRoles, role,
|
|
78
|
+
var nodeApprover, processInstanceNodes, lastProcessInstanceNode, nodeHistroy, approver, _i, _a, roleId, dbRoles, role, submitted_by, spaceId, processInstance, assigned_approver_flow_role_ids, flowRoleKeys, _b, flowRoleKeys_1, flowRoleKey, dbFlowRole, dbFlowRoles, handlers, processInstance;
|
|
68
79
|
return __generator(this, function (_c) {
|
|
69
80
|
switch (_c.label) {
|
|
70
81
|
case 0:
|
|
71
82
|
nodeApprover = [];
|
|
72
83
|
if (!isBack) return [3, 4];
|
|
73
|
-
return [4, objectql
|
|
84
|
+
return [4, objectql
|
|
85
|
+
.getObject("process_instance_node")
|
|
86
|
+
.find({
|
|
87
|
+
filters: [
|
|
88
|
+
["process_instance", "=", instanceId],
|
|
89
|
+
["process_node", "=", processNode._id],
|
|
90
|
+
],
|
|
91
|
+
sort: "created desc",
|
|
92
|
+
})];
|
|
74
93
|
case 1:
|
|
75
94
|
processInstanceNodes = _c.sent();
|
|
76
95
|
if (!!_.isEmpty(processInstanceNodes)) return [3, 3];
|
|
77
96
|
lastProcessInstanceNode = processInstanceNodes[0];
|
|
78
|
-
return [4, objectql
|
|
97
|
+
return [4, objectql
|
|
98
|
+
.getObject("process_instance_history")
|
|
99
|
+
.find({
|
|
100
|
+
filters: ["process_instance_node", "=", lastProcessInstanceNode._id],
|
|
101
|
+
})];
|
|
79
102
|
case 2:
|
|
80
103
|
nodeHistroy = _c.sent();
|
|
81
104
|
_.each(nodeHistroy, function (item) {
|
|
@@ -85,7 +108,7 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
85
108
|
case 3: return [3, 27];
|
|
86
109
|
case 4:
|
|
87
110
|
approver = processNode.approver;
|
|
88
|
-
if (!(approver ===
|
|
111
|
+
if (!(approver === "auto_assign")) return [3, 26];
|
|
89
112
|
if (!_.isEmpty(processNode.assigned_approver_users)) {
|
|
90
113
|
nodeApprover = nodeApprover.concat(processNode.assigned_approver_users);
|
|
91
114
|
}
|
|
@@ -95,13 +118,15 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
95
118
|
case 5:
|
|
96
119
|
if (!(_i < _a.length)) return [3, 10];
|
|
97
120
|
roleId = _a[_i];
|
|
98
|
-
return [4, objectql
|
|
121
|
+
return [4, objectql
|
|
122
|
+
.getObject("roles")
|
|
123
|
+
.find({ filters: ["api_name", "=", roleId] })];
|
|
99
124
|
case 6:
|
|
100
125
|
dbRoles = _c.sent();
|
|
101
126
|
if (!(dbRoles && dbRoles.length > 0 && !_.isEmpty(dbRoles[0].users))) return [3, 7];
|
|
102
127
|
nodeApprover = nodeApprover.concat(dbRoles[0].users);
|
|
103
128
|
return [3, 9];
|
|
104
|
-
case 7: return [4, objectql.getObject(
|
|
129
|
+
case 7: return [4, objectql.getObject("roles").findOne(roleId)];
|
|
105
130
|
case 8:
|
|
106
131
|
role = _c.sent();
|
|
107
132
|
if (role && !_.isEmpty(role.users)) {
|
|
@@ -113,16 +138,18 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
113
138
|
return [3, 5];
|
|
114
139
|
case 10:
|
|
115
140
|
if (!!_.isEmpty(processNode.assigned_approver_flow_roles)) return [3, 21];
|
|
116
|
-
|
|
117
|
-
|
|
141
|
+
submitted_by = userSession.userId;
|
|
142
|
+
spaceId = userSession.spaceId;
|
|
118
143
|
if (!instanceId) return [3, 12];
|
|
119
|
-
return [4, objectql
|
|
144
|
+
return [4, objectql
|
|
145
|
+
.getObject("process_instance")
|
|
146
|
+
.findOne(instanceId)];
|
|
120
147
|
case 11:
|
|
121
148
|
processInstance = _c.sent();
|
|
122
|
-
|
|
149
|
+
submitted_by = processInstance.submitted_by;
|
|
123
150
|
_c.label = 12;
|
|
124
151
|
case 12:
|
|
125
|
-
|
|
152
|
+
assigned_approver_flow_role_ids = [];
|
|
126
153
|
flowRoleKeys = processNode.assigned_approver_flow_roles;
|
|
127
154
|
_b = 0, flowRoleKeys_1 = flowRoleKeys;
|
|
128
155
|
_c.label = 13;
|
|
@@ -130,33 +157,27 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
130
157
|
if (!(_b < flowRoleKeys_1.length)) return [3, 19];
|
|
131
158
|
flowRoleKey = flowRoleKeys_1[_b];
|
|
132
159
|
dbFlowRole = void 0;
|
|
133
|
-
return [4, objectql
|
|
160
|
+
return [4, objectql
|
|
161
|
+
.getObject("flow_roles")
|
|
162
|
+
.find({ filters: ["api_name", "=", flowRoleKey] })];
|
|
134
163
|
case 14:
|
|
135
164
|
dbFlowRoles = _c.sent();
|
|
136
165
|
if (!(dbFlowRoles && dbFlowRoles.length == 1)) return [3, 15];
|
|
137
166
|
dbFlowRole = dbFlowRoles[0];
|
|
138
167
|
return [3, 17];
|
|
139
|
-
case 15: return [4, objectql
|
|
168
|
+
case 15: return [4, objectql
|
|
169
|
+
.getObject("flow_roles")
|
|
170
|
+
.findOne(flowRoleKey)];
|
|
140
171
|
case 16:
|
|
141
172
|
dbFlowRole = _c.sent();
|
|
142
173
|
_c.label = 17;
|
|
143
174
|
case 17:
|
|
144
|
-
|
|
175
|
+
assigned_approver_flow_role_ids.push(dbFlowRole._id);
|
|
145
176
|
_c.label = 18;
|
|
146
177
|
case 18:
|
|
147
178
|
_b++;
|
|
148
179
|
return [3, 13];
|
|
149
|
-
case 19: return [4,
|
|
150
|
-
Fiber(function () {
|
|
151
|
-
try {
|
|
152
|
-
var handlers_1 = getHandlersManager.getHandlersByUserAndRoles(submitted_by_1, assigned_approver_flow_role_ids_1, spaceId_1);
|
|
153
|
-
resolve(handlers_1);
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
reject(error);
|
|
157
|
-
}
|
|
158
|
-
}).run();
|
|
159
|
-
})];
|
|
180
|
+
case 19: return [4, (0, handlers_1.getHandlersByUserAndRoles)(submitted_by, assigned_approver_flow_role_ids, spaceId)];
|
|
160
181
|
case 20:
|
|
161
182
|
handlers = _c.sent();
|
|
162
183
|
nodeApprover = nodeApprover.concat(handlers);
|
|
@@ -164,10 +185,14 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
164
185
|
case 21:
|
|
165
186
|
if (!!_.isEmpty(processNode.assigned_approver_user_field)) return [3, 25];
|
|
166
187
|
if (!instanceId) return [3, 24];
|
|
167
|
-
return [4, objectql
|
|
188
|
+
return [4, objectql
|
|
189
|
+
.getObject("process_instance")
|
|
190
|
+
.findOne(instanceId)];
|
|
168
191
|
case 22:
|
|
169
192
|
processInstance = _c.sent();
|
|
170
|
-
return [4, objectql
|
|
193
|
+
return [4, objectql
|
|
194
|
+
.getObject(processInstance.target_object.o)
|
|
195
|
+
.findOne(processInstance.target_object.ids[0])];
|
|
171
196
|
case 23:
|
|
172
197
|
record = _c.sent();
|
|
173
198
|
_c.label = 24;
|
|
@@ -186,7 +211,7 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
186
211
|
_c.label = 25;
|
|
187
212
|
case 25: return [3, 27];
|
|
188
213
|
case 26:
|
|
189
|
-
if (approver ===
|
|
214
|
+
if (approver === "submitter_choose") {
|
|
190
215
|
if (chooseApprover) {
|
|
191
216
|
if (_.isString(chooseApprover)) {
|
|
192
217
|
return [2, [chooseApprover]];
|
|
@@ -195,11 +220,11 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
195
220
|
return [2, _.uniq(_.compact(chooseApprover))];
|
|
196
221
|
}
|
|
197
222
|
else {
|
|
198
|
-
throw new objectql_1.SteedosError(
|
|
223
|
+
throw new objectql_1.SteedosError("process_approval_error_invalidChooseApprover");
|
|
199
224
|
}
|
|
200
225
|
}
|
|
201
226
|
else {
|
|
202
|
-
throw new objectql_1.SteedosError(
|
|
227
|
+
throw new objectql_1.SteedosError("process_approval_error_needToChooseApprover");
|
|
203
228
|
}
|
|
204
229
|
}
|
|
205
230
|
_c.label = 27;
|
|
@@ -210,7 +235,12 @@ var getProcessNodeApprover = function (instanceId, processNode, userSession, cho
|
|
|
210
235
|
var getProcessNodes = function (processDefinitionId, spaceId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
211
236
|
return __generator(this, function (_a) {
|
|
212
237
|
switch (_a.label) {
|
|
213
|
-
case 0: return [4, objectql
|
|
238
|
+
case 0: return [4, objectql
|
|
239
|
+
.getObject("process_node")
|
|
240
|
+
.find({
|
|
241
|
+
filters: [["process_definition", "=", processDefinitionId]],
|
|
242
|
+
sort: "order asc",
|
|
243
|
+
})];
|
|
214
244
|
case 1: return [2, _a.sent()];
|
|
215
245
|
}
|
|
216
246
|
});
|
|
@@ -219,19 +249,25 @@ var addInstanceHistory = function (spaceId, instanceId, status, comment, options
|
|
|
219
249
|
var instance, name, node, instanceHistory;
|
|
220
250
|
return __generator(this, function (_a) {
|
|
221
251
|
switch (_a.label) {
|
|
222
|
-
case 0: return [4, objectql
|
|
252
|
+
case 0: return [4, objectql
|
|
253
|
+
.getObject("process_instance")
|
|
254
|
+
.findOne(instanceId)];
|
|
223
255
|
case 1:
|
|
224
256
|
instance = _a.sent();
|
|
225
|
-
name =
|
|
257
|
+
name = "";
|
|
226
258
|
if (!options.nodeId) return [3, 3];
|
|
227
|
-
return [4, objectql
|
|
259
|
+
return [4, objectql
|
|
260
|
+
.getObject("process_node")
|
|
261
|
+
.findOne(options.nodeId)];
|
|
228
262
|
case 2:
|
|
229
263
|
node = _a.sent();
|
|
230
264
|
if (node) {
|
|
231
265
|
name = node.label;
|
|
232
266
|
}
|
|
233
267
|
_a.label = 3;
|
|
234
|
-
case 3: return [4, objectql
|
|
268
|
+
case 3: return [4, objectql
|
|
269
|
+
.getObject("process_instance_history")
|
|
270
|
+
.insert({
|
|
235
271
|
name: name,
|
|
236
272
|
process_instance: instanceId,
|
|
237
273
|
target_object: instance.target_object,
|
|
@@ -242,18 +278,22 @@ var addInstanceHistory = function (spaceId, instanceId, status, comment, options
|
|
|
242
278
|
step_node: options.nodeId,
|
|
243
279
|
process_instance_node: options.instanceNodeId,
|
|
244
280
|
space: spaceId,
|
|
245
|
-
created_by: userSession.userId
|
|
281
|
+
created_by: userSession.userId,
|
|
246
282
|
})];
|
|
247
283
|
case 4:
|
|
248
284
|
instanceHistory = _a.sent();
|
|
249
|
-
if (!(status ===
|
|
285
|
+
if (!(status === "approved" || status === "rejected")) return [3, 6];
|
|
250
286
|
return [4, handleProcessInstance(instanceHistory.process_instance, status, userSession)];
|
|
251
287
|
case 5:
|
|
252
288
|
_a.sent();
|
|
253
289
|
_a.label = 6;
|
|
254
290
|
case 6:
|
|
255
|
-
if (!(status ===
|
|
256
|
-
return [4, (0, notifications_1.sendNotifications)(instance.created_by, options.actor, {
|
|
291
|
+
if (!(status === "pending")) return [3, 8];
|
|
292
|
+
return [4, (0, notifications_1.sendNotifications)(instance.created_by, options.actor, {
|
|
293
|
+
instanceHistory: instanceHistory,
|
|
294
|
+
status: status,
|
|
295
|
+
instance: instance,
|
|
296
|
+
})];
|
|
257
297
|
case 7:
|
|
258
298
|
_a.sent();
|
|
259
299
|
_a.label = 8;
|
|
@@ -268,13 +308,15 @@ var addInstanceNode = function (instanceId, node, userSession, nodeApprover) { r
|
|
|
268
308
|
case 0:
|
|
269
309
|
nodeId = node._id;
|
|
270
310
|
nodeName = node.label;
|
|
271
|
-
return [4, objectql
|
|
311
|
+
return [4, objectql
|
|
312
|
+
.getObject("process_instance_node")
|
|
313
|
+
.insert({
|
|
272
314
|
process_instance: instanceId,
|
|
273
315
|
process_node: nodeId,
|
|
274
316
|
process_node_name: nodeName,
|
|
275
|
-
node_status:
|
|
317
|
+
node_status: "pending",
|
|
276
318
|
space: userSession.spaceId,
|
|
277
|
-
created_by: userSession.userId
|
|
319
|
+
created_by: userSession.userId,
|
|
278
320
|
})];
|
|
279
321
|
case 1:
|
|
280
322
|
instanceNode = _a.sent();
|
|
@@ -283,7 +325,13 @@ var addInstanceNode = function (instanceId, node, userSession, nodeApprover) { r
|
|
|
283
325
|
case 2:
|
|
284
326
|
if (!(_i < nodeApprover_1.length)) return [3, 5];
|
|
285
327
|
actor = nodeApprover_1[_i];
|
|
286
|
-
return [4, addInstanceHistory(userSession.spaceId, instanceId,
|
|
328
|
+
return [4, addInstanceHistory(userSession.spaceId, instanceId, "pending", null, {
|
|
329
|
+
nodeId: nodeId,
|
|
330
|
+
actor: actor,
|
|
331
|
+
originalActor: actor,
|
|
332
|
+
submitted_by: userSession.userId,
|
|
333
|
+
instanceNodeId: instanceNode._id,
|
|
334
|
+
}, userSession)];
|
|
287
335
|
case 3:
|
|
288
336
|
_a.sent();
|
|
289
337
|
_a.label = 4;
|
|
@@ -294,10 +342,14 @@ var addInstanceNode = function (instanceId, node, userSession, nodeApprover) { r
|
|
|
294
342
|
}
|
|
295
343
|
});
|
|
296
344
|
}); };
|
|
297
|
-
var getNextNode = function (
|
|
298
|
-
|
|
299
|
-
|
|
345
|
+
var getNextNode = function (nodes_1) {
|
|
346
|
+
var args_1 = [];
|
|
347
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
348
|
+
args_1[_i - 1] = arguments[_i];
|
|
349
|
+
}
|
|
350
|
+
return __awaiter(void 0, __spreadArray([nodes_1], args_1, true), void 0, function (nodes, index, objectName, recordId, userSession) {
|
|
300
351
|
var node, canEntry;
|
|
352
|
+
if (index === void 0) { index = 0; }
|
|
301
353
|
return __generator(this, function (_a) {
|
|
302
354
|
switch (_a.label) {
|
|
303
355
|
case 0:
|
|
@@ -311,14 +363,14 @@ var getNextNode = function (nodes, index, objectName, recordId, userSession) {
|
|
|
311
363
|
if (!canEntry) return [3, 3];
|
|
312
364
|
return [2, node];
|
|
313
365
|
case 3:
|
|
314
|
-
if (!(node.if_criteria_not_met ===
|
|
366
|
+
if (!(node.if_criteria_not_met === "skip")) return [3, 5];
|
|
315
367
|
return [4, getNextNode(nodes, index + 1, objectName, recordId, userSession)];
|
|
316
368
|
case 4: return [2, _a.sent()];
|
|
317
369
|
case 5:
|
|
318
|
-
if (node.if_criteria_not_met ===
|
|
370
|
+
if (node.if_criteria_not_met === "reject") {
|
|
319
371
|
return [2, { to_final_rejection: true }];
|
|
320
372
|
}
|
|
321
|
-
else if (node.if_criteria_not_met ===
|
|
373
|
+
else if (node.if_criteria_not_met === "approve") {
|
|
322
374
|
return [2, { to_final_approval: true }];
|
|
323
375
|
}
|
|
324
376
|
_a.label = 6;
|
|
@@ -344,16 +396,26 @@ var getPreviousNode = function (instanceId, currentNode, userSession) { return _
|
|
|
344
396
|
var previousInstanceNodes, previousInstanceNode, previousNode;
|
|
345
397
|
return __generator(this, function (_a) {
|
|
346
398
|
switch (_a.label) {
|
|
347
|
-
case 0: return [4, objectql
|
|
399
|
+
case 0: return [4, objectql
|
|
400
|
+
.getObject("process_instance_node")
|
|
401
|
+
.find({
|
|
402
|
+
filters: [
|
|
403
|
+
["process_instance", "=", instanceId],
|
|
404
|
+
["process_node", "!=", currentNode._id],
|
|
405
|
+
],
|
|
406
|
+
sort: "created desc",
|
|
407
|
+
})];
|
|
348
408
|
case 1:
|
|
349
409
|
previousInstanceNodes = _a.sent();
|
|
350
410
|
if (!!_.isEmpty(previousInstanceNodes)) return [3, 3];
|
|
351
411
|
previousInstanceNode = previousInstanceNodes[0];
|
|
352
|
-
return [4, objectql
|
|
412
|
+
return [4, objectql
|
|
413
|
+
.getObject("process_node")
|
|
414
|
+
.findOne(previousInstanceNode.process_node)];
|
|
353
415
|
case 2:
|
|
354
416
|
previousNode = _a.sent();
|
|
355
417
|
return [2, previousNode];
|
|
356
|
-
case 3: throw new objectql_1.SteedosError(
|
|
418
|
+
case 3: throw new objectql_1.SteedosError("not find previous node");
|
|
357
419
|
}
|
|
358
420
|
});
|
|
359
421
|
}); };
|
|
@@ -363,7 +425,14 @@ var getObjectProcessDefinition = function (objectName, recordId, userSession) {
|
|
|
363
425
|
switch (_a.label) {
|
|
364
426
|
case 0:
|
|
365
427
|
spaceId = userSession.spaceId;
|
|
366
|
-
return [4, objectql.getObject(
|
|
428
|
+
return [4, objectql.getObject("process_definition").find({
|
|
429
|
+
filters: [
|
|
430
|
+
["object_name", "=", objectName],
|
|
431
|
+
["space", "=", spaceId],
|
|
432
|
+
["active", "=", true],
|
|
433
|
+
],
|
|
434
|
+
sort: "order asc",
|
|
435
|
+
})];
|
|
367
436
|
case 1:
|
|
368
437
|
processes = _a.sent();
|
|
369
438
|
if (processes.length < 1) {
|
|
@@ -395,11 +464,19 @@ var recordSubmit = function (processDefinitionId, objectName, recordId, userSess
|
|
|
395
464
|
var pendingInstanceCount, nodes, nextNode, to_final_rejection, to_final_approval, approver, record, instance, options, options;
|
|
396
465
|
return __generator(this, function (_a) {
|
|
397
466
|
switch (_a.label) {
|
|
398
|
-
case 0: return [4, objectql
|
|
467
|
+
case 0: return [4, objectql
|
|
468
|
+
.getObject("process_instance")
|
|
469
|
+
.count({
|
|
470
|
+
filters: [
|
|
471
|
+
["target_object.o", "=", objectName],
|
|
472
|
+
["target_object.ids", "=", recordId],
|
|
473
|
+
["status", "=", "pending"],
|
|
474
|
+
],
|
|
475
|
+
})];
|
|
399
476
|
case 1:
|
|
400
477
|
pendingInstanceCount = _a.sent();
|
|
401
478
|
if (pendingInstanceCount > 0) {
|
|
402
|
-
throw new objectql_1.SteedosError(
|
|
479
|
+
throw new objectql_1.SteedosError("process_approval_error_processInstancePending");
|
|
403
480
|
}
|
|
404
481
|
return [4, getProcessNodes(processDefinitionId, userSession.spaceId)];
|
|
405
482
|
case 2:
|
|
@@ -427,20 +504,20 @@ var recordSubmit = function (processDefinitionId, objectName, recordId, userSess
|
|
|
427
504
|
case 6: return [4, objectql.getObject("process_instance").insert({
|
|
428
505
|
process_definition: processDefinitionId,
|
|
429
506
|
target_object: {
|
|
430
|
-
|
|
431
|
-
|
|
507
|
+
o: objectName,
|
|
508
|
+
ids: [recordId],
|
|
432
509
|
},
|
|
433
510
|
status: "pending",
|
|
434
511
|
space: userSession.spaceId,
|
|
435
512
|
submitted_by: userSession.userId,
|
|
436
|
-
created_by: userSession.userId
|
|
513
|
+
created_by: userSession.userId,
|
|
437
514
|
})];
|
|
438
515
|
case 7:
|
|
439
516
|
instance = _a.sent();
|
|
440
517
|
return [4, lockObjectRecord(objectName, recordId)];
|
|
441
518
|
case 8:
|
|
442
519
|
_a.sent();
|
|
443
|
-
return [4, (0, platform_action_manager_1.runProcessAction)(processDefinitionId,
|
|
520
|
+
return [4, (0, platform_action_manager_1.runProcessAction)(processDefinitionId, "initial_submission", recordId, userSession)];
|
|
444
521
|
case 9:
|
|
445
522
|
_a.sent();
|
|
446
523
|
return [4, addInstanceHistory(userSession.spaceId, instance._id, "started", comment, { actor: userSession.userId }, userSession)];
|
|
@@ -474,7 +551,14 @@ var getReocrdProcessInstance = function (objectName, recordId, status, userSessi
|
|
|
474
551
|
switch (_a.label) {
|
|
475
552
|
case 0:
|
|
476
553
|
spaceId = userSession.spaceId;
|
|
477
|
-
return [4, objectql.getObject("process_instance").find({
|
|
554
|
+
return [4, objectql.getObject("process_instance").find({
|
|
555
|
+
filters: [
|
|
556
|
+
["space", "=", spaceId],
|
|
557
|
+
["status", "=", status],
|
|
558
|
+
["target_object.o", "=", objectName],
|
|
559
|
+
["target_object.ids", "=", recordId],
|
|
560
|
+
],
|
|
561
|
+
})];
|
|
478
562
|
case 1: return [2, _a.sent()];
|
|
479
563
|
}
|
|
480
564
|
});
|
|
@@ -487,7 +571,14 @@ var getProcessInstanceWorkitem = function (instanceHistoryId, userSession) { ret
|
|
|
487
571
|
case 0:
|
|
488
572
|
spaceId = userSession.spaceId;
|
|
489
573
|
userId = userSession.userId;
|
|
490
|
-
return [4, objectql.getObject("process_instance_history").find({
|
|
574
|
+
return [4, objectql.getObject("process_instance_history").find({
|
|
575
|
+
filters: [
|
|
576
|
+
["_id", "=", instanceHistoryId],
|
|
577
|
+
["step_status", "=", "pending"],
|
|
578
|
+
["actor", "=", userId],
|
|
579
|
+
["space", "=", spaceId],
|
|
580
|
+
],
|
|
581
|
+
})];
|
|
491
582
|
case 1:
|
|
492
583
|
workitme = _a.sent();
|
|
493
584
|
if (workitme.length > 0) {
|
|
@@ -499,25 +590,25 @@ var getProcessInstanceWorkitem = function (instanceHistoryId, userSession) { ret
|
|
|
499
590
|
}); };
|
|
500
591
|
exports.getProcessInstanceWorkitem = getProcessInstanceWorkitem;
|
|
501
592
|
var getProcessActionWhenByStatus = function (processStatus) {
|
|
502
|
-
var when =
|
|
503
|
-
if (processStatus ===
|
|
504
|
-
when =
|
|
593
|
+
var when = "";
|
|
594
|
+
if (processStatus === "approved") {
|
|
595
|
+
when = "final_approval";
|
|
505
596
|
}
|
|
506
|
-
else if (processStatus ===
|
|
507
|
-
when =
|
|
597
|
+
else if (processStatus === "rejected") {
|
|
598
|
+
when = "final_rejection";
|
|
508
599
|
}
|
|
509
|
-
else if (processStatus ===
|
|
510
|
-
when =
|
|
600
|
+
else if (processStatus === "removed") {
|
|
601
|
+
when = "recall";
|
|
511
602
|
}
|
|
512
603
|
return when;
|
|
513
604
|
};
|
|
514
605
|
var getProcessNodeActionWhenByStatus = function (processStatus) {
|
|
515
|
-
var when =
|
|
516
|
-
if (processStatus ===
|
|
517
|
-
when =
|
|
606
|
+
var when = "";
|
|
607
|
+
if (processStatus === "approved") {
|
|
608
|
+
when = "approval";
|
|
518
609
|
}
|
|
519
|
-
else if (processStatus ===
|
|
520
|
-
when =
|
|
610
|
+
else if (processStatus === "rejected") {
|
|
611
|
+
when = "rejection";
|
|
521
612
|
}
|
|
522
613
|
return when;
|
|
523
614
|
};
|
|
@@ -525,23 +616,38 @@ var handleProcessInstance = function (instanceId, processStatus, userSession) {
|
|
|
525
616
|
var otherPendingInstanceNodeCount, pInstance, process_1, when;
|
|
526
617
|
return __generator(this, function (_a) {
|
|
527
618
|
switch (_a.label) {
|
|
528
|
-
case 0: return [4, objectql
|
|
619
|
+
case 0: return [4, objectql
|
|
620
|
+
.getObject("process_instance_node")
|
|
621
|
+
.count({
|
|
622
|
+
filters: [
|
|
623
|
+
["process_instance", "=", instanceId],
|
|
624
|
+
["node_status", "=", "pending"],
|
|
625
|
+
],
|
|
626
|
+
})];
|
|
529
627
|
case 1:
|
|
530
628
|
otherPendingInstanceNodeCount = _a.sent();
|
|
531
629
|
if (!(otherPendingInstanceNodeCount === 0)) return [3, 18];
|
|
532
|
-
return [4, objectql
|
|
630
|
+
return [4, objectql
|
|
631
|
+
.getObject("process_instance")
|
|
632
|
+
.update(instanceId, {
|
|
633
|
+
status: processStatus,
|
|
634
|
+
completed_date: new Date(),
|
|
635
|
+
last_actor: userSession.userId,
|
|
636
|
+
})];
|
|
533
637
|
case 2:
|
|
534
638
|
pInstance = _a.sent();
|
|
535
|
-
if (!(processStatus ===
|
|
639
|
+
if (!(processStatus === "removed")) return [3, 4];
|
|
536
640
|
return [4, unlockObjectRecord(pInstance.target_object.o, pInstance.target_object.ids[0])];
|
|
537
641
|
case 3:
|
|
538
642
|
_a.sent();
|
|
539
643
|
return [3, 14];
|
|
540
|
-
case 4: return [4, objectql
|
|
644
|
+
case 4: return [4, objectql
|
|
645
|
+
.getObject("process_definition")
|
|
646
|
+
.findOne(pInstance.process_definition)];
|
|
541
647
|
case 5:
|
|
542
648
|
process_1 = _a.sent();
|
|
543
|
-
if (!(processStatus ===
|
|
544
|
-
if (!(process_1.final_approval_record_lock ===
|
|
649
|
+
if (!(processStatus === "approved")) return [3, 10];
|
|
650
|
+
if (!(process_1.final_approval_record_lock === "unlock")) return [3, 7];
|
|
545
651
|
return [4, unlockObjectRecord(pInstance.target_object.o, pInstance.target_object.ids[0])];
|
|
546
652
|
case 6:
|
|
547
653
|
_a.sent();
|
|
@@ -552,8 +658,8 @@ var handleProcessInstance = function (instanceId, processStatus, userSession) {
|
|
|
552
658
|
_a.label = 9;
|
|
553
659
|
case 9: return [3, 14];
|
|
554
660
|
case 10:
|
|
555
|
-
if (!(processStatus ===
|
|
556
|
-
if (!(process_1.final_rejection_record_lock ===
|
|
661
|
+
if (!(processStatus === "rejected")) return [3, 14];
|
|
662
|
+
if (!(process_1.final_rejection_record_lock === "unlock")) return [3, 12];
|
|
557
663
|
return [4, unlockObjectRecord(pInstance.target_object.o, pInstance.target_object.ids[0])];
|
|
558
664
|
case 11:
|
|
559
665
|
_a.sent();
|
|
@@ -570,8 +676,11 @@ var handleProcessInstance = function (instanceId, processStatus, userSession) {
|
|
|
570
676
|
_a.sent();
|
|
571
677
|
_a.label = 16;
|
|
572
678
|
case 16:
|
|
573
|
-
if (!([
|
|
574
|
-
return [4, (0, notifications_1.sendNotifications)(pInstance.created_by, pInstance.created_by, {
|
|
679
|
+
if (!(["approved", "rejected"].indexOf(processStatus) > -1)) return [3, 18];
|
|
680
|
+
return [4, (0, notifications_1.sendNotifications)(pInstance.created_by, pInstance.created_by, {
|
|
681
|
+
status: processStatus,
|
|
682
|
+
instance: pInstance,
|
|
683
|
+
})];
|
|
575
684
|
case 17:
|
|
576
685
|
_a.sent();
|
|
577
686
|
_a.label = 18;
|
|
@@ -583,7 +692,12 @@ var getCurrentInstanceNode = function (instanceId) { return __awaiter(void 0, vo
|
|
|
583
692
|
var pendingNodes, currentNode;
|
|
584
693
|
return __generator(this, function (_a) {
|
|
585
694
|
switch (_a.label) {
|
|
586
|
-
case 0: return [4, objectql.getObject("process_instance_node").find({
|
|
695
|
+
case 0: return [4, objectql.getObject("process_instance_node").find({
|
|
696
|
+
filters: [
|
|
697
|
+
["process_instance", "=", instanceId],
|
|
698
|
+
["node_status", "=", "pending"],
|
|
699
|
+
],
|
|
700
|
+
})];
|
|
587
701
|
case 1:
|
|
588
702
|
pendingNodes = _a.sent();
|
|
589
703
|
currentNode = null;
|
|
@@ -614,17 +728,33 @@ var handleProcessInstanceNode = function (instanceId, currentInstanceNode, proce
|
|
|
614
728
|
var otherPendingInstanceHistoryCount, finalProcessStatus, when, instance, to_final_rejection, to_final_approval;
|
|
615
729
|
return __generator(this, function (_a) {
|
|
616
730
|
switch (_a.label) {
|
|
617
|
-
case 0: return [4, objectql
|
|
731
|
+
case 0: return [4, objectql
|
|
732
|
+
.getObject("process_instance_history")
|
|
733
|
+
.count({
|
|
734
|
+
filters: [
|
|
735
|
+
["process_instance", "=", instanceId],
|
|
736
|
+
["step_status", "=", "pending"],
|
|
737
|
+
],
|
|
738
|
+
})];
|
|
618
739
|
case 1:
|
|
619
740
|
otherPendingInstanceHistoryCount = _a.sent();
|
|
620
741
|
if (!(otherPendingInstanceHistoryCount === 0)) return [3, 11];
|
|
621
742
|
finalProcessStatus = processStatus;
|
|
622
|
-
return [4, objectql.getObject("process_instance_node").updateMany([
|
|
743
|
+
return [4, objectql.getObject("process_instance_node").updateMany([
|
|
744
|
+
["process_instance", "=", instanceId],
|
|
745
|
+
["node_status", "=", "pending"],
|
|
746
|
+
], {
|
|
747
|
+
node_status: processStatus,
|
|
748
|
+
completed_date: new Date(),
|
|
749
|
+
last_actor: userSession.userId,
|
|
750
|
+
})];
|
|
623
751
|
case 2:
|
|
624
752
|
_a.sent();
|
|
625
753
|
when = getProcessNodeActionWhenByStatus(processStatus);
|
|
626
754
|
if (!when) return [3, 5];
|
|
627
|
-
return [4, objectql
|
|
755
|
+
return [4, objectql
|
|
756
|
+
.getObject("process_instance")
|
|
757
|
+
.findOne(instanceId)];
|
|
628
758
|
case 3:
|
|
629
759
|
instance = _a.sent();
|
|
630
760
|
return [4, (0, platform_action_manager_1.runProcessNodeAction)(currentInstanceNode.process_node, when, instance.target_object.ids[0], userSession)];
|
|
@@ -637,11 +767,11 @@ var handleProcessInstanceNode = function (instanceId, currentInstanceNode, proce
|
|
|
637
767
|
to_final_approval = false;
|
|
638
768
|
if (nextNodeOptions.node.to_final_rejection) {
|
|
639
769
|
to_final_rejection = true;
|
|
640
|
-
finalProcessStatus =
|
|
770
|
+
finalProcessStatus = "rejected";
|
|
641
771
|
}
|
|
642
772
|
else if (nextNodeOptions.node.to_final_approval) {
|
|
643
773
|
to_final_approval = true;
|
|
644
|
-
finalProcessStatus =
|
|
774
|
+
finalProcessStatus = "approved";
|
|
645
775
|
}
|
|
646
776
|
if (!to_final_rejection) return [3, 6];
|
|
647
777
|
return [3, 9];
|
|
@@ -663,7 +793,9 @@ var handleProcessInstanceNode = function (instanceId, currentInstanceNode, proce
|
|
|
663
793
|
var getInstanceHistory = function (instanceHistoryId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
664
794
|
return __generator(this, function (_a) {
|
|
665
795
|
switch (_a.label) {
|
|
666
|
-
case 0: return [4, objectql
|
|
796
|
+
case 0: return [4, objectql
|
|
797
|
+
.getObject("process_instance_history")
|
|
798
|
+
.findOne(instanceHistoryId)];
|
|
667
799
|
case 1: return [2, _a.sent()];
|
|
668
800
|
}
|
|
669
801
|
});
|
|
@@ -671,7 +803,12 @@ var getInstanceHistory = function (instanceHistoryId) { return __awaiter(void 0,
|
|
|
671
803
|
var getPendingInstanceHistoryCount = function (instanceId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
672
804
|
return __generator(this, function (_a) {
|
|
673
805
|
switch (_a.label) {
|
|
674
|
-
case 0: return [4, objectql.getObject("process_instance_history").count({
|
|
806
|
+
case 0: return [4, objectql.getObject("process_instance_history").count({
|
|
807
|
+
filters: [
|
|
808
|
+
["process_instance", "=", instanceId],
|
|
809
|
+
["step_status", "=", "pending"],
|
|
810
|
+
],
|
|
811
|
+
})];
|
|
675
812
|
case 1: return [2, _a.sent()];
|
|
676
813
|
}
|
|
677
814
|
});
|
|
@@ -683,13 +820,21 @@ var handleProcessInstanceWorkitem = function (currentInstanceNode, processStatus
|
|
|
683
820
|
case 0: return [4, getInstanceHistory(instanceHistoryId)];
|
|
684
821
|
case 1:
|
|
685
822
|
instanceHistory = _a.sent();
|
|
686
|
-
if (!(processStatus ===
|
|
687
|
-
return [4, objectql
|
|
823
|
+
if (!(processStatus === "rejected" || processStatus === "approved")) return [3, 6];
|
|
824
|
+
return [4, objectql
|
|
825
|
+
.getObject("process_instance_history")
|
|
826
|
+
.update(instanceHistoryId, {
|
|
827
|
+
step_status: processStatus,
|
|
828
|
+
comments: comment,
|
|
829
|
+
actor: userSession.userId,
|
|
830
|
+
})];
|
|
688
831
|
case 2:
|
|
689
832
|
_a.sent();
|
|
690
|
-
when_multiple_approvers =
|
|
833
|
+
when_multiple_approvers = "first_response";
|
|
691
834
|
if (!instanceHistory.step_node) return [3, 4];
|
|
692
|
-
return [4, objectql
|
|
835
|
+
return [4, objectql
|
|
836
|
+
.getObject("process_node")
|
|
837
|
+
.findOne(instanceHistory.step_node)];
|
|
693
838
|
case 3:
|
|
694
839
|
processNode = _a.sent();
|
|
695
840
|
if (processNode && processNode.when_multiple_approvers) {
|
|
@@ -697,8 +842,13 @@ var handleProcessInstanceWorkitem = function (currentInstanceNode, processStatus
|
|
|
697
842
|
}
|
|
698
843
|
_a.label = 4;
|
|
699
844
|
case 4:
|
|
700
|
-
if (!(when_multiple_approvers ===
|
|
701
|
-
|
|
845
|
+
if (!(when_multiple_approvers === "first_response" ||
|
|
846
|
+
(when_multiple_approvers === "unanimous" && processStatus === "rejected"))) return [3, 6];
|
|
847
|
+
return [4, objectql.getObject("process_instance_history").updateMany([
|
|
848
|
+
["_id", "!=", instanceHistory._id],
|
|
849
|
+
["process_instance", "=", instanceHistory.process_instance],
|
|
850
|
+
["step_status", "=", "pending"],
|
|
851
|
+
], { step_status: "no_response" })];
|
|
702
852
|
case 5:
|
|
703
853
|
_a.sent();
|
|
704
854
|
_a.label = 6;
|
|
@@ -731,8 +881,10 @@ var processInstanceWorkitemApprove = function (instanceHistoryId, userSession, c
|
|
|
731
881
|
return [4, getProcessNodes(instance.process_definition, userSession.spaceId)];
|
|
732
882
|
case 5:
|
|
733
883
|
nodes = _c.sent();
|
|
734
|
-
index = _.findIndex(nodes, function (item) {
|
|
735
|
-
|
|
884
|
+
index = _.findIndex(nodes, function (item) {
|
|
885
|
+
return item._id === currentInstanceNode.process_node;
|
|
886
|
+
});
|
|
887
|
+
_a = currentProcessNode.when_multiple_approvers === "first_response";
|
|
736
888
|
if (_a) return [3, 7];
|
|
737
889
|
return [4, getPendingInstanceHistoryCount(instanceId)];
|
|
738
890
|
case 6:
|
|
@@ -751,7 +903,7 @@ var processInstanceWorkitemApprove = function (instanceHistoryId, userSession, c
|
|
|
751
903
|
case 9:
|
|
752
904
|
_b.approve = _c.sent();
|
|
753
905
|
_c.label = 10;
|
|
754
|
-
case 10: return [4, handleProcessInstanceWorkitem(currentInstanceNode,
|
|
906
|
+
case 10: return [4, handleProcessInstanceWorkitem(currentInstanceNode, "approved", instanceHistoryId, userSession, comment, nextNodeOptions)];
|
|
755
907
|
case 11:
|
|
756
908
|
_c.sent();
|
|
757
909
|
return [2];
|
|
@@ -775,7 +927,7 @@ var processInstanceWorkitemReject = function (instanceHistoryId, userSession, co
|
|
|
775
927
|
return [4, getProcessNode(instanceHistory.step_node)];
|
|
776
928
|
case 3:
|
|
777
929
|
currentProcessNode = _c.sent();
|
|
778
|
-
if (!(currentProcessNode.reject_behavior ===
|
|
930
|
+
if (!(currentProcessNode.reject_behavior === "back_to_previous")) return [3, 6];
|
|
779
931
|
nextNodeOptions = {};
|
|
780
932
|
_a = nextNodeOptions;
|
|
781
933
|
return [4, getPreviousNode(instanceId, currentProcessNode, userSession)];
|
|
@@ -786,7 +938,7 @@ var processInstanceWorkitemReject = function (instanceHistoryId, userSession, co
|
|
|
786
938
|
case 5:
|
|
787
939
|
_b.approve = _c.sent();
|
|
788
940
|
_c.label = 6;
|
|
789
|
-
case 6: return [4, handleProcessInstanceWorkitem(currentInstanceNode,
|
|
941
|
+
case 6: return [4, handleProcessInstanceWorkitem(currentInstanceNode, "rejected", instanceHistoryId, userSession, comment, nextNodeOptions)];
|
|
790
942
|
case 7:
|
|
791
943
|
_c.sent();
|
|
792
944
|
return [2];
|
|
@@ -800,19 +952,26 @@ var processInstanceWorkitemReassign = function (instanceHistoryId, userSession,
|
|
|
800
952
|
switch (_a.label) {
|
|
801
953
|
case 0:
|
|
802
954
|
if (_.isEmpty(chooseApprover)) {
|
|
803
|
-
throw new objectql_1.SteedosError(
|
|
955
|
+
throw new objectql_1.SteedosError("process_approval_error_reassign_approver_notFind");
|
|
804
956
|
}
|
|
805
957
|
if (!_.isString(chooseApprover)) {
|
|
806
|
-
throw new objectql_1.SteedosError(
|
|
958
|
+
throw new objectql_1.SteedosError("process_approval_error_reassign_approver_mustBeString");
|
|
807
959
|
}
|
|
808
|
-
return [4, objectql
|
|
960
|
+
return [4, objectql
|
|
961
|
+
.getObject("process_instance_history")
|
|
962
|
+
.update(instanceHistoryId, {
|
|
809
963
|
step_status: "reassigned",
|
|
810
964
|
actor: chooseApprover,
|
|
811
|
-
comments: comment
|
|
965
|
+
comments: comment,
|
|
812
966
|
})];
|
|
813
967
|
case 1:
|
|
814
968
|
history = _a.sent();
|
|
815
|
-
return [4, addInstanceHistory(userSession.spaceId, history.process_instance,
|
|
969
|
+
return [4, addInstanceHistory(userSession.spaceId, history.process_instance, "pending", null, {
|
|
970
|
+
nodeId: history.step_node,
|
|
971
|
+
actor: chooseApprover,
|
|
972
|
+
originalActor: history.original_actor,
|
|
973
|
+
submitted_by: userSession.userId,
|
|
974
|
+
}, userSession)];
|
|
816
975
|
case 2:
|
|
817
976
|
_a.sent();
|
|
818
977
|
return [2];
|
|
@@ -825,8 +984,11 @@ var processInstanceWorkitemRemovebyInstance = function (instanceId, userSession,
|
|
|
825
984
|
return __generator(this, function (_a) {
|
|
826
985
|
switch (_a.label) {
|
|
827
986
|
case 0:
|
|
828
|
-
processStatus =
|
|
829
|
-
return [4, objectql.getObject("process_instance_history").updateMany([
|
|
987
|
+
processStatus = "removed";
|
|
988
|
+
return [4, objectql.getObject("process_instance_history").updateMany([
|
|
989
|
+
["process_instance", "=", instanceId],
|
|
990
|
+
["step_status", "=", "pending"],
|
|
991
|
+
], { step_status: processStatus, comments: comment })];
|
|
830
992
|
case 1:
|
|
831
993
|
_a.sent();
|
|
832
994
|
return [4, handleProcessInstanceNode(instanceId, null, processStatus, null, userSession)];
|