@steedos-labs/content-compliance 0.7.18 → 0.7.19

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 (157) hide show
  1. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +1 -1
  2. package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml +1 -1
  3. package/package.json +1 -1
  4. package/dist/index.js +0 -1
  5. package/lib/actions/addBulkMaterials.d.ts +0 -15
  6. package/lib/actions/addBulkMaterials.js +0 -69
  7. package/lib/actions/addBulkMaterials.js.map +0 -1
  8. package/lib/actions/briefFlows.d.ts +0 -14
  9. package/lib/actions/briefFlows.js +0 -46
  10. package/lib/actions/briefFlows.js.map +0 -1
  11. package/lib/actions/bypassApproval.d.ts +0 -10
  12. package/lib/actions/bypassApproval.js +0 -269
  13. package/lib/actions/bypassApproval.js.map +0 -1
  14. package/lib/actions/bypassMaterial.d.ts +0 -10
  15. package/lib/actions/bypassMaterial.js +0 -190
  16. package/lib/actions/bypassMaterial.js.map +0 -1
  17. package/lib/actions/calculateSpotCheckRates.d.ts +0 -13
  18. package/lib/actions/calculateSpotCheckRates.js +0 -94
  19. package/lib/actions/calculateSpotCheckRates.js.map +0 -1
  20. package/lib/actions/collection.d.ts +0 -2
  21. package/lib/actions/collection.js +0 -26
  22. package/lib/actions/collection.js.map +0 -1
  23. package/lib/actions/confirmDeployment.d.ts +0 -7
  24. package/lib/actions/confirmDeployment.js +0 -31
  25. package/lib/actions/confirmDeployment.js.map +0 -1
  26. package/lib/actions/dashboard_sync_data.d.ts +0 -7
  27. package/lib/actions/dashboard_sync_data.js +0 -30
  28. package/lib/actions/dashboard_sync_data.js.map +0 -1
  29. package/lib/actions/fixStuckPersonnelReview.d.ts +0 -20
  30. package/lib/actions/fixStuckPersonnelReview.js +0 -145
  31. package/lib/actions/fixStuckPersonnelReview.js.map +0 -1
  32. package/lib/actions/hasDuplicateMaterials.d.ts +0 -9
  33. package/lib/actions/hasDuplicateMaterials.js +0 -30
  34. package/lib/actions/hasDuplicateMaterials.js.map +0 -1
  35. package/lib/actions/imageComparison.d.ts +0 -34
  36. package/lib/actions/imageComparison.js +0 -95
  37. package/lib/actions/imageComparison.js.map +0 -1
  38. package/lib/actions/index.d.ts +0 -27
  39. package/lib/actions/index.js +0 -31
  40. package/lib/actions/index.js.map +0 -1
  41. package/lib/actions/initCollaborator.d.ts +0 -13
  42. package/lib/actions/initCollaborator.js +0 -87
  43. package/lib/actions/initCollaborator.js.map +0 -1
  44. package/lib/actions/initUrgentQuota.d.ts +0 -17
  45. package/lib/actions/initUrgentQuota.js +0 -99
  46. package/lib/actions/initUrgentQuota.js.map +0 -1
  47. package/lib/actions/migrateReviewCompletedDate.d.ts +0 -21
  48. package/lib/actions/migrateReviewCompletedDate.js +0 -150
  49. package/lib/actions/migrateReviewCompletedDate.js.map +0 -1
  50. package/lib/actions/migrateSpotCheckData.d.ts +0 -23
  51. package/lib/actions/migrateSpotCheckData.js +0 -143
  52. package/lib/actions/migrateSpotCheckData.js.map +0 -1
  53. package/lib/actions/migrateSpotCheckDepartments.d.ts +0 -25
  54. package/lib/actions/migrateSpotCheckDepartments.js +0 -142
  55. package/lib/actions/migrateSpotCheckDepartments.js.map +0 -1
  56. package/lib/actions/postponeDeployment.d.ts +0 -7
  57. package/lib/actions/postponeDeployment.js +0 -30
  58. package/lib/actions/postponeDeployment.js.map +0 -1
  59. package/lib/actions/postponeReview.d.ts +0 -7
  60. package/lib/actions/postponeReview.js +0 -30
  61. package/lib/actions/postponeReview.js.map +0 -1
  62. package/lib/actions/progress.d.ts +0 -18
  63. package/lib/actions/progress.js +0 -71
  64. package/lib/actions/progress.js.map +0 -1
  65. package/lib/actions/rule.d.ts +0 -7
  66. package/lib/actions/rule.js +0 -27
  67. package/lib/actions/rule.js.map +0 -1
  68. package/lib/actions/sendToContentHub.d.ts +0 -7
  69. package/lib/actions/sendToContentHub.js +0 -37
  70. package/lib/actions/sendToContentHub.js.map +0 -1
  71. package/lib/actions/spotCheckMaterial.d.ts +0 -46
  72. package/lib/actions/spotCheckMaterial.js +0 -591
  73. package/lib/actions/spotCheckMaterial.js.map +0 -1
  74. package/lib/actions/submit.d.ts +0 -7
  75. package/lib/actions/submit.js +0 -48
  76. package/lib/actions/submit.js.map +0 -1
  77. package/lib/actions/submitKids.d.ts +0 -7
  78. package/lib/actions/submitKids.js +0 -30
  79. package/lib/actions/submitKids.js.map +0 -1
  80. package/lib/actions/submitMaterial.d.ts +0 -7
  81. package/lib/actions/submitMaterial.js +0 -30
  82. package/lib/actions/submitMaterial.js.map +0 -1
  83. package/lib/actions/submitPreReview.d.ts +0 -7
  84. package/lib/actions/submitPreReview.js +0 -34
  85. package/lib/actions/submitPreReview.js.map +0 -1
  86. package/lib/actions/terminate.d.ts +0 -7
  87. package/lib/actions/terminate.js +0 -30
  88. package/lib/actions/terminate.js.map +0 -1
  89. package/lib/actions/urgentApproval.d.ts +0 -14
  90. package/lib/actions/urgentApproval.js +0 -51
  91. package/lib/actions/urgentApproval.js.map +0 -1
  92. package/lib/const.d.ts +0 -1
  93. package/lib/const.js +0 -6
  94. package/lib/const.js.map +0 -1
  95. package/lib/index.d.ts +0 -1
  96. package/lib/index.js +0 -1238
  97. package/lib/index.js.map +0 -1
  98. package/lib/methods/AI.d.ts +0 -1
  99. package/lib/methods/AI.js +0 -45
  100. package/lib/methods/AI.js.map +0 -1
  101. package/lib/methods/__tests__/__mocks__/empty.d.ts +0 -2
  102. package/lib/methods/__tests__/__mocks__/empty.js +0 -4
  103. package/lib/methods/__tests__/__mocks__/empty.js.map +0 -1
  104. package/lib/methods/__tests__/postponeReview.test.d.ts +0 -1
  105. package/lib/methods/__tests__/postponeReview.test.js +0 -102
  106. package/lib/methods/__tests__/postponeReview.test.js.map +0 -1
  107. package/lib/methods/__tests__/pre_review_flow.test.d.ts +0 -1
  108. package/lib/methods/__tests__/pre_review_flow.test.js +0 -583
  109. package/lib/methods/__tests__/pre_review_flow.test.js.map +0 -1
  110. package/lib/methods/__tests__/pre_review_helpers.test.d.ts +0 -1
  111. package/lib/methods/__tests__/pre_review_helpers.test.js +0 -306
  112. package/lib/methods/__tests__/pre_review_helpers.test.js.map +0 -1
  113. package/lib/methods/__tests__/urgent.test.d.ts +0 -1
  114. package/lib/methods/__tests__/urgent.test.js +0 -121
  115. package/lib/methods/__tests__/urgent.test.js.map +0 -1
  116. package/lib/methods/agent.d.ts +0 -4
  117. package/lib/methods/agent.js +0 -86
  118. package/lib/methods/agent.js.map +0 -1
  119. package/lib/methods/approval_engine.d.ts +0 -40
  120. package/lib/methods/approval_engine.js +0 -2302
  121. package/lib/methods/approval_engine.js.map +0 -1
  122. package/lib/methods/consts.d.ts +0 -209
  123. package/lib/methods/consts.js +0 -46
  124. package/lib/methods/consts.js.map +0 -1
  125. package/lib/methods/content_hub.d.ts +0 -2
  126. package/lib/methods/content_hub.js +0 -228
  127. package/lib/methods/content_hub.js.map +0 -1
  128. package/lib/methods/dashboard_sync_data.d.ts +0 -4
  129. package/lib/methods/dashboard_sync_data.js +0 -346
  130. package/lib/methods/dashboard_sync_data.js.map +0 -1
  131. package/lib/methods/docx.d.ts +0 -3
  132. package/lib/methods/docx.js +0 -12
  133. package/lib/methods/docx.js.map +0 -1
  134. package/lib/methods/image_comparison.d.ts +0 -39
  135. package/lib/methods/image_comparison.js +0 -454
  136. package/lib/methods/image_comparison.js.map +0 -1
  137. package/lib/methods/index.d.ts +0 -7
  138. package/lib/methods/index.js +0 -11
  139. package/lib/methods/index.js.map +0 -1
  140. package/lib/methods/material.d.ts +0 -15
  141. package/lib/methods/material.js +0 -756
  142. package/lib/methods/material.js.map +0 -1
  143. package/lib/methods/notification.d.ts +0 -4
  144. package/lib/methods/notification.js +0 -270
  145. package/lib/methods/notification.js.map +0 -1
  146. package/lib/methods/password_expiry.d.ts +0 -1
  147. package/lib/methods/password_expiry.js +0 -151
  148. package/lib/methods/password_expiry.js.map +0 -1
  149. package/lib/methods/pls.d.ts +0 -1
  150. package/lib/methods/pls.js +0 -217
  151. package/lib/methods/pls.js.map +0 -1
  152. package/lib/methods/task.d.ts +0 -7
  153. package/lib/methods/task.js +0 -317
  154. package/lib/methods/task.js.map +0 -1
  155. package/lib/methods/urgent.d.ts +0 -20
  156. package/lib/methods/urgent.js +0 -259
  157. package/lib/methods/urgent.js.map +0 -1
@@ -1,756 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.downloadDocFromOneDriveDoc = exports.downloadBulkFromOneDriveDoc = exports.deleteDocOneDriveShareLink = exports.deleteBulkDocOneDriveShareLink = exports.uploadBulkDocToOneDrive = exports.getOneDriveMaterials = exports.getPendingUploadsToOneDriveMaterials = exports.uploadDocToOneDrive = exports.getUserReviewedAllMaterialsStatus = exports.getApproverFieldByType = exports.getApproverField = exports.submitMaterial = exports.addBulkMaterials = exports.hasDuplicateMaterials = void 0;
4
- var tslib_1 = require("tslib");
5
- var consts_1 = require("./consts");
6
- var _ = require("lodash");
7
- var mime_types_1 = require("mime-types");
8
- var const_1 = require("../const");
9
- var hasDuplicateMaterials = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
10
- var materials, md5s, md5Files;
11
- return tslib_1.__generator(this, function (_a) {
12
- switch (_a.label) {
13
- case 0: return [4, ctx.getObject("pepsico_material").directFind({
14
- filters: [['pepsico_material_approval', '=', approvalId], ['void_material', '!=', true], ['is_bypassed', '!=', true]],
15
- fields: ['_id', 'material', 'md5']
16
- })];
17
- case 1:
18
- materials = _a.sent();
19
- md5s = _.compact(_.map(materials, 'md5'));
20
- if (md5s.length !== _.uniq(md5s).length) {
21
- return [2, true];
22
- }
23
- return [4, ctx.getObject("pepsico_material").directFind({
24
- filters: ['md5', '=', md5s],
25
- fields: ['_id']
26
- })];
27
- case 2:
28
- md5Files = _a.sent();
29
- return [2, md5s.length < md5Files.length];
30
- }
31
- });
32
- }); };
33
- exports.hasDuplicateMaterials = hasDuplicateMaterials;
34
- var addBulkMaterials = function (ctx, approvalId, fileIds) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
35
- var user, approval, materialsQuantity, quantityLimit, sizeLimit, pepsico_material, allFileIds, result, totalUsed, files, files_1, files_1_1, file, e_1_1;
36
- var e_1, _a;
37
- var _b;
38
- return tslib_1.__generator(this, function (_c) {
39
- switch (_c.label) {
40
- case 0:
41
- user = ctx.meta.user;
42
- return [4, ctx.getObject('pepsico_material_approval').findOne(approvalId)];
43
- case 1:
44
- approval = _c.sent();
45
- if (user.userId != approval.owner) {
46
- throw new Error('只有创建者才能添加素材');
47
- }
48
- materialsQuantity = approval.materials_quantity || 0;
49
- quantityLimit = _.includes(const_1.DCO_TYPES, approval.classification) ? 300 : 50;
50
- if (materialsQuantity >= quantityLimit) {
51
- throw new Error("\u7D20\u6750\u6570\u91CF\uFF1A\u6700\u591A".concat(quantityLimit, "\u4E2A"));
52
- }
53
- if (materialsQuantity + fileIds.length > quantityLimit) {
54
- throw new Error("\u7D20\u6750\u6570\u91CF\uFF1A\u6700\u591A".concat(quantityLimit, "\u4E2A. \u60A8\u672C\u6B21\u6DFB\u52A0\u4E86").concat(fileIds.length, "\u4E2A\u7D20\u6750"));
55
- }
56
- sizeLimit = _.includes(const_1.DCO_TYPES, approval.classification) ? 10 * 1024 * 1024 * 1024 : 1 * 1024 * 1024 * 1024;
57
- return [4, ctx.getObject('pepsico_material').find({ filters: ['pepsico_material_approval', '=', approval._id], fields: ['material'] })];
58
- case 2:
59
- pepsico_material = _c.sent();
60
- allFileIds = _.concat(fileIds, _.map(pepsico_material, 'material'));
61
- return [4, ctx.getObject("cfs_files_filerecord").aggregate({}, [
62
- {
63
- $match: {
64
- _id: { $in: allFileIds }
65
- }
66
- },
67
- {
68
- $group: {
69
- _id: null,
70
- totalSize: { $sum: "$copies.files.size" }
71
- }
72
- }
73
- ])];
74
- case 3:
75
- result = _c.sent();
76
- totalUsed = ((_b = result[0]) === null || _b === void 0 ? void 0 : _b.totalSize) || 0;
77
- if (totalUsed > sizeLimit) {
78
- throw new Error("附件总大小超过 10GB,禁止添加素材");
79
- }
80
- return [4, ctx.getObject("cfs_files_filerecord").find({
81
- filters: ['_id', '=', fileIds]
82
- })];
83
- case 4:
84
- files = _c.sent();
85
- if (!(approval.current_step == consts_1.Step.draft || approval.current_step == consts_1.Step.submitter_revisions)) return [3, 12];
86
- _c.label = 5;
87
- case 5:
88
- _c.trys.push([5, 10, 11, 12]);
89
- files_1 = tslib_1.__values(files), files_1_1 = files_1.next();
90
- _c.label = 6;
91
- case 6:
92
- if (!!files_1_1.done) return [3, 9];
93
- file = files_1_1.value;
94
- return [4, ctx.getObject('pepsico_material').insert({
95
- pepsico_material_approval: approval._id,
96
- product: _.first(_.split(approval.product, '-')),
97
- shop_tag: approval.shop_tag,
98
- material: file._id,
99
- material_original: file._id,
100
- md5: file.original.md5,
101
- name: _.trim(file.original.name),
102
- classification: approval.classification,
103
- extension_type: (0, mime_types_1.extension)(file.original.type),
104
- material_type: approval.material_type,
105
- social_media: approval.social_media,
106
- followers: approval.followers,
107
- kol_classification: approval.kol_classification,
108
- owner_department: approval.owner_department,
109
- brief_flow: approval.brief_flow,
110
- owner: approval.owner,
111
- space: approval.space,
112
- created: new Date(),
113
- created_by: user.userId,
114
- modified: new Date(),
115
- modified_by: user.userId
116
- })];
117
- case 7:
118
- _c.sent();
119
- _c.label = 8;
120
- case 8:
121
- files_1_1 = files_1.next();
122
- return [3, 6];
123
- case 9: return [3, 12];
124
- case 10:
125
- e_1_1 = _c.sent();
126
- e_1 = { error: e_1_1 };
127
- return [3, 12];
128
- case 11:
129
- try {
130
- if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
131
- }
132
- finally { if (e_1) throw e_1.error; }
133
- return [7];
134
- case 12: return [2, {}];
135
- }
136
- });
137
- }); };
138
- exports.addBulkMaterials = addBulkMaterials;
139
- var submitMaterial = function (ctx, materialId, approvalStatus) {
140
- return tslib_1.__awaiter(this, void 0, void 0, function () {
141
- var _a;
142
- return tslib_1.__generator(this, function (_b) {
143
- switch (_b.label) {
144
- case 0:
145
- _a = approvalStatus;
146
- switch (_a) {
147
- case consts_1.ApprovalStatus.approved: return [3, 1];
148
- case consts_1.ApprovalStatus.pass: return [3, 3];
149
- case consts_1.ApprovalStatus.rejected: return [3, 5];
150
- }
151
- return [3, 7];
152
- case 1: return [4, approveMaterial.call(this, ctx, materialId)];
153
- case 2: return [2, _b.sent()];
154
- case 3: return [4, approveMaterial.call(this, ctx, materialId, consts_1.ApprovalStatus.pass)];
155
- case 4: return [2, _b.sent()];
156
- case 5: return [4, rejectMaterial.call(this, ctx, materialId)];
157
- case 6: return [2, _b.sent()];
158
- case 7: return [2, {}];
159
- }
160
- });
161
- });
162
- };
163
- exports.submitMaterial = submitMaterial;
164
- var getApproverField = function (ctx, approval, material, userId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
165
- var fieldName, activeProcess, processType;
166
- return tslib_1.__generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0:
169
- fieldName = '';
170
- console.log("[getApproverField]", JSON.stringify({
171
- userId: userId,
172
- ca_reviewer: approval.ca_reviewer,
173
- sra_reviewer: approval.sra_reviewer,
174
- ns_reviewer: approval.ns_reviewer,
175
- legal_reviewer: approval.legal_reviewer,
176
- reviewer: approval.reviewer,
177
- current_step: approval.current_step
178
- }));
179
- return [4, ctx.getObject("pepsico_approval_process").find({
180
- filters: [
181
- ["owner", "=", userId],
182
- ["pepsico_material_approval", "=", approval._id],
183
- ["current_step", "=", approval.current_step],
184
- ["space", "=", approval.space],
185
- ["approved", "=", 'progess']
186
- ],
187
- top: 1,
188
- sort: "modified asc"
189
- })];
190
- case 1:
191
- activeProcess = _a.sent();
192
- if (activeProcess.length > 0) {
193
- processType = activeProcess[0].type;
194
- if (processType === 'Kids') {
195
- fieldName = 'kids_approval_status';
196
- }
197
- else {
198
- fieldName = (0, exports.getApproverFieldByType)(processType);
199
- }
200
- }
201
- if (!fieldName) {
202
- if (approval.current_step == consts_1.Step.departmental_review) {
203
- if (approval.pre_ns_reviewer === userId) {
204
- fieldName = 'pre_ns_approval_status';
205
- }
206
- else if (approval.pre_legal_reviewer === userId) {
207
- fieldName = 'pre_legal_approval_status';
208
- }
209
- else if (approval.pre_sra_reviewer === userId) {
210
- fieldName = 'pre_sra_approval_status';
211
- }
212
- else if (approval.pre_ca_reviewer === userId) {
213
- fieldName = 'pre_ca_approval_status';
214
- }
215
- else if (_.includes(approval.ca_reviewer, userId)) {
216
- fieldName = 'ca_approval_status';
217
- }
218
- else if (_.includes(approval.sra_reviewer, userId)) {
219
- fieldName = 'sra_approval_status';
220
- }
221
- else if (_.includes(approval.ns_reviewer, userId)) {
222
- fieldName = 'ns_approval_status';
223
- }
224
- else if (_.includes(approval.legal_reviewer, userId)) {
225
- fieldName = 'legal_approval_status';
226
- }
227
- }
228
- if (approval.current_step == consts_1.Step.personnel_review) {
229
- if (approval.pre_reviewer === userId) {
230
- fieldName = 'pre_approval_status';
231
- }
232
- else if (_.includes(approval.reviewer, userId) && material.approval_status != true) {
233
- fieldName = 'approval_status';
234
- }
235
- }
236
- }
237
- if (_.includes([approval.kids_reviewer], userId)) {
238
- fieldName = 'kids_approval_status';
239
- }
240
- console.log('[getApproverField] fieldName:', fieldName);
241
- return [2, fieldName];
242
- }
243
- });
244
- }); };
245
- exports.getApproverField = getApproverField;
246
- var getApproverFieldByType = function (type) {
247
- var fieldName = '';
248
- switch (type) {
249
- case consts_1.ProcessApprovalType.CA:
250
- fieldName = 'ca_approval_status';
251
- break;
252
- case consts_1.ProcessApprovalType.Legal:
253
- fieldName = 'legal_approval_status';
254
- break;
255
- case consts_1.ProcessApprovalType.NS:
256
- fieldName = 'ns_approval_status';
257
- break;
258
- case consts_1.ProcessApprovalType.SRA:
259
- fieldName = 'sra_approval_status';
260
- break;
261
- case consts_1.ProcessApprovalType.Kids:
262
- fieldName = 'kids_approval_status';
263
- break;
264
- case consts_1.ProcessApprovalType.guding:
265
- fieldName = 'approval_status';
266
- break;
267
- case consts_1.ProcessApprovalType.PreNS:
268
- fieldName = 'pre_ns_approval_status';
269
- break;
270
- case consts_1.ProcessApprovalType.PreLegal:
271
- fieldName = 'pre_legal_approval_status';
272
- break;
273
- case consts_1.ProcessApprovalType.PreSRA:
274
- fieldName = 'pre_sra_approval_status';
275
- break;
276
- case consts_1.ProcessApprovalType.PreCA:
277
- fieldName = 'pre_ca_approval_status';
278
- break;
279
- case consts_1.ProcessApprovalType.Preguding:
280
- fieldName = 'pre_approval_status';
281
- break;
282
- default:
283
- break;
284
- }
285
- return fieldName;
286
- };
287
- exports.getApproverFieldByType = getApproverFieldByType;
288
- var approveMaterial = function (ctx, materialId, approvalStatus) {
289
- if (approvalStatus === void 0) { approvalStatus = consts_1.ApprovalStatus.approved; }
290
- return tslib_1.__awaiter(this, void 0, void 0, function () {
291
- var user, material, approval, approveField, materialStatus;
292
- var _a;
293
- return tslib_1.__generator(this, function (_b) {
294
- switch (_b.label) {
295
- case 0:
296
- user = ctx.meta.user;
297
- return [4, ctx.getObject('pepsico_material').findOne(materialId)];
298
- case 1:
299
- material = _b.sent();
300
- return [4, ctx.getObject('pepsico_material_approval').findOne(material.pepsico_material_approval)];
301
- case 2:
302
- approval = _b.sent();
303
- return [4, (0, exports.getApproverField)(ctx, approval, material, user.userId)];
304
- case 3:
305
- approveField = _b.sent();
306
- if (!approveField) {
307
- return [2];
308
- }
309
- return [4, ctx.getObject('pepsico_material').update(materialId, (_a = {},
310
- _a[approveField] = approvalStatus === consts_1.ApprovalStatus.approved ? true : 'pass',
311
- _a))];
312
- case 4:
313
- _b.sent();
314
- if (approveField && approveField === 'kids_approval_status' && approvalStatus != 'pass') {
315
- return [2, {}];
316
- }
317
- console.log('[approveMaterial] approveField', approveField);
318
- return [4, (0, exports.getUserReviewedAllMaterialsStatus)(ctx, approval._id, approveField)];
319
- case 5:
320
- materialStatus = _b.sent();
321
- console.log('[approveMaterial] materialStatus', materialStatus);
322
- if (!(materialStatus != consts_1.ApprovalStatus.pending)) return [3, 9];
323
- if (!(materialStatus == consts_1.ApprovalStatus.approved || materialStatus === consts_1.ApprovalStatus.pass)) return [3, 7];
324
- return [4, this.approvalContent(ctx, approval._id, { approveField: approveField, materialStatus: materialStatus })];
325
- case 6:
326
- _b.sent();
327
- return [3, 9];
328
- case 7:
329
- if (!(materialStatus == consts_1.ApprovalStatus.rejected)) return [3, 9];
330
- return [4, this.rejectContent(ctx, approval._id, { approveField: approveField, materialStatus: materialStatus })];
331
- case 8:
332
- _b.sent();
333
- _b.label = 9;
334
- case 9: return [2];
335
- }
336
- });
337
- });
338
- };
339
- var rejectMaterial = function (ctx, materialId) {
340
- return tslib_1.__awaiter(this, void 0, void 0, function () {
341
- var user, material, approval, approveField, materialStatus;
342
- var _a;
343
- return tslib_1.__generator(this, function (_b) {
344
- switch (_b.label) {
345
- case 0:
346
- user = ctx.meta.user;
347
- return [4, ctx.getObject('pepsico_material').findOne(materialId)];
348
- case 1:
349
- material = _b.sent();
350
- return [4, ctx.getObject('pepsico_material_approval').findOne(material.pepsico_material_approval)];
351
- case 2:
352
- approval = _b.sent();
353
- return [4, (0, exports.getApproverField)(ctx, approval, material, user.userId)];
354
- case 3:
355
- approveField = _b.sent();
356
- if (!approveField) {
357
- return [2];
358
- }
359
- return [4, ctx.getObject('pepsico_material').update(materialId, (_a = {},
360
- _a[approveField] = false,
361
- _a))];
362
- case 4:
363
- _b.sent();
364
- return [4, (0, exports.getUserReviewedAllMaterialsStatus)(ctx, approval._id, approveField)];
365
- case 5:
366
- materialStatus = _b.sent();
367
- if (!(materialStatus != consts_1.ApprovalStatus.pending)) return [3, 7];
368
- return [4, this.rejectContent(ctx, approval._id, { approveField: approveField, materialStatus: materialStatus })];
369
- case 6:
370
- _b.sent();
371
- _b.label = 7;
372
- case 7: return [2];
373
- }
374
- });
375
- });
376
- };
377
- var getUserReviewedAllMaterialsStatus = function (ctx, approvalId, approveField) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
378
- var records, hasPending, hasFalse, isAllPass;
379
- return tslib_1.__generator(this, function (_a) {
380
- switch (_a.label) {
381
- case 0: return [4, ctx.getObject('pepsico_material').find({
382
- filters: [
383
- ['pepsico_material_approval', '=', approvalId],
384
- ['void_material', '!=', true],
385
- ['is_bypassed', '!=', true]
386
- ]
387
- })];
388
- case 1:
389
- records = _a.sent();
390
- hasPending = _.filter(records, function (record) {
391
- return record[approveField] === null || !_.has(record, approveField) || record[approveField] === '' || record[approveField] === undefined;
392
- }).length > 0;
393
- console.log('getUserReviewedAllMaterialsStatus:', approvalId, "\u672A\u4F5C\u5E9F/\u8DF3\u8FC7\u7684\u7D20\u6750\u6570\u91CF\u4E3A:", records.length, 'hasPending:', hasPending, approveField);
394
- if (hasPending) {
395
- return [2, consts_1.ApprovalStatus.pending];
396
- }
397
- hasFalse = _.filter(records, function (record) {
398
- return record[approveField] === false;
399
- }).length > 0;
400
- if (hasFalse) {
401
- return [2, consts_1.ApprovalStatus.rejected];
402
- }
403
- isAllPass = _.filter(records, function (record) {
404
- return record[approveField] === 'pass';
405
- }).length === records.length;
406
- if (isAllPass) {
407
- return [2, consts_1.ApprovalStatus.pass];
408
- }
409
- return [2, consts_1.ApprovalStatus.approved];
410
- }
411
- });
412
- }); };
413
- exports.getUserReviewedAllMaterialsStatus = getUserReviewedAllMaterialsStatus;
414
- var uploadDocToOneDrive = function (ctx, material) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
415
- var _a, fileInfo, viewSharedLink, editSharedLink, error_1;
416
- return tslib_1.__generator(this, function (_b) {
417
- switch (_b.label) {
418
- case 0:
419
- _b.trys.push([0, 4, , 7]);
420
- return [4, ctx.broker.call('content-version-bridge.material_uploadDocToOneDrive', { material: material })];
421
- case 1:
422
- _a = _b.sent(), fileInfo = _a.item, viewSharedLink = _a.viewSharedLink, editSharedLink = _a.editSharedLink;
423
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
424
- uploaded_to_onedrive: true,
425
- onedrive_item: fileInfo,
426
- onedrive_shared_link_view: viewSharedLink,
427
- onedrive_shared_link_edit: editSharedLink
428
- })];
429
- case 2:
430
- _b.sent();
431
- return [4, ctx.logger.info("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u7D20\u6750\u4E0A\u4F20\u5230oneDrive\u6210\u529F]"), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval, fileInfo: fileInfo, viewSharedLink: viewSharedLink, editSharedLink: editSharedLink })];
432
- case 3:
433
- _b.sent();
434
- return [2, true];
435
- case 4:
436
- error_1 = _b.sent();
437
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
438
- uploaded_to_onedrive: false
439
- })];
440
- case 5:
441
- _b.sent();
442
- return [4, ctx.logger.error("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u7D20\u6750\u4E0A\u4F20\u5230oneDrive\u5931\u8D25]:").concat(error_1.message), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval })];
443
- case 6:
444
- _b.sent();
445
- console.log('uploadDocToOneDrive error:', error_1);
446
- return [2, false];
447
- case 7: return [2];
448
- }
449
- });
450
- }); };
451
- exports.uploadDocToOneDrive = uploadDocToOneDrive;
452
- var getPendingUploadsToOneDriveMaterials = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
453
- var materials;
454
- return tslib_1.__generator(this, function (_a) {
455
- switch (_a.label) {
456
- case 0: return [4, ctx.getObject("pepsico_material").find({
457
- filters: [['pepsico_material_approval', '=', approvalId], ['extension_type', 'in', ['doc', 'docx', 'ppt', 'pptx']], ['void_material', '!=', true], ['uploaded_to_onedrive', '!=', true]]
458
- })];
459
- case 1:
460
- materials = _a.sent();
461
- return [2, materials];
462
- }
463
- });
464
- }); };
465
- exports.getPendingUploadsToOneDriveMaterials = getPendingUploadsToOneDriveMaterials;
466
- var getOneDriveMaterials = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
467
- var materials;
468
- return tslib_1.__generator(this, function (_a) {
469
- switch (_a.label) {
470
- case 0: return [4, ctx.getObject("pepsico_material").find({
471
- filters: [['pepsico_material_approval', '=', approvalId], ['extension_type', 'in', ['doc', 'docx', 'ppt', 'pptx']], ['void_material', '!=', true]]
472
- })];
473
- case 1:
474
- materials = _a.sent();
475
- return [2, materials];
476
- }
477
- });
478
- }); };
479
- exports.getOneDriveMaterials = getOneDriveMaterials;
480
- var uploadBulkDocToOneDrive = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
481
- var materials, allTrue, materials_1, materials_1_1, material, success, e_2_1;
482
- var e_2, _a;
483
- return tslib_1.__generator(this, function (_b) {
484
- switch (_b.label) {
485
- case 0: return [4, (0, exports.getPendingUploadsToOneDriveMaterials)(ctx, approvalId)];
486
- case 1:
487
- materials = _b.sent();
488
- allTrue = true;
489
- _b.label = 2;
490
- case 2:
491
- _b.trys.push([2, 7, 8, 9]);
492
- materials_1 = tslib_1.__values(materials), materials_1_1 = materials_1.next();
493
- _b.label = 3;
494
- case 3:
495
- if (!!materials_1_1.done) return [3, 6];
496
- material = materials_1_1.value;
497
- return [4, (0, exports.uploadDocToOneDrive)(ctx, material)];
498
- case 4:
499
- success = _b.sent();
500
- if (success === false) {
501
- allTrue = false;
502
- }
503
- _b.label = 5;
504
- case 5:
505
- materials_1_1 = materials_1.next();
506
- return [3, 3];
507
- case 6: return [3, 9];
508
- case 7:
509
- e_2_1 = _b.sent();
510
- e_2 = { error: e_2_1 };
511
- return [3, 9];
512
- case 8:
513
- try {
514
- if (materials_1_1 && !materials_1_1.done && (_a = materials_1.return)) _a.call(materials_1);
515
- }
516
- finally { if (e_2) throw e_2.error; }
517
- return [7];
518
- case 9:
519
- if (!(allTrue == true)) return [3, 11];
520
- return [4, ctx.getObject("pepsico_material_approval").directUpdate(approvalId, {
521
- materials_uploaded_to_onedrive_status: 'completed'
522
- })];
523
- case 10:
524
- _b.sent();
525
- return [3, 13];
526
- case 11: return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalId, {
527
- materials_uploaded_to_onedrive_status: 'failed',
528
- $inc: {
529
- materials_uploaded_to_onedrive_failed_count: 1
530
- }
531
- })];
532
- case 12:
533
- _b.sent();
534
- _b.label = 13;
535
- case 13:
536
- ;
537
- return [2, allTrue];
538
- }
539
- });
540
- }); };
541
- exports.uploadBulkDocToOneDrive = uploadBulkDocToOneDrive;
542
- var deleteBulkDocOneDriveShareLink = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
543
- var allTrue, materials, materials_2, materials_2_1, material, success, e_3_1;
544
- var e_3, _a;
545
- return tslib_1.__generator(this, function (_b) {
546
- switch (_b.label) {
547
- case 0:
548
- allTrue = true;
549
- return [4, ctx.getObject("pepsico_material").find({
550
- filters: [['pepsico_material_approval', '=', approvalId], ['extension_type', 'in', ['doc', 'docx', 'ppt', 'pptx']]]
551
- })];
552
- case 1:
553
- materials = _b.sent();
554
- _b.label = 2;
555
- case 2:
556
- _b.trys.push([2, 7, 8, 9]);
557
- materials_2 = tslib_1.__values(materials), materials_2_1 = materials_2.next();
558
- _b.label = 3;
559
- case 3:
560
- if (!!materials_2_1.done) return [3, 6];
561
- material = materials_2_1.value;
562
- return [4, (0, exports.deleteDocOneDriveShareLink)(ctx, material)];
563
- case 4:
564
- success = _b.sent();
565
- if (success === false) {
566
- allTrue = false;
567
- }
568
- _b.label = 5;
569
- case 5:
570
- materials_2_1 = materials_2.next();
571
- return [3, 3];
572
- case 6: return [3, 9];
573
- case 7:
574
- e_3_1 = _b.sent();
575
- e_3 = { error: e_3_1 };
576
- return [3, 9];
577
- case 8:
578
- try {
579
- if (materials_2_1 && !materials_2_1.done && (_a = materials_2.return)) _a.call(materials_2);
580
- }
581
- finally { if (e_3) throw e_3.error; }
582
- return [7];
583
- case 9:
584
- if (!(allTrue == true)) return [3, 11];
585
- return [4, ctx.getObject("pepsico_material_approval").directUpdate(approvalId, {
586
- materials_remove_share_link_from_onedrive_status: 'completed'
587
- })];
588
- case 10:
589
- _b.sent();
590
- return [3, 13];
591
- case 11: return [4, ctx.getObject("pepsico_material_approval").directUpdate(approvalId, {
592
- materials_remove_share_link_from_onedrive_status: 'failed',
593
- $inc: {
594
- materials_remove_share_link_from_onedrive_failed_count: 1
595
- }
596
- })];
597
- case 12:
598
- _b.sent();
599
- _b.label = 13;
600
- case 13:
601
- ;
602
- return [2, allTrue];
603
- }
604
- });
605
- }); };
606
- exports.deleteBulkDocOneDriveShareLink = deleteBulkDocOneDriveShareLink;
607
- var deleteDocOneDriveShareLink = function (ctx, material) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
608
- var error_2;
609
- return tslib_1.__generator(this, function (_a) {
610
- switch (_a.label) {
611
- case 0:
612
- _a.trys.push([0, 4, 7, 9]);
613
- console.log('deleteDocOneDriveShareLink', material.onedrive_item.id, material._id);
614
- return [4, ctx.broker.call('content-version-bridge.material_deleteDocOneDriveShareLink', { material: material })];
615
- case 1:
616
- _a.sent();
617
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
618
- remove_share_link_from_onedrive: true
619
- })];
620
- case 2:
621
- _a.sent();
622
- return [4, ctx.logger.info("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u4ECEoneDrive\u5220\u9664\u5171\u4EAB\u8FDE\u63A5\u6210\u529F]"), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval })];
623
- case 3:
624
- _a.sent();
625
- return [2, true];
626
- case 4:
627
- error_2 = _a.sent();
628
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
629
- remove_share_link_from_onedrive: false
630
- })];
631
- case 5:
632
- _a.sent();
633
- return [4, ctx.logger.error("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u4ECEoneDrive\u5220\u9664\u5171\u4EAB\u8FDE\u63A5\u5931\u8D25]:").concat(error_2.message), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval })];
634
- case 6:
635
- _a.sent();
636
- console.log('deleteDocOneDriveShareLink error:', error_2);
637
- return [2, false];
638
- case 7: return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
639
- onedrive_shared_link_edit: null
640
- })];
641
- case 8:
642
- _a.sent();
643
- return [7];
644
- case 9: return [2];
645
- }
646
- });
647
- }); };
648
- exports.deleteDocOneDriveShareLink = deleteDocOneDriveShareLink;
649
- var downloadBulkFromOneDriveDoc = function (ctx, approvalId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
650
- var materials, allTrue, materials_3, materials_3_1, material, success, e_4_1;
651
- var e_4, _a;
652
- return tslib_1.__generator(this, function (_b) {
653
- switch (_b.label) {
654
- case 0: return [4, ctx.getObject("pepsico_material").find({
655
- filters: [['pepsico_material_approval', '=', approvalId], ['extension_type', 'in', ['doc', 'docx', 'ppt', 'pptx']], ['void_material', '!=', true], ['download_from_onedrive', '!=', true]]
656
- })];
657
- case 1:
658
- materials = _b.sent();
659
- allTrue = true;
660
- _b.label = 2;
661
- case 2:
662
- _b.trys.push([2, 7, 8, 9]);
663
- materials_3 = tslib_1.__values(materials), materials_3_1 = materials_3.next();
664
- _b.label = 3;
665
- case 3:
666
- if (!!materials_3_1.done) return [3, 6];
667
- material = materials_3_1.value;
668
- return [4, (0, exports.downloadDocFromOneDriveDoc)(ctx, material)];
669
- case 4:
670
- success = _b.sent();
671
- if (success === false) {
672
- allTrue = false;
673
- }
674
- _b.label = 5;
675
- case 5:
676
- materials_3_1 = materials_3.next();
677
- return [3, 3];
678
- case 6: return [3, 9];
679
- case 7:
680
- e_4_1 = _b.sent();
681
- e_4 = { error: e_4_1 };
682
- return [3, 9];
683
- case 8:
684
- try {
685
- if (materials_3_1 && !materials_3_1.done && (_a = materials_3.return)) _a.call(materials_3);
686
- }
687
- finally { if (e_4) throw e_4.error; }
688
- return [7];
689
- case 9:
690
- if (!(allTrue == true)) return [3, 11];
691
- return [4, ctx.getObject("pepsico_material_approval").directUpdate(approvalId, {
692
- materials_download_from_onedrive_status: 'completed'
693
- })];
694
- case 10:
695
- _b.sent();
696
- return [3, 13];
697
- case 11: return [4, ctx.getObject("pepsico_material_approval").directUpdate(approvalId, {
698
- materials_download_from_onedrive_status: 'failed',
699
- $inc: {
700
- materials_download_from_onedrive_failed_count: 1
701
- }
702
- })];
703
- case 12:
704
- _b.sent();
705
- _b.label = 13;
706
- case 13:
707
- ;
708
- return [2, allTrue];
709
- }
710
- });
711
- }); };
712
- exports.downloadBulkFromOneDriveDoc = downloadBulkFromOneDriveDoc;
713
- var downloadDocFromOneDriveDoc = function (ctx, material) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
714
- var st, fileDoc, error_3;
715
- return tslib_1.__generator(this, function (_a) {
716
- switch (_a.label) {
717
- case 0:
718
- st = new Date().getTime();
719
- _a.label = 1;
720
- case 1:
721
- _a.trys.push([1, 5, , 8]);
722
- return [4, ctx.broker.call('content-version-bridge.material_downloadDocFromOneDriveDoc', { material: material })];
723
- case 2:
724
- fileDoc = _a.sent();
725
- console.log("downloadDocFromOneDriveDoc-".concat(material._id), fileDoc._id, fileDoc);
726
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
727
- material: fileDoc._id,
728
- $push: {
729
- material_one_drive_history: fileDoc._id
730
- },
731
- download_from_onedrive: true
732
- })];
733
- case 3:
734
- _a.sent();
735
- return [4, ctx.logger.info("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u4ECEoneDrive\u4E0B\u8F7D\u7D20\u6750\u6210\u529F]"), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval, time: (new Date().getTime()) - st })];
736
- case 4:
737
- _a.sent();
738
- return [2, true];
739
- case 5:
740
- error_3 = _a.sent();
741
- return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
742
- download_from_onedrive: false
743
- })];
744
- case 6:
745
- _a.sent();
746
- return [4, ctx.logger.error("".concat(material.pepsico_material_approval, "-").concat(material._id, "-[\u4ECEoneDrive\u4E0B\u8F7D\u7D20\u6750\u5931\u8D25]:").concat(error_3.message), { objectName: 'pepsico_material', _id: material._id, pepsico_material_approval: material.pepsico_material_approval, time: (new Date().getTime()) - st })];
747
- case 7:
748
- _a.sent();
749
- console.log('downloadDocFromOneDriveDoc error:', error_3);
750
- return [2, false];
751
- case 8: return [2];
752
- }
753
- });
754
- }); };
755
- exports.downloadDocFromOneDriveDoc = downloadDocFromOneDriveDoc;
756
- //# sourceMappingURL=material.js.map