@steedos-labs/content-compliance 0.7.18 → 0.7.20

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.
@@ -1,317 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.countApprovalMaterialTask = exports.countApprovalTask = exports.getMaterialStatus = exports.rejectTask = exports.approveTask = exports.submitMaterialTask = void 0;
4
- var tslib_1 = require("tslib");
5
- var _ = require("lodash");
6
- var consts_1 = require("./consts");
7
- var material_1 = require("./material");
8
- var getApproverUsers = function (ctx, approveField, approval) {
9
- switch (approveField) {
10
- case 'ca_approval_status':
11
- return approval.handler_ca;
12
- case 'sra_approval_status':
13
- return approval.handler_sra;
14
- case 'ns_approval_status':
15
- return approval.handler_ns;
16
- case 'legal_approval_status':
17
- return approval.handler_legal;
18
- case 'approval_status':
19
- return approval.handler_guding;
20
- case 'kids_approval_status':
21
- return approval.handler_kids;
22
- default:
23
- break;
24
- }
25
- };
26
- var submitMaterialTask = function (ctx, materialId, approvalStatus) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function () {
28
- var user, material, approval, approveField, approveUsers, _a, materialList, pendingMaterialList, tasks, pendingMaterialIds, taskMaterialIds, processed, filters, process_2, rejectedTask, approvalStatus_1, process_1, process_1_1, item, e_1_1, status;
29
- var e_1, _b;
30
- return tslib_1.__generator(this, function (_c) {
31
- switch (_c.label) {
32
- case 0:
33
- user = ctx.meta.user;
34
- return [4, ctx.getObject('pepsico_material').findOne(materialId)];
35
- case 1:
36
- material = _c.sent();
37
- return [4, ctx.getObject('pepsico_material_approval').findOne(material.pepsico_material_approval)];
38
- case 2:
39
- approval = _c.sent();
40
- return [4, (0, material_1.getApproverField)(ctx, approval, material, user.userId)];
41
- case 3:
42
- approveField = _c.sent();
43
- return [4, getApproverUsers(ctx, approveField, approval)];
44
- case 4:
45
- approveUsers = _c.sent();
46
- if (!approveField) {
47
- return [2];
48
- }
49
- _a = approvalStatus;
50
- switch (_a) {
51
- case consts_1.ApprovalStatus.approved: return [3, 5];
52
- case consts_1.ApprovalStatus.rejected: return [3, 7];
53
- }
54
- return [3, 9];
55
- case 5: return [4, (0, exports.approveTask)(ctx, approval, material, user, approveField)];
56
- case 6:
57
- _c.sent();
58
- return [3, 10];
59
- case 7: return [4, (0, exports.rejectTask)(ctx, approval, material, user, approveField)];
60
- case 8:
61
- _c.sent();
62
- return [3, 10];
63
- case 9: return [3, 10];
64
- case 10:
65
- ;
66
- return [4, ctx.getObject('pepsico_material').find({
67
- filters: [
68
- ['pepsico_material_approval', '=', approval._id],
69
- ['void_material', '!=', true]
70
- ]
71
- })];
72
- case 11:
73
- materialList = _c.sent();
74
- pendingMaterialList = _.filter(materialList, function (record) {
75
- return record[approveField] === null || !_.has(record, approveField) || record[approveField] === '' || record[approveField] === undefined;
76
- });
77
- return [4, ctx.getObject('pepsico_approval_task').find({
78
- filters: [
79
- ['pepsico_material_approval', '=', approval._id],
80
- ['approval_field', '=', approveField],
81
- ['pepsico_material', 'in', _.map(materialList, '_id')],
82
- ['owner', '=', user.userId],
83
- ['done', '!=', true]
84
- ]
85
- })];
86
- case 12:
87
- tasks = _c.sent();
88
- pendingMaterialIds = _.map(pendingMaterialList, '_id');
89
- taskMaterialIds = _.uniq(_.map(tasks, 'pepsico_material'));
90
- processed = _.intersection(pendingMaterialIds, taskMaterialIds);
91
- console.log('submitMaterialTask: pendingMaterialIds', approval._id, pendingMaterialIds);
92
- console.log('submitMaterialTask: taskMaterialIds', approval._id, taskMaterialIds);
93
- console.log('submitMaterialTask', approval._id, processed.length, tasks.length, pendingMaterialList.length);
94
- console.log('submitMaterialTask: tasks', approval._id, JSON.stringify(tasks));
95
- if (!(processed.length == pendingMaterialList.length)) return [3, 23];
96
- if (!(approveField != 'kids_approval_status')) return [3, 21];
97
- filters = [
98
- ["owner", "=", user.userId],
99
- ["pepsico_material_approval", "=", approval._id],
100
- ["current_step", "=", approval.current_step],
101
- ["space", "=", approval.space],
102
- ["approved", "=", 'progess']
103
- ];
104
- return [4, ctx.getObject("pepsico_approval_process").find({
105
- filters: filters,
106
- top: 1,
107
- sort: "modified asc"
108
- })];
109
- case 13:
110
- process_2 = _c.sent();
111
- rejectedTask = _.find(tasks, function (item) { return item.approval_status != true; });
112
- approvalStatus_1 = rejectedTask ? consts_1.ApprovalStatus.rejected : consts_1.ApprovalStatus.approved;
113
- console.log("approvalStatus: ", approval._id, approvalStatus_1, JSON.stringify(rejectedTask));
114
- _c.label = 14;
115
- case 14:
116
- _c.trys.push([14, 19, 20, 21]);
117
- process_1 = tslib_1.__values(process_2), process_1_1 = process_1.next();
118
- _c.label = 15;
119
- case 15:
120
- if (!!process_1_1.done) return [3, 18];
121
- item = process_1_1.value;
122
- console.log("pepsico_approval_process update: ", approval._id, item._id, JSON.stringify({
123
- submitted: new Date(),
124
- modified: new Date(),
125
- modified_by: user.userId,
126
- approved: approvalStatus_1 || 'submit',
127
- name: ctx.params.comment
128
- }));
129
- return [4, ctx.getObject("pepsico_approval_process").update(item._id, {
130
- submitted: new Date(),
131
- modified: new Date(),
132
- modified_by: user.userId,
133
- approved: approvalStatus_1 || 'submit',
134
- name: ctx.params.comment
135
- })];
136
- case 16:
137
- _c.sent();
138
- _c.label = 17;
139
- case 17:
140
- process_1_1 = process_1.next();
141
- return [3, 15];
142
- case 18: return [3, 21];
143
- case 19:
144
- e_1_1 = _c.sent();
145
- e_1 = { error: e_1_1 };
146
- return [3, 21];
147
- case 20:
148
- try {
149
- if (process_1_1 && !process_1_1.done && (_b = process_1.return)) _b.call(process_1);
150
- }
151
- finally { if (e_1) throw e_1.error; }
152
- return [7];
153
- case 21: return [4, ctx.getObject('pepsico_approval_task').directUpdateMany(['_id', '=', _.map(_.filter(tasks, function (item) {
154
- return item.done != true;
155
- }), '_id')], {
156
- done: true,
157
- done_time: new Date()
158
- })];
159
- case 22:
160
- _c.sent();
161
- _c.label = 23;
162
- case 23: return [4, (0, exports.getMaterialStatus)(ctx, approval, approveUsers, approveField, materialId)];
163
- case 24:
164
- status = _c.sent();
165
- console.log("getMaterialStatus: ", approval._id, status);
166
- if (status === consts_1.ApprovalStatus.pending) {
167
- return [2];
168
- }
169
- return [4, this.submitMaterial.call(this, ctx, ctx.params.recordId, status)];
170
- case 25: return [2, _c.sent()];
171
- }
172
- });
173
- });
174
- };
175
- exports.submitMaterialTask = submitMaterialTask;
176
- var approveTask = function (ctx, approval, material, userSession, approveField) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
177
- var tasks;
178
- return tslib_1.__generator(this, function (_a) {
179
- switch (_a.label) {
180
- case 0: return [4, ctx.getObject('pepsico_approval_task').find({
181
- filters: [
182
- ['pepsico_material_approval', '=', approval._id],
183
- ['pepsico_material', '=', material._id],
184
- ['approval_field', '=', approveField],
185
- ['owner', '=', userSession.userId],
186
- ['done', '!=', true]
187
- ]
188
- })];
189
- case 1:
190
- tasks = _a.sent();
191
- if (!(tasks.length > 0)) return [3, 3];
192
- return [4, ctx.getObject('pepsico_approval_task').update(tasks[0]._id, {
193
- approval_status: true,
194
- approve_time: new Date(),
195
- $inc: { count: 1 }
196
- })];
197
- case 2:
198
- _a.sent();
199
- return [3, 5];
200
- case 3: return [4, ctx.getObject('pepsico_approval_task').insert({
201
- pepsico_material_approval: approval._id,
202
- pepsico_material: material._id,
203
- approval_field: approveField,
204
- owner: userSession.userId,
205
- approval_status: true,
206
- created: new Date(),
207
- modified: new Date(),
208
- approve_time: new Date(),
209
- space: approval.space,
210
- count: 1
211
- })];
212
- case 4:
213
- _a.sent();
214
- _a.label = 5;
215
- case 5: return [2];
216
- }
217
- });
218
- }); };
219
- exports.approveTask = approveTask;
220
- var rejectTask = function (ctx, approval, material, userSession, approveField) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
221
- var tasks;
222
- return tslib_1.__generator(this, function (_a) {
223
- switch (_a.label) {
224
- case 0: return [4, ctx.getObject('pepsico_approval_task').find({
225
- filters: [
226
- ['pepsico_material_approval', '=', approval._id],
227
- ['pepsico_material', '=', material._id],
228
- ['approval_field', '=', approveField],
229
- ['owner', '=', userSession.userId],
230
- ['done', '!=', true]
231
- ]
232
- })];
233
- case 1:
234
- tasks = _a.sent();
235
- if (!(tasks.length > 0)) return [3, 3];
236
- return [4, ctx.getObject('pepsico_approval_task').update(tasks[0]._id, {
237
- approval_status: false,
238
- approve_time: new Date(),
239
- $inc: { count: 1 }
240
- })];
241
- case 2:
242
- _a.sent();
243
- return [3, 5];
244
- case 3: return [4, ctx.getObject('pepsico_approval_task').insert({
245
- pepsico_material_approval: approval._id,
246
- pepsico_material: material._id,
247
- approval_field: approveField,
248
- owner: userSession.userId,
249
- approval_status: false,
250
- created: new Date(),
251
- modified: new Date(),
252
- approve_time: new Date(),
253
- space: approval.space,
254
- count: 1
255
- })];
256
- case 4:
257
- _a.sent();
258
- _a.label = 5;
259
- case 5: return [2];
260
- }
261
- });
262
- }); };
263
- exports.rejectTask = rejectTask;
264
- var getMaterialStatus = function (ctx, approval, usersId, approveField, materialId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
265
- var tasks, _loop_1, usersId_1, usersId_1_1, userId, state_1;
266
- var e_2, _a;
267
- return tslib_1.__generator(this, function (_b) {
268
- switch (_b.label) {
269
- case 0:
270
- console.log('getMaterialStatus: ', approval._id, usersId, approveField, materialId);
271
- return [4, ctx.getObject('pepsico_approval_task').find({
272
- filters: [
273
- ['pepsico_material_approval', '=', approval._id],
274
- ['approval_field', '=', approveField],
275
- ['pepsico_material', '=', materialId]
276
- ]
277
- })];
278
- case 1:
279
- tasks = _b.sent();
280
- console.log('getMaterialStatus: ', approval._id, materialId, 'tasks.length:', tasks.length);
281
- if (usersId.length > tasks.length) {
282
- return [2, consts_1.ApprovalStatus.pending];
283
- }
284
- _loop_1 = function (userId) {
285
- var userTasks = _.filter(tasks, function (item) { return item.owner == userId; });
286
- console.log('userTasks', userId, JSON.stringify(userTasks));
287
- if (!_.find(userTasks, function (item) { return item.approval_status == true; })) {
288
- return { value: consts_1.ApprovalStatus.rejected };
289
- }
290
- };
291
- try {
292
- for (usersId_1 = tslib_1.__values(usersId), usersId_1_1 = usersId_1.next(); !usersId_1_1.done; usersId_1_1 = usersId_1.next()) {
293
- userId = usersId_1_1.value;
294
- state_1 = _loop_1(userId);
295
- if (typeof state_1 === "object")
296
- return [2, state_1.value];
297
- }
298
- }
299
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
300
- finally {
301
- try {
302
- if (usersId_1_1 && !usersId_1_1.done && (_a = usersId_1.return)) _a.call(usersId_1);
303
- }
304
- finally { if (e_2) throw e_2.error; }
305
- }
306
- return [2, consts_1.ApprovalStatus.approved];
307
- }
308
- });
309
- }); };
310
- exports.getMaterialStatus = getMaterialStatus;
311
- var countApprovalTask = function () {
312
- };
313
- exports.countApprovalTask = countApprovalTask;
314
- var countApprovalMaterialTask = function () {
315
- };
316
- exports.countApprovalMaterialTask = countApprovalMaterialTask;
317
- //# sourceMappingURL=task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/methods/task.ts"],"names":[],"mappings":"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"}