@steedos-labs/content-compliance 0.7.19 → 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.
- package/dist/index.js +1 -0
- package/lib/actions/addBulkMaterials.d.ts +15 -0
- package/lib/actions/addBulkMaterials.js +69 -0
- package/lib/actions/addBulkMaterials.js.map +1 -0
- package/lib/actions/briefFlows.d.ts +14 -0
- package/lib/actions/briefFlows.js +46 -0
- package/lib/actions/briefFlows.js.map +1 -0
- package/lib/actions/bypassApproval.d.ts +10 -0
- package/lib/actions/bypassApproval.js +269 -0
- package/lib/actions/bypassApproval.js.map +1 -0
- package/lib/actions/bypassMaterial.d.ts +10 -0
- package/lib/actions/bypassMaterial.js +190 -0
- package/lib/actions/bypassMaterial.js.map +1 -0
- package/lib/actions/calculateSpotCheckRates.d.ts +13 -0
- package/lib/actions/calculateSpotCheckRates.js +94 -0
- package/lib/actions/calculateSpotCheckRates.js.map +1 -0
- package/lib/actions/confirmDeployment.d.ts +7 -0
- package/lib/actions/confirmDeployment.js +31 -0
- package/lib/actions/confirmDeployment.js.map +1 -0
- package/lib/actions/dashboard_sync_data.d.ts +7 -0
- package/lib/actions/dashboard_sync_data.js +30 -0
- package/lib/actions/dashboard_sync_data.js.map +1 -0
- package/lib/actions/fixStuckPersonnelReview.d.ts +20 -0
- package/lib/actions/fixStuckPersonnelReview.js +145 -0
- package/lib/actions/fixStuckPersonnelReview.js.map +1 -0
- package/lib/actions/hasDuplicateMaterials.d.ts +9 -0
- package/lib/actions/hasDuplicateMaterials.js +30 -0
- package/lib/actions/hasDuplicateMaterials.js.map +1 -0
- package/lib/actions/imageComparison.d.ts +34 -0
- package/lib/actions/imageComparison.js +95 -0
- package/lib/actions/imageComparison.js.map +1 -0
- package/lib/actions/index.d.ts +27 -0
- package/lib/actions/index.js +31 -0
- package/lib/actions/index.js.map +1 -0
- package/lib/actions/initCollaborator.d.ts +13 -0
- package/lib/actions/initCollaborator.js +87 -0
- package/lib/actions/initCollaborator.js.map +1 -0
- package/lib/actions/initUrgentQuota.d.ts +17 -0
- package/lib/actions/initUrgentQuota.js +99 -0
- package/lib/actions/initUrgentQuota.js.map +1 -0
- package/lib/actions/migrateReviewCompletedDate.d.ts +21 -0
- package/lib/actions/migrateReviewCompletedDate.js +150 -0
- package/lib/actions/migrateReviewCompletedDate.js.map +1 -0
- package/lib/actions/migrateSpotCheckData.d.ts +23 -0
- package/lib/actions/migrateSpotCheckData.js +143 -0
- package/lib/actions/migrateSpotCheckData.js.map +1 -0
- package/lib/actions/migrateSpotCheckDepartments.d.ts +25 -0
- package/lib/actions/migrateSpotCheckDepartments.js +142 -0
- package/lib/actions/migrateSpotCheckDepartments.js.map +1 -0
- package/lib/actions/postponeDeployment.d.ts +7 -0
- package/lib/actions/postponeDeployment.js +30 -0
- package/lib/actions/postponeDeployment.js.map +1 -0
- package/lib/actions/postponeReview.d.ts +7 -0
- package/lib/actions/postponeReview.js +30 -0
- package/lib/actions/postponeReview.js.map +1 -0
- package/lib/actions/progress.d.ts +18 -0
- package/lib/actions/progress.js +71 -0
- package/lib/actions/progress.js.map +1 -0
- package/lib/actions/rule.d.ts +7 -0
- package/lib/actions/rule.js +27 -0
- package/lib/actions/rule.js.map +1 -0
- package/lib/actions/sendToContentHub.d.ts +7 -0
- package/lib/actions/sendToContentHub.js +37 -0
- package/lib/actions/sendToContentHub.js.map +1 -0
- package/lib/actions/spotCheckMaterial.d.ts +46 -0
- package/lib/actions/spotCheckMaterial.js +591 -0
- package/lib/actions/spotCheckMaterial.js.map +1 -0
- package/lib/actions/submit.d.ts +7 -0
- package/lib/actions/submit.js +48 -0
- package/lib/actions/submit.js.map +1 -0
- package/lib/actions/submitKids.d.ts +7 -0
- package/lib/actions/submitKids.js +30 -0
- package/lib/actions/submitKids.js.map +1 -0
- package/lib/actions/submitMaterial.d.ts +7 -0
- package/lib/actions/submitMaterial.js +30 -0
- package/lib/actions/submitMaterial.js.map +1 -0
- package/lib/actions/submitPreReview.d.ts +7 -0
- package/lib/actions/submitPreReview.js +34 -0
- package/lib/actions/submitPreReview.js.map +1 -0
- package/lib/actions/terminate.d.ts +7 -0
- package/lib/actions/terminate.js +30 -0
- package/lib/actions/terminate.js.map +1 -0
- package/lib/actions/urgentApproval.d.ts +14 -0
- package/lib/actions/urgentApproval.js +51 -0
- package/lib/actions/urgentApproval.js.map +1 -0
- package/lib/const.d.ts +1 -0
- package/lib/const.js +6 -0
- package/lib/const.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1238 -0
- package/lib/index.js.map +1 -0
- package/lib/methods/AI.d.ts +1 -0
- package/lib/methods/AI.js +45 -0
- package/lib/methods/AI.js.map +1 -0
- package/lib/methods/__tests__/__mocks__/empty.d.ts +2 -0
- package/lib/methods/__tests__/__mocks__/empty.js +4 -0
- package/lib/methods/__tests__/__mocks__/empty.js.map +1 -0
- package/lib/methods/__tests__/postponeReview.test.d.ts +1 -0
- package/lib/methods/__tests__/postponeReview.test.js +102 -0
- package/lib/methods/__tests__/postponeReview.test.js.map +1 -0
- package/lib/methods/__tests__/urgent.test.d.ts +1 -0
- package/lib/methods/__tests__/urgent.test.js +121 -0
- package/lib/methods/__tests__/urgent.test.js.map +1 -0
- package/lib/methods/agent.d.ts +4 -0
- package/lib/methods/agent.js +86 -0
- package/lib/methods/agent.js.map +1 -0
- package/lib/methods/approval_engine.d.ts +40 -0
- package/lib/methods/approval_engine.js +2302 -0
- package/lib/methods/approval_engine.js.map +1 -0
- package/lib/methods/consts.d.ts +209 -0
- package/lib/methods/consts.js +46 -0
- package/lib/methods/consts.js.map +1 -0
- package/lib/methods/content_hub.d.ts +2 -0
- package/lib/methods/content_hub.js +228 -0
- package/lib/methods/content_hub.js.map +1 -0
- package/lib/methods/dashboard_sync_data.d.ts +4 -0
- package/lib/methods/dashboard_sync_data.js +346 -0
- package/lib/methods/dashboard_sync_data.js.map +1 -0
- package/lib/methods/docx.d.ts +3 -0
- package/lib/methods/docx.js +12 -0
- package/lib/methods/docx.js.map +1 -0
- package/lib/methods/image_comparison.d.ts +39 -0
- package/lib/methods/image_comparison.js +454 -0
- package/lib/methods/image_comparison.js.map +1 -0
- package/lib/methods/index.d.ts +7 -0
- package/lib/methods/index.js +11 -0
- package/lib/methods/index.js.map +1 -0
- package/lib/methods/material.d.ts +15 -0
- package/lib/methods/material.js +756 -0
- package/lib/methods/material.js.map +1 -0
- package/lib/methods/notification.d.ts +4 -0
- package/lib/methods/notification.js +270 -0
- package/lib/methods/notification.js.map +1 -0
- package/lib/methods/password_expiry.d.ts +1 -0
- package/lib/methods/password_expiry.js +151 -0
- package/lib/methods/password_expiry.js.map +1 -0
- package/lib/methods/pls.d.ts +1 -0
- package/lib/methods/pls.js +217 -0
- package/lib/methods/pls.js.map +1 -0
- package/lib/methods/urgent.d.ts +20 -0
- package/lib/methods/urgent.js +259 -0
- package/lib/methods/urgent.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initCollaborator = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isPepsicoEmail = function (email) {
|
|
6
|
+
return typeof email === 'string' && email.toLowerCase().endsWith('@pepsico.com');
|
|
7
|
+
};
|
|
8
|
+
exports.initCollaborator = {
|
|
9
|
+
rest: {
|
|
10
|
+
method: 'GET',
|
|
11
|
+
fullPath: '/api/pepsico-content/space-users/init-collaborator'
|
|
12
|
+
},
|
|
13
|
+
handler: function (ctx) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
|
+
var user, space, spaceUsers, updated, collaborators, internalUsers, spaceUsers_1, spaceUsers_1_1, spaceUser, isCollaborator, e_1_1;
|
|
16
|
+
var e_1, _a;
|
|
17
|
+
return tslib_1.__generator(this, function (_b) {
|
|
18
|
+
switch (_b.label) {
|
|
19
|
+
case 0:
|
|
20
|
+
ctx.getObject = this.getObject;
|
|
21
|
+
user = ctx.meta.user;
|
|
22
|
+
space = user === null || user === void 0 ? void 0 : user.spaceId;
|
|
23
|
+
if (!user || !user.is_space_admin) {
|
|
24
|
+
throw new Error('无权限!');
|
|
25
|
+
}
|
|
26
|
+
if (!space) {
|
|
27
|
+
throw new Error('无法获取当前工作区');
|
|
28
|
+
}
|
|
29
|
+
return [4, ctx.getObject('space_users').directFind({
|
|
30
|
+
filters: [['space', '=', space]],
|
|
31
|
+
fields: ['_id', 'email', 'is_collaborator']
|
|
32
|
+
})];
|
|
33
|
+
case 1:
|
|
34
|
+
spaceUsers = _b.sent();
|
|
35
|
+
updated = 0;
|
|
36
|
+
collaborators = 0;
|
|
37
|
+
internalUsers = 0;
|
|
38
|
+
_b.label = 2;
|
|
39
|
+
case 2:
|
|
40
|
+
_b.trys.push([2, 7, 8, 9]);
|
|
41
|
+
spaceUsers_1 = tslib_1.__values(spaceUsers), spaceUsers_1_1 = spaceUsers_1.next();
|
|
42
|
+
_b.label = 3;
|
|
43
|
+
case 3:
|
|
44
|
+
if (!!spaceUsers_1_1.done) return [3, 6];
|
|
45
|
+
spaceUser = spaceUsers_1_1.value;
|
|
46
|
+
isCollaborator = !isPepsicoEmail(spaceUser.email);
|
|
47
|
+
if (isCollaborator) {
|
|
48
|
+
collaborators++;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
internalUsers++;
|
|
52
|
+
}
|
|
53
|
+
if (!(spaceUser.is_collaborator !== isCollaborator)) return [3, 5];
|
|
54
|
+
return [4, ctx.getObject('space_users').directUpdate(spaceUser._id, {
|
|
55
|
+
is_collaborator: isCollaborator
|
|
56
|
+
})];
|
|
57
|
+
case 4:
|
|
58
|
+
_b.sent();
|
|
59
|
+
updated++;
|
|
60
|
+
_b.label = 5;
|
|
61
|
+
case 5:
|
|
62
|
+
spaceUsers_1_1 = spaceUsers_1.next();
|
|
63
|
+
return [3, 3];
|
|
64
|
+
case 6: return [3, 9];
|
|
65
|
+
case 7:
|
|
66
|
+
e_1_1 = _b.sent();
|
|
67
|
+
e_1 = { error: e_1_1 };
|
|
68
|
+
return [3, 9];
|
|
69
|
+
case 8:
|
|
70
|
+
try {
|
|
71
|
+
if (spaceUsers_1_1 && !spaceUsers_1_1.done && (_a = spaceUsers_1.return)) _a.call(spaceUsers_1);
|
|
72
|
+
}
|
|
73
|
+
finally { if (e_1) throw e_1.error; }
|
|
74
|
+
return [7];
|
|
75
|
+
case 9: return [2, {
|
|
76
|
+
message: "\u521D\u59CB\u5316\u5B8C\u6210\uFF1A\u66F4\u65B0 ".concat(updated, " \u4E2A\u7528\u6237"),
|
|
77
|
+
total: spaceUsers.length,
|
|
78
|
+
updated: updated,
|
|
79
|
+
collaborators: collaborators,
|
|
80
|
+
internalUsers: internalUsers
|
|
81
|
+
}];
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=initCollaborator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initCollaborator.js","sourceRoot":"","sources":["../../src/actions/initCollaborator.ts"],"names":[],"mappings":";;;;AAIA,IAAM,cAAc,GAAG,UAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACrF,CAAC,CAAC;AAGW,QAAA,gBAAgB,GAAG;IAC5B,IAAI,EAAE;QACF,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,oDAAoD;KACjE;IACK,OAAO,YAAC,GAAG;;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACzB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBACrB,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC;wBAE5B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;4BAC/B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;yBAC3B;wBAED,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;yBAChC;wBAEkB,WAAM,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;gCAC7D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gCAChC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC;6BAC9C,CAAC,EAAA;;wBAHI,UAAU,GAAG,SAGjB;wBAEE,OAAO,GAAG,CAAC,CAAC;wBACZ,aAAa,GAAG,CAAC,CAAC;wBAClB,aAAa,GAAG,CAAC,CAAC;;;;wBAEE,eAAA,iBAAA,UAAU,CAAA;;;;wBAAvB,SAAS;wBACV,cAAc,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAExD,IAAI,cAAc,EAAE;4BAChB,aAAa,EAAE,CAAC;yBACnB;6BAAM;4BACH,aAAa,EAAE,CAAC;yBACnB;6BAEG,CAAA,SAAS,CAAC,eAAe,KAAK,cAAc,CAAA,EAA5C,cAA4C;wBAC5C,WAAM,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;gCAC3D,eAAe,EAAE,cAAc;6BAClC,CAAC,EAAA;;wBAFF,SAEE,CAAC;wBACH,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;4BAIlB,WAAO;4BACH,OAAO,EAAE,2DAAY,OAAO,wBAAM;4BAClC,KAAK,EAAE,UAAU,CAAC,MAAM;4BACxB,OAAO,SAAA;4BACP,aAAa,eAAA;4BACb,aAAa,eAAA;yBAChB,EAAC;;;;KACL;CACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const initUrgentQuota: {
|
|
2
|
+
rest: {
|
|
3
|
+
method: string;
|
|
4
|
+
fullPath: string;
|
|
5
|
+
};
|
|
6
|
+
handler(ctx: any): Promise<{
|
|
7
|
+
message: string;
|
|
8
|
+
created: number;
|
|
9
|
+
updated: number;
|
|
10
|
+
total?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
message: string;
|
|
13
|
+
created: number;
|
|
14
|
+
updated: number;
|
|
15
|
+
total: number;
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initUrgentQuota = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
exports.initUrgentQuota = {
|
|
6
|
+
rest: {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
fullPath: '/api/pepsico-content/urgent-quota/init'
|
|
9
|
+
},
|
|
10
|
+
handler: function (ctx) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
12
|
+
var user, space, _a, year, h1_used, h2_used, h1, h2, spaceUsers, ownerIds, created, updated, ownerIds_1, ownerIds_1_1, userId, existing, e_1_1;
|
|
13
|
+
var e_1, _b;
|
|
14
|
+
return tslib_1.__generator(this, function (_c) {
|
|
15
|
+
switch (_c.label) {
|
|
16
|
+
case 0:
|
|
17
|
+
ctx.getObject = this.getObject;
|
|
18
|
+
user = ctx.meta.user;
|
|
19
|
+
space = user === null || user === void 0 ? void 0 : user.spaceId;
|
|
20
|
+
if (!space) {
|
|
21
|
+
throw new Error('无法获取当前工作区');
|
|
22
|
+
}
|
|
23
|
+
_a = ctx.params, year = _a.year, h1_used = _a.h1_used, h2_used = _a.h2_used;
|
|
24
|
+
if (!year || typeof year !== 'number') {
|
|
25
|
+
throw new Error('请指定有效的年份');
|
|
26
|
+
}
|
|
27
|
+
h1 = typeof h1_used === 'number' ? h1_used : 0;
|
|
28
|
+
h2 = typeof h2_used === 'number' ? h2_used : 0;
|
|
29
|
+
return [4, ctx.getObject('space_users').directFind({
|
|
30
|
+
filters: [['space', '=', space], ['user_accepted', '=', true], ['is_collaborator', '!=', true]],
|
|
31
|
+
fields: ['user']
|
|
32
|
+
})];
|
|
33
|
+
case 1:
|
|
34
|
+
spaceUsers = _c.sent();
|
|
35
|
+
ownerIds = tslib_1.__spreadArray([], tslib_1.__read(new Set(spaceUsers.map(function (u) { return u.user; }).filter(Boolean))), false);
|
|
36
|
+
if (ownerIds.length === 0) {
|
|
37
|
+
return [2, { message: '未找到任何内部用户', created: 0, updated: 0 }];
|
|
38
|
+
}
|
|
39
|
+
created = 0;
|
|
40
|
+
updated = 0;
|
|
41
|
+
_c.label = 2;
|
|
42
|
+
case 2:
|
|
43
|
+
_c.trys.push([2, 10, 11, 12]);
|
|
44
|
+
ownerIds_1 = tslib_1.__values(ownerIds), ownerIds_1_1 = ownerIds_1.next();
|
|
45
|
+
_c.label = 3;
|
|
46
|
+
case 3:
|
|
47
|
+
if (!!ownerIds_1_1.done) return [3, 9];
|
|
48
|
+
userId = ownerIds_1_1.value;
|
|
49
|
+
return [4, ctx.getObject('pepsico_urgent_quota').findOne({
|
|
50
|
+
filters: [['user', '=', userId], ['space', '=', space], ['year', '=', year]]
|
|
51
|
+
})];
|
|
52
|
+
case 4:
|
|
53
|
+
existing = _c.sent();
|
|
54
|
+
if (!existing) return [3, 6];
|
|
55
|
+
return [4, ctx.getObject('pepsico_urgent_quota').directUpdate(existing._id, {
|
|
56
|
+
h1_used: h1,
|
|
57
|
+
h2_used: h2
|
|
58
|
+
})];
|
|
59
|
+
case 5:
|
|
60
|
+
_c.sent();
|
|
61
|
+
updated++;
|
|
62
|
+
return [3, 8];
|
|
63
|
+
case 6: return [4, ctx.getObject('pepsico_urgent_quota').insert({
|
|
64
|
+
user: userId,
|
|
65
|
+
space: space,
|
|
66
|
+
year: year,
|
|
67
|
+
h1_used: h1,
|
|
68
|
+
h2_used: h2
|
|
69
|
+
})];
|
|
70
|
+
case 7:
|
|
71
|
+
_c.sent();
|
|
72
|
+
created++;
|
|
73
|
+
_c.label = 8;
|
|
74
|
+
case 8:
|
|
75
|
+
ownerIds_1_1 = ownerIds_1.next();
|
|
76
|
+
return [3, 3];
|
|
77
|
+
case 9: return [3, 12];
|
|
78
|
+
case 10:
|
|
79
|
+
e_1_1 = _c.sent();
|
|
80
|
+
e_1 = { error: e_1_1 };
|
|
81
|
+
return [3, 12];
|
|
82
|
+
case 11:
|
|
83
|
+
try {
|
|
84
|
+
if (ownerIds_1_1 && !ownerIds_1_1.done && (_b = ownerIds_1.return)) _b.call(ownerIds_1);
|
|
85
|
+
}
|
|
86
|
+
finally { if (e_1) throw e_1.error; }
|
|
87
|
+
return [7];
|
|
88
|
+
case 12: return [2, {
|
|
89
|
+
message: "\u521D\u59CB\u5316\u5B8C\u6210\uFF1A".concat(created, " \u6761\u65B0\u5EFA\uFF0C").concat(updated, " \u6761\u66F4\u65B0"),
|
|
90
|
+
created: created,
|
|
91
|
+
updated: updated,
|
|
92
|
+
total: ownerIds.length
|
|
93
|
+
}];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=initUrgentQuota.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initUrgentQuota.js","sourceRoot":"","sources":["../../src/actions/initUrgentQuota.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const migrateReviewCompletedDate: {
|
|
2
|
+
rest: {
|
|
3
|
+
method: string;
|
|
4
|
+
fullPath: string;
|
|
5
|
+
};
|
|
6
|
+
handler(ctx: any): Promise<{
|
|
7
|
+
status: number;
|
|
8
|
+
msg: string;
|
|
9
|
+
data: {};
|
|
10
|
+
} | {
|
|
11
|
+
status: number;
|
|
12
|
+
msg: string;
|
|
13
|
+
data: {
|
|
14
|
+
approvalTotal: any;
|
|
15
|
+
approvalUpdated: number;
|
|
16
|
+
approvalSkipped: number;
|
|
17
|
+
skippedIds: string[];
|
|
18
|
+
materialUpdated: number;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateReviewCompletedDate = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var objectql = require("@steedos/objectql");
|
|
6
|
+
function getCollection(name) {
|
|
7
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
8
|
+
var adapter;
|
|
9
|
+
return tslib_1.__generator(this, function (_a) {
|
|
10
|
+
switch (_a.label) {
|
|
11
|
+
case 0:
|
|
12
|
+
adapter = objectql.getDataSource('default').adapter;
|
|
13
|
+
return [4, adapter.connect()];
|
|
14
|
+
case 1:
|
|
15
|
+
_a.sent();
|
|
16
|
+
return [2, adapter.collection(name)];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.migrateReviewCompletedDate = {
|
|
22
|
+
rest: {
|
|
23
|
+
method: 'GET',
|
|
24
|
+
fullPath: '/api/pepsico-content/migrate-review-completed-date'
|
|
25
|
+
},
|
|
26
|
+
handler: function (ctx) {
|
|
27
|
+
var _a;
|
|
28
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
29
|
+
var user, logger, approvalCol, processCol, materialCol, approvals, approvalUpdated, materialUpdatedTotal, skippedIds, approvals_1, approvals_1_1, approval, process_1, materialResult, e_1_1, summary, error_1;
|
|
30
|
+
var e_1, _b;
|
|
31
|
+
return tslib_1.__generator(this, function (_c) {
|
|
32
|
+
switch (_c.label) {
|
|
33
|
+
case 0:
|
|
34
|
+
user = ctx.meta.user;
|
|
35
|
+
ctx.getObject = this.getObject;
|
|
36
|
+
return [4, this.getLogger()];
|
|
37
|
+
case 1:
|
|
38
|
+
logger = _c.sent();
|
|
39
|
+
ctx.logger = logger;
|
|
40
|
+
if (!user || !user.is_space_admin) {
|
|
41
|
+
return [2, {
|
|
42
|
+
status: 403,
|
|
43
|
+
msg: "只有管理员可以执行数据迁移",
|
|
44
|
+
data: {}
|
|
45
|
+
}];
|
|
46
|
+
}
|
|
47
|
+
_c.label = 2;
|
|
48
|
+
case 2:
|
|
49
|
+
_c.trys.push([2, 20, , 21]);
|
|
50
|
+
return [4, getCollection('pepsico_material_approval')];
|
|
51
|
+
case 3:
|
|
52
|
+
approvalCol = _c.sent();
|
|
53
|
+
return [4, getCollection('pepsico_approval_process')];
|
|
54
|
+
case 4:
|
|
55
|
+
processCol = _c.sent();
|
|
56
|
+
return [4, getCollection('pepsico_material')];
|
|
57
|
+
case 5:
|
|
58
|
+
materialCol = _c.sent();
|
|
59
|
+
return [4, approvalCol.find({
|
|
60
|
+
current_step: { $in: ['awaiting_deployment', 'conclusion'] },
|
|
61
|
+
$or: [
|
|
62
|
+
{ review_completed_date: { $exists: false } },
|
|
63
|
+
{ review_completed_date: null }
|
|
64
|
+
]
|
|
65
|
+
}, { projection: { _id: 1 } }).toArray()];
|
|
66
|
+
case 6:
|
|
67
|
+
approvals = _c.sent();
|
|
68
|
+
logger === null || logger === void 0 ? void 0 : logger.info("[migrateReviewCompletedDate] \u5F85\u66F4\u65B0\u5BA1\u6279\u5355\u6570: ".concat(approvals.length));
|
|
69
|
+
approvalUpdated = 0;
|
|
70
|
+
materialUpdatedTotal = 0;
|
|
71
|
+
skippedIds = [];
|
|
72
|
+
_c.label = 7;
|
|
73
|
+
case 7:
|
|
74
|
+
_c.trys.push([7, 17, 18, 19]);
|
|
75
|
+
approvals_1 = tslib_1.__values(approvals), approvals_1_1 = approvals_1.next();
|
|
76
|
+
_c.label = 8;
|
|
77
|
+
case 8:
|
|
78
|
+
if (!!approvals_1_1.done) return [3, 16];
|
|
79
|
+
approval = approvals_1_1.value;
|
|
80
|
+
return [4, processCol.findOne({
|
|
81
|
+
pepsico_material_approval: approval._id,
|
|
82
|
+
current_step: 'awaiting_deployment'
|
|
83
|
+
}, { projection: { created: 1 } })];
|
|
84
|
+
case 9:
|
|
85
|
+
process_1 = _c.sent();
|
|
86
|
+
if (!(!process_1 || !process_1.created)) return [3, 11];
|
|
87
|
+
return [4, processCol.findOne({
|
|
88
|
+
pepsico_material_approval: approval._id,
|
|
89
|
+
current_step: 'conclusion'
|
|
90
|
+
}, { projection: { created: 1 } })];
|
|
91
|
+
case 10:
|
|
92
|
+
process_1 = _c.sent();
|
|
93
|
+
_c.label = 11;
|
|
94
|
+
case 11:
|
|
95
|
+
if (!(process_1 && process_1.created)) return [3, 14];
|
|
96
|
+
return [4, approvalCol.updateOne({ _id: approval._id }, { $set: { review_completed_date: process_1.created } })];
|
|
97
|
+
case 12:
|
|
98
|
+
_c.sent();
|
|
99
|
+
return [4, materialCol.updateMany({ pepsico_material_approval: approval._id }, { $set: { review_completed_date: process_1.created } })];
|
|
100
|
+
case 13:
|
|
101
|
+
materialResult = _c.sent();
|
|
102
|
+
materialUpdatedTotal += (materialResult.matchedCount || ((_a = materialResult.result) === null || _a === void 0 ? void 0 : _a.n) || 0);
|
|
103
|
+
approvalUpdated++;
|
|
104
|
+
return [3, 15];
|
|
105
|
+
case 14:
|
|
106
|
+
skippedIds.push(approval._id);
|
|
107
|
+
_c.label = 15;
|
|
108
|
+
case 15:
|
|
109
|
+
approvals_1_1 = approvals_1.next();
|
|
110
|
+
return [3, 8];
|
|
111
|
+
case 16: return [3, 19];
|
|
112
|
+
case 17:
|
|
113
|
+
e_1_1 = _c.sent();
|
|
114
|
+
e_1 = { error: e_1_1 };
|
|
115
|
+
return [3, 19];
|
|
116
|
+
case 18:
|
|
117
|
+
try {
|
|
118
|
+
if (approvals_1_1 && !approvals_1_1.done && (_b = approvals_1.return)) _b.call(approvals_1);
|
|
119
|
+
}
|
|
120
|
+
finally { if (e_1) throw e_1.error; }
|
|
121
|
+
return [7];
|
|
122
|
+
case 19:
|
|
123
|
+
summary = {
|
|
124
|
+
approvalTotal: approvals.length,
|
|
125
|
+
approvalUpdated: approvalUpdated,
|
|
126
|
+
approvalSkipped: skippedIds.length,
|
|
127
|
+
skippedIds: skippedIds,
|
|
128
|
+
materialUpdated: materialUpdatedTotal
|
|
129
|
+
};
|
|
130
|
+
logger === null || logger === void 0 ? void 0 : logger.info("[migrateReviewCompletedDate] \u8FC1\u79FB\u5B8C\u6210", summary);
|
|
131
|
+
return [2, {
|
|
132
|
+
status: 0,
|
|
133
|
+
msg: "迁移完成",
|
|
134
|
+
data: summary
|
|
135
|
+
}];
|
|
136
|
+
case 20:
|
|
137
|
+
error_1 = _c.sent();
|
|
138
|
+
logger === null || logger === void 0 ? void 0 : logger.error("[migrateReviewCompletedDate] \u8FC1\u79FB\u5931\u8D25", error_1);
|
|
139
|
+
return [2, {
|
|
140
|
+
status: 500,
|
|
141
|
+
msg: "\u8FC1\u79FB\u5931\u8D25: ".concat(error_1.message),
|
|
142
|
+
data: {}
|
|
143
|
+
}];
|
|
144
|
+
case 21: return [2];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=migrateReviewCompletedDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateReviewCompletedDate.js","sourceRoot":"","sources":["../../src/actions/migrateReviewCompletedDate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const migrateSpotCheckData: {
|
|
2
|
+
rest: {
|
|
3
|
+
method: string;
|
|
4
|
+
fullPath: string;
|
|
5
|
+
};
|
|
6
|
+
handler(ctx: any): Promise<{
|
|
7
|
+
status: number;
|
|
8
|
+
msg: string;
|
|
9
|
+
data: {
|
|
10
|
+
migrated?: undefined;
|
|
11
|
+
skipped?: undefined;
|
|
12
|
+
total?: undefined;
|
|
13
|
+
};
|
|
14
|
+
} | {
|
|
15
|
+
status: number;
|
|
16
|
+
msg: string;
|
|
17
|
+
data: {
|
|
18
|
+
migrated: number;
|
|
19
|
+
skipped: number;
|
|
20
|
+
total: any;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateSpotCheckData = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
exports.migrateSpotCheckData = {
|
|
6
|
+
rest: {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
fullPath: '/api/pepsico-content/material/migrate-spot-check-data'
|
|
9
|
+
},
|
|
10
|
+
handler: function (ctx) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
12
|
+
var user, logger, materials, migrated, skipped, materials_1, materials_1_1, material, existingRecord, department, spaceUser, error_1, e_1_1, error_2;
|
|
13
|
+
var e_1, _a;
|
|
14
|
+
return tslib_1.__generator(this, function (_b) {
|
|
15
|
+
switch (_b.label) {
|
|
16
|
+
case 0:
|
|
17
|
+
user = ctx.meta.user;
|
|
18
|
+
ctx.getObject = this.getObject;
|
|
19
|
+
return [4, this.getLogger()];
|
|
20
|
+
case 1:
|
|
21
|
+
logger = _b.sent();
|
|
22
|
+
ctx.logger = logger;
|
|
23
|
+
if (!user || !user.is_space_admin) {
|
|
24
|
+
return [2, {
|
|
25
|
+
status: 403,
|
|
26
|
+
msg: "只有管理员可以执行数据迁移",
|
|
27
|
+
data: {}
|
|
28
|
+
}];
|
|
29
|
+
}
|
|
30
|
+
_b.label = 2;
|
|
31
|
+
case 2:
|
|
32
|
+
_b.trys.push([2, 18, , 19]);
|
|
33
|
+
return [4, ctx.getObject('pepsico_material').find({
|
|
34
|
+
filters: [
|
|
35
|
+
['spot_checked', '=', true],
|
|
36
|
+
['pepsico_spot_check', '!=', null]
|
|
37
|
+
],
|
|
38
|
+
fields: ['_id', 'pepsico_spot_check', 'spot_check_time', 'pepsico_spot_check_status', 'spot_description', 'space']
|
|
39
|
+
})];
|
|
40
|
+
case 3:
|
|
41
|
+
materials = _b.sent();
|
|
42
|
+
logger === null || logger === void 0 ? void 0 : logger.info("Found ".concat(materials.length, " materials with spot check data to migrate"));
|
|
43
|
+
migrated = 0;
|
|
44
|
+
skipped = 0;
|
|
45
|
+
_b.label = 4;
|
|
46
|
+
case 4:
|
|
47
|
+
_b.trys.push([4, 15, 16, 17]);
|
|
48
|
+
materials_1 = tslib_1.__values(materials), materials_1_1 = materials_1.next();
|
|
49
|
+
_b.label = 5;
|
|
50
|
+
case 5:
|
|
51
|
+
if (!!materials_1_1.done) return [3, 14];
|
|
52
|
+
material = materials_1_1.value;
|
|
53
|
+
return [4, ctx.getObject('pepsico_material_spot_check_record').findOne({
|
|
54
|
+
filters: [
|
|
55
|
+
['pepsico_material', '=', material._id],
|
|
56
|
+
['spot_checker', '=', material.pepsico_spot_check]
|
|
57
|
+
]
|
|
58
|
+
})];
|
|
59
|
+
case 6:
|
|
60
|
+
existingRecord = _b.sent();
|
|
61
|
+
if (existingRecord) {
|
|
62
|
+
skipped++;
|
|
63
|
+
return [3, 13];
|
|
64
|
+
}
|
|
65
|
+
department = '';
|
|
66
|
+
if (!material.pepsico_spot_check) return [3, 10];
|
|
67
|
+
_b.label = 7;
|
|
68
|
+
case 7:
|
|
69
|
+
_b.trys.push([7, 9, , 10]);
|
|
70
|
+
return [4, ctx.getObject('space_users').findOne({
|
|
71
|
+
filters: ['user', '=', material.pepsico_spot_check]
|
|
72
|
+
})];
|
|
73
|
+
case 8:
|
|
74
|
+
spaceUser = _b.sent();
|
|
75
|
+
department = (spaceUser === null || spaceUser === void 0 ? void 0 : spaceUser.organization) || '';
|
|
76
|
+
return [3, 10];
|
|
77
|
+
case 9:
|
|
78
|
+
error_1 = _b.sent();
|
|
79
|
+
logger === null || logger === void 0 ? void 0 : logger.error("Error getting department for user ".concat(material.pepsico_spot_check), error_1);
|
|
80
|
+
return [3, 10];
|
|
81
|
+
case 10: return [4, ctx.getObject('pepsico_material_spot_check_record').insert({
|
|
82
|
+
pepsico_material: material._id,
|
|
83
|
+
spot_checker: material.pepsico_spot_check,
|
|
84
|
+
spot_check_department: department,
|
|
85
|
+
spot_check_time: material.spot_check_time || new Date(),
|
|
86
|
+
spot_check_status: material.pepsico_spot_check_status !== undefined ? material.pepsico_spot_check_status : true,
|
|
87
|
+
spot_check_opinion: material.spot_description || '',
|
|
88
|
+
space: material.space
|
|
89
|
+
}, user)];
|
|
90
|
+
case 11:
|
|
91
|
+
_b.sent();
|
|
92
|
+
return [4, ctx.getObject('pepsico_material').directUpdate(material._id, {
|
|
93
|
+
spot_checkers: [material.pepsico_spot_check],
|
|
94
|
+
spot_check_departments: department ? [department] : [],
|
|
95
|
+
spot_check_overall_status: 'checked'
|
|
96
|
+
})];
|
|
97
|
+
case 12:
|
|
98
|
+
_b.sent();
|
|
99
|
+
migrated++;
|
|
100
|
+
if (migrated % 100 === 0) {
|
|
101
|
+
logger === null || logger === void 0 ? void 0 : logger.info("Migrated ".concat(migrated, " records..."));
|
|
102
|
+
}
|
|
103
|
+
_b.label = 13;
|
|
104
|
+
case 13:
|
|
105
|
+
materials_1_1 = materials_1.next();
|
|
106
|
+
return [3, 5];
|
|
107
|
+
case 14: return [3, 17];
|
|
108
|
+
case 15:
|
|
109
|
+
e_1_1 = _b.sent();
|
|
110
|
+
e_1 = { error: e_1_1 };
|
|
111
|
+
return [3, 17];
|
|
112
|
+
case 16:
|
|
113
|
+
try {
|
|
114
|
+
if (materials_1_1 && !materials_1_1.done && (_a = materials_1.return)) _a.call(materials_1);
|
|
115
|
+
}
|
|
116
|
+
finally { if (e_1) throw e_1.error; }
|
|
117
|
+
return [7];
|
|
118
|
+
case 17:
|
|
119
|
+
logger === null || logger === void 0 ? void 0 : logger.info("Migration complete. Migrated: ".concat(migrated, ", Skipped: ").concat(skipped));
|
|
120
|
+
return [2, {
|
|
121
|
+
status: 0,
|
|
122
|
+
msg: "数据迁移完成",
|
|
123
|
+
data: {
|
|
124
|
+
migrated: migrated,
|
|
125
|
+
skipped: skipped,
|
|
126
|
+
total: materials.length
|
|
127
|
+
}
|
|
128
|
+
}];
|
|
129
|
+
case 18:
|
|
130
|
+
error_2 = _b.sent();
|
|
131
|
+
logger === null || logger === void 0 ? void 0 : logger.error('Migration failed', error_2);
|
|
132
|
+
return [2, {
|
|
133
|
+
status: 500,
|
|
134
|
+
msg: "\u6570\u636E\u8FC1\u79FB\u5931\u8D25: ".concat(error_2.message),
|
|
135
|
+
data: {}
|
|
136
|
+
}];
|
|
137
|
+
case 19: return [2];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=migrateSpotCheckData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateSpotCheckData.js","sourceRoot":"","sources":["../../src/actions/migrateSpotCheckData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const migrateSpotCheckDepartments: {
|
|
2
|
+
rest: {
|
|
3
|
+
method: string;
|
|
4
|
+
fullPath: string;
|
|
5
|
+
};
|
|
6
|
+
handler(ctx: any): Promise<{
|
|
7
|
+
status: number;
|
|
8
|
+
msg: string;
|
|
9
|
+
data: {
|
|
10
|
+
updated?: undefined;
|
|
11
|
+
skipped?: undefined;
|
|
12
|
+
errors?: undefined;
|
|
13
|
+
total?: undefined;
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
status: number;
|
|
17
|
+
msg: string;
|
|
18
|
+
data: {
|
|
19
|
+
updated: number;
|
|
20
|
+
skipped: number;
|
|
21
|
+
errors: number;
|
|
22
|
+
total: any;
|
|
23
|
+
};
|
|
24
|
+
}>;
|
|
25
|
+
};
|