@steedos-labs/content-compliance 0.7.21 → 0.8.1
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/README.md +61 -0
- package/dist/index.js +1 -1
- package/lib/actions/__tests__/downloadFieldZip.test.d.ts +1 -0
- package/lib/actions/__tests__/downloadFieldZip.test.js +154 -0
- package/lib/actions/__tests__/downloadFieldZip.test.js.map +1 -0
- package/lib/actions/approvalCc.d.ts +7 -0
- package/lib/actions/approvalCc.js +35 -0
- package/lib/actions/approvalCc.js.map +1 -0
- package/lib/actions/downloadFieldZip.d.ts +9 -0
- package/lib/actions/downloadFieldZip.js +155 -0
- package/lib/actions/downloadFieldZip.js.map +1 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +1 -1
- package/lib/index.js +157 -0
- package/lib/index.js.map +1 -1
- package/lib/methods/__tests__/approvalCc.test.d.ts +1 -0
- package/lib/methods/__tests__/approvalCc.test.js +180 -0
- package/lib/methods/__tests__/approvalCc.test.js.map +1 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.d.ts +1 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js +61 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js.map +1 -0
- package/lib/methods/approval_cc.d.ts +15 -0
- package/lib/methods/approval_cc.js +170 -0
- package/lib/methods/approval_cc.js.map +1 -0
- package/lib/methods/approval_engine.js +21 -8
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/consts.d.ts +1 -0
- package/lib/methods/consts.js.map +1 -1
- package/lib/methods/index.d.ts +1 -0
- package/lib/methods/index.js +1 -0
- package/lib/methods/index.js.map +1 -1
- package/lib/methods/notification.d.ts +2 -0
- package/lib/methods/notification.js +135 -14
- package/lib/methods/notification.js.map +1 -1
- package/lib/methods/pls.d.ts +19 -0
- package/lib/methods/pls.js +332 -29
- package/lib/methods/pls.js.map +1 -1
- package/main/default/applications/pepsico_content_review.app.yml +0 -4
- package/main/default/objects/pepsico_approval_cc_log/fields/action.field.yml +11 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/approval_name.field.yml +6 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/cc_user.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/operator.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/pepsico_material_approval.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/space.field.yml +6 -0
- package/main/default/objects/pepsico_approval_cc_log/listviews/all.listview.yml +19 -0
- package/main/default/objects/pepsico_approval_cc_log/pepsico_approval_cc_log.object.yml +16 -0
- package/main/default/objects/pepsico_approval_cc_log/permissions/admin.permission.yml +13 -0
- package/main/default/objects/pepsico_approval_cc_log/permissions/user.permission.yml +13 -0
- package/main/default/objects/pepsico_km_pls/fields/brand.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls/fields/content.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/created.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/created_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/enable.field.yml +0 -1
- package/main/default/objects/pepsico_km_pls/fields/father_nutrient.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/modified.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/modified_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/name.field.yml +2 -3
- package/main/default/objects/pepsico_km_pls/fields/net_content.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/nrv_percent.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/fields/nutrient.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/nutrient_value.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/package_type.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/pls_file.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/product.field.yml +3 -2
- package/main/default/objects/pepsico_km_pls/fields/product_standard.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/serving_amount.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/serving_desc.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/shelf_life.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/fields/storage_condition.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls/fields/tag.field.yml +3 -3
- package/main/default/objects/pepsico_km_pls/fields/taste.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/unit.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +13 -3
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_batch_upload_pls.button.yml +147 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.js +9 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_new.button.yml +3 -0
- package/main/default/objects/pepsico_km_pls_file/fields/ai_extract.field.yml +1 -2
- package/main/default/objects/pepsico_km_pls_file/fields/brand.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/created.field.yml +2 -2
- package/main/default/objects/pepsico_km_pls_file/fields/created_by.field.yml +2 -2
- package/main/default/objects/pepsico_km_pls_file/fields/is_active.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls_file/fields/issue_date.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls_file/fields/modified.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/fields/modified_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/fields/name.field.yml +5 -5
- package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material_approval.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls_file/fields/pls_file.field.yml +4 -4
- package/main/default/objects/pepsico_km_pls_file/fields/product.field.yml +2 -1
- package/main/default/objects/pepsico_km_pls_file/fields/product_name.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/rule_count.field.yml +16 -0
- package/main/default/objects/pepsico_km_pls_file/fields/sku.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/version.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls_file/listviews/all.listview.yml +10 -2
- package/main/default/objects/pepsico_km_pls_file/pepsico_km_pls_file.object.yml +2 -1
- package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve.permission.yml +10 -1
- package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve_cooperate.permission.yml +10 -1
- package/main/default/objects/pepsico_material/buttons/pepsico_nullify_material.button.yml +114 -37
- package/main/default/objects/pepsico_material/buttons/pepsico_onedrive_edit_material.button.yml +1 -1
- package/main/default/objects/pepsico_material/buttons/pepsico_update_material.button.yml +1 -0
- package/main/default/objects/pepsico_material/fields/void_at.field.yml +11 -0
- package/main/default/objects/pepsico_material/fields/void_by.field.yml +12 -0
- package/main/default/objects/pepsico_material/fields/void_material.field.yml +2 -2
- package/main/default/objects/pepsico_material/fields/void_reason.field.yml +12 -0
- package/main/default/objects/pepsico_material/pepsico_material.object.yml +3 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_cc.button.yml +113 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +19 -2
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_material_upload.button.yml +19 -2
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +18 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/cc_users.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_legal_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +3 -1
- package/main/default/triggers/pepsico_km_pls_file_active_sync.trigger.yml +31 -0
- package/main/default/triggers/pepsico_km_pls_file_title_update.trigger.yml +35 -0
- package/main/default/triggers/pepsico_km_pls_product_name_update.trigger.yml +1 -1
- package/main/default/triggers/pepsico_material_void_reason_required.trigger.yml +24 -0
- package/package.json +1 -1
- package/main/default/imports/pepsico_km_pls.import.yml +0 -17
- package/main/default/triggers/pepsico_km_pls_file_product_name_update.trigger.yml +0 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var downloadFieldZip_1 = require("../downloadFieldZip");
|
|
5
|
+
var axios_1 = require("axios");
|
|
6
|
+
var FIELD = 'portrait_auth_doc';
|
|
7
|
+
var makeCtx = function (record, files, fieldName) {
|
|
8
|
+
if (fieldName === void 0) { fieldName = FIELD; }
|
|
9
|
+
var approvalObj = {
|
|
10
|
+
directFind: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
11
|
+
return [2, (record ? [record] : [])];
|
|
12
|
+
}); }); }),
|
|
13
|
+
toConfig: jest.fn(function () {
|
|
14
|
+
var _a;
|
|
15
|
+
return ({
|
|
16
|
+
NAME_FIELD_KEY: 'name',
|
|
17
|
+
fields: (_a = {}, _a[FIELD] = { label: 'KOL肖像授权文件' }, _a)
|
|
18
|
+
});
|
|
19
|
+
})
|
|
20
|
+
};
|
|
21
|
+
var fileObj = { directFind: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
22
|
+
return [2, files];
|
|
23
|
+
}); }); }) };
|
|
24
|
+
var objects = { pepsico_material_approval: approvalObj, cfs_files_filerecord: fileObj };
|
|
25
|
+
var logger = { info: jest.fn(), warn: jest.fn(), error: jest.fn() };
|
|
26
|
+
var thisArg = {
|
|
27
|
+
getObject: jest.fn(function (n) { return objects[n]; }),
|
|
28
|
+
getLogger: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
29
|
+
return [2, logger];
|
|
30
|
+
}); }); })
|
|
31
|
+
};
|
|
32
|
+
var ctx = {
|
|
33
|
+
params: { objectName: 'pepsico_material_approval', recordId: 'rec-1', fieldName: fieldName },
|
|
34
|
+
meta: { requestHeaders: {} }
|
|
35
|
+
};
|
|
36
|
+
return { thisArg: thisArg, ctx: ctx, logger: logger, approvalObj: approvalObj, fileObj: fileObj };
|
|
37
|
+
};
|
|
38
|
+
var expectedDate = function () {
|
|
39
|
+
var d = new Date();
|
|
40
|
+
var pad = function (n) { return (n < 10 ? '0' + n : '' + n); };
|
|
41
|
+
return "".concat(d.getFullYear()).concat(pad(d.getMonth() + 1)).concat(pad(d.getDate()));
|
|
42
|
+
};
|
|
43
|
+
describe('downloadFieldZip', function () {
|
|
44
|
+
afterEach(function () {
|
|
45
|
+
delete axios_1.default.get;
|
|
46
|
+
jest.clearAllMocks();
|
|
47
|
+
});
|
|
48
|
+
it('打包字段下全部文件, 返回 zip 且文件名为 审批单号_字段名称_日期.zip', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var record, files, _a, thisArg, ctx, buffer, cd, match;
|
|
50
|
+
var _b;
|
|
51
|
+
return tslib_1.__generator(this, function (_c) {
|
|
52
|
+
switch (_c.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
axios_1.default.get = jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
55
|
+
return [2, ({ data: Buffer.from('hello-file') })];
|
|
56
|
+
}); }); });
|
|
57
|
+
record = (_b = { _id: 'rec-1', name: 'CA-0001' }, _b[FIELD] = ['f1', 'f2'], _b);
|
|
58
|
+
files = [
|
|
59
|
+
{ _id: 'f1', original: { name: 'a.pdf' } },
|
|
60
|
+
{ _id: 'f2', original: { name: 'b.png' } }
|
|
61
|
+
];
|
|
62
|
+
_a = makeCtx(record, files), thisArg = _a.thisArg, ctx = _a.ctx;
|
|
63
|
+
return [4, downloadFieldZip_1.downloadFieldZip.handler.call(thisArg, ctx)];
|
|
64
|
+
case 1:
|
|
65
|
+
buffer = _c.sent();
|
|
66
|
+
expect(Buffer.isBuffer(buffer)).toBe(true);
|
|
67
|
+
expect(buffer[0]).toBe(0x50);
|
|
68
|
+
expect(buffer[1]).toBe(0x4b);
|
|
69
|
+
expect(axios_1.default.get).toHaveBeenCalledTimes(2);
|
|
70
|
+
expect(ctx.meta.$responseType).toBe('application/zip');
|
|
71
|
+
cd = ctx.meta.$responseHeaders['Content-Disposition'];
|
|
72
|
+
match = cd.match(/filename\*=UTF-8''(.+)$/);
|
|
73
|
+
expect(match).toBeTruthy();
|
|
74
|
+
expect(decodeURIComponent(match[1])).toBe("CA-0001_KOL\u8096\u50CF\u6388\u6743\u6587\u4EF6_".concat(expectedDate(), ".zip"));
|
|
75
|
+
return [2];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}); });
|
|
79
|
+
it('单值(非数组)字段也能正常打包', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
80
|
+
var record, files, _a, thisArg, ctx, buffer;
|
|
81
|
+
var _b;
|
|
82
|
+
return tslib_1.__generator(this, function (_c) {
|
|
83
|
+
switch (_c.label) {
|
|
84
|
+
case 0:
|
|
85
|
+
axios_1.default.get = jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
86
|
+
return [2, ({ data: Buffer.from('x') })];
|
|
87
|
+
}); }); });
|
|
88
|
+
record = (_b = { _id: 'rec-1', name: 'CA-0002' }, _b[FIELD] = 'f1', _b);
|
|
89
|
+
files = [{ _id: 'f1', original: { name: 'only.pdf' } }];
|
|
90
|
+
_a = makeCtx(record, files), thisArg = _a.thisArg, ctx = _a.ctx;
|
|
91
|
+
return [4, downloadFieldZip_1.downloadFieldZip.handler.call(thisArg, ctx)];
|
|
92
|
+
case 1:
|
|
93
|
+
buffer = _c.sent();
|
|
94
|
+
expect(axios_1.default.get).toHaveBeenCalledTimes(1);
|
|
95
|
+
expect(buffer[0]).toBe(0x50);
|
|
96
|
+
return [2];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}); });
|
|
100
|
+
it('单个文件下载失败时跳过, 不影响整包生成', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
101
|
+
var record, files, _a, thisArg, ctx, logger, buffer;
|
|
102
|
+
var _b;
|
|
103
|
+
return tslib_1.__generator(this, function (_c) {
|
|
104
|
+
switch (_c.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
axios_1.default.get = jest.fn()
|
|
107
|
+
.mockResolvedValueOnce({ data: Buffer.from('ok') })
|
|
108
|
+
.mockRejectedValueOnce(new Error('boom'));
|
|
109
|
+
record = (_b = { _id: 'rec-1', name: 'CA-0003' }, _b[FIELD] = ['f1', 'f2'], _b);
|
|
110
|
+
files = [
|
|
111
|
+
{ _id: 'f1', original: { name: 'good.pdf' } },
|
|
112
|
+
{ _id: 'f2', original: { name: 'bad.pdf' } }
|
|
113
|
+
];
|
|
114
|
+
_a = makeCtx(record, files), thisArg = _a.thisArg, ctx = _a.ctx, logger = _a.logger;
|
|
115
|
+
return [4, downloadFieldZip_1.downloadFieldZip.handler.call(thisArg, ctx)];
|
|
116
|
+
case 1:
|
|
117
|
+
buffer = _c.sent();
|
|
118
|
+
expect(buffer[0]).toBe(0x50);
|
|
119
|
+
expect(logger.error).toHaveBeenCalled();
|
|
120
|
+
expect(ctx.meta.$responseType).toBe('application/zip');
|
|
121
|
+
return [2];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}); });
|
|
125
|
+
it('字段为空时报错', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
126
|
+
var record, _a, thisArg, ctx;
|
|
127
|
+
var _b;
|
|
128
|
+
return tslib_1.__generator(this, function (_c) {
|
|
129
|
+
switch (_c.label) {
|
|
130
|
+
case 0:
|
|
131
|
+
record = (_b = { _id: 'rec-1', name: 'CA-0004' }, _b[FIELD] = [], _b);
|
|
132
|
+
_a = makeCtx(record, []), thisArg = _a.thisArg, ctx = _a.ctx;
|
|
133
|
+
return [4, expect(downloadFieldZip_1.downloadFieldZip.handler.call(thisArg, ctx)).rejects.toThrow('该字段没有可下载的附件')];
|
|
134
|
+
case 1:
|
|
135
|
+
_c.sent();
|
|
136
|
+
return [2];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}); });
|
|
140
|
+
it('记录不存在时报错', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
141
|
+
var _a, thisArg, ctx;
|
|
142
|
+
return tslib_1.__generator(this, function (_b) {
|
|
143
|
+
switch (_b.label) {
|
|
144
|
+
case 0:
|
|
145
|
+
_a = makeCtx(null, []), thisArg = _a.thisArg, ctx = _a.ctx;
|
|
146
|
+
return [4, expect(downloadFieldZip_1.downloadFieldZip.handler.call(thisArg, ctx)).rejects.toThrow('未找到记录')];
|
|
147
|
+
case 1:
|
|
148
|
+
_b.sent();
|
|
149
|
+
return [2];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}); });
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=downloadFieldZip.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadFieldZip.test.js","sourceRoot":"","sources":["../../../src/actions/__tests__/downloadFieldZip.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setApprovalCc = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
exports.setApprovalCc = {
|
|
6
|
+
rest: {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
fullPath: '/api/pepsico-content/approve/cc/:recordId'
|
|
9
|
+
},
|
|
10
|
+
handler: function (ctx) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
12
|
+
var logger, ccUsers;
|
|
13
|
+
return tslib_1.__generator(this, function (_a) {
|
|
14
|
+
switch (_a.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
ctx.getObject = this.getObject;
|
|
17
|
+
return [4, this.getLogger()];
|
|
18
|
+
case 1:
|
|
19
|
+
logger = _a.sent();
|
|
20
|
+
ctx.logger = logger;
|
|
21
|
+
ccUsers = ctx.params.cc_users || ctx.params.ccUsers || [];
|
|
22
|
+
if (typeof ccUsers === 'string') {
|
|
23
|
+
ccUsers = ccUsers.split(',').map(function (s) { return s.trim(); }).filter(Boolean);
|
|
24
|
+
}
|
|
25
|
+
else if (!Array.isArray(ccUsers)) {
|
|
26
|
+
ccUsers = [ccUsers];
|
|
27
|
+
}
|
|
28
|
+
return [4, this.setApprovalCcUsers(ctx, ctx.params.recordId, ccUsers)];
|
|
29
|
+
case 2: return [2, _a.sent()];
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=approvalCc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approvalCc.js","sourceRoot":"","sources":["../../src/actions/approvalCc.ts"],"names":[],"mappings":";;;;AAAa,QAAA,aAAa,GAAG;IACzB,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,2CAA2C;KACxD;IACK,OAAO,YAAC,GAAG;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBAEhB,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;wBAE9D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;4BAC7B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;yBACrE;6BAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BAChC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;yBACvB;wBACM,WAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAA;4BAAvE,WAAO,SAAgE,EAAC;;;;KAC3E;CACJ,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.downloadFieldZip = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var axios_1 = require("axios");
|
|
6
|
+
var _ = require("lodash");
|
|
7
|
+
var archiver = require('archiver');
|
|
8
|
+
function sanitizeName(name) {
|
|
9
|
+
return String(name == null ? '' : name)
|
|
10
|
+
.replace(/[\/\\:*?"<>|\r\n\t]/g, '_')
|
|
11
|
+
.trim() || '附件';
|
|
12
|
+
}
|
|
13
|
+
function formatDate(date) {
|
|
14
|
+
var pad = function (n) { return (n < 10 ? '0' + n : '' + n); };
|
|
15
|
+
return "".concat(date.getFullYear()).concat(pad(date.getMonth() + 1)).concat(pad(date.getDate()));
|
|
16
|
+
}
|
|
17
|
+
exports.downloadFieldZip = {
|
|
18
|
+
rest: {
|
|
19
|
+
method: 'GET',
|
|
20
|
+
fullPath: '/api/pepsico-content/download/field-zip/:objectName/:recordId/:fieldName'
|
|
21
|
+
},
|
|
22
|
+
handler: function (ctx) {
|
|
23
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
24
|
+
var logger, _a, objectName, recordId, fieldName, obj, records, record, fileIds, files, fileMap, rootUrl, metaUser, requestHeaders, fetchHeaders, archive, chunks, finished, usedNames, added, fileIds_1, fileIds_1_1, fileId, fileRec, rawName, name, dot, base, ext, i, url, resp, error_1, e_1_1, buffer, objConfig, nameFieldKey, recordName, fieldLabel, zipName, encoded;
|
|
25
|
+
var e_1, _b;
|
|
26
|
+
return tslib_1.__generator(this, function (_c) {
|
|
27
|
+
switch (_c.label) {
|
|
28
|
+
case 0:
|
|
29
|
+
ctx.getObject = this.getObject;
|
|
30
|
+
return [4, this.getLogger()];
|
|
31
|
+
case 1:
|
|
32
|
+
logger = _c.sent();
|
|
33
|
+
ctx.logger = logger;
|
|
34
|
+
_a = ctx.params, objectName = _a.objectName, recordId = _a.recordId, fieldName = _a.fieldName;
|
|
35
|
+
obj = ctx.getObject(objectName);
|
|
36
|
+
return [4, obj.directFind({ filters: [['_id', '=', recordId]] })];
|
|
37
|
+
case 2:
|
|
38
|
+
records = _c.sent();
|
|
39
|
+
record = records && records[0];
|
|
40
|
+
if (!record) {
|
|
41
|
+
throw new Error('未找到记录');
|
|
42
|
+
}
|
|
43
|
+
fileIds = record[fieldName];
|
|
44
|
+
if (_.isNil(fileIds) || (_.isArray(fileIds) && fileIds.length === 0)) {
|
|
45
|
+
throw new Error('该字段没有可下载的附件');
|
|
46
|
+
}
|
|
47
|
+
if (!_.isArray(fileIds)) {
|
|
48
|
+
fileIds = [fileIds];
|
|
49
|
+
}
|
|
50
|
+
return [4, ctx.getObject('cfs_files_filerecord').directFind({
|
|
51
|
+
filters: [['_id', 'in', fileIds]]
|
|
52
|
+
})];
|
|
53
|
+
case 3:
|
|
54
|
+
files = _c.sent();
|
|
55
|
+
fileMap = _.keyBy(files, '_id');
|
|
56
|
+
rootUrl = process.env.ROOT_URL || '';
|
|
57
|
+
metaUser = (ctx.meta && ctx.meta.user) || {};
|
|
58
|
+
requestHeaders = (ctx.meta && ctx.meta.requestHeaders) || {};
|
|
59
|
+
fetchHeaders = {};
|
|
60
|
+
if (metaUser.authToken)
|
|
61
|
+
fetchHeaders['X-Auth-Token'] = metaUser.authToken;
|
|
62
|
+
if (metaUser.spaceId)
|
|
63
|
+
fetchHeaders['X-Space-Id'] = metaUser.spaceId;
|
|
64
|
+
if (!fetchHeaders['X-Auth-Token'] && requestHeaders['x-auth-token'])
|
|
65
|
+
fetchHeaders['X-Auth-Token'] = requestHeaders['x-auth-token'];
|
|
66
|
+
if (!fetchHeaders['X-Space-Id'] && requestHeaders['x-space-id'])
|
|
67
|
+
fetchHeaders['X-Space-Id'] = requestHeaders['x-space-id'];
|
|
68
|
+
if (requestHeaders.cookie)
|
|
69
|
+
fetchHeaders.cookie = requestHeaders.cookie;
|
|
70
|
+
archive = archiver('zip', { zlib: { level: 9 } });
|
|
71
|
+
chunks = [];
|
|
72
|
+
archive.on('data', function (chunk) { return chunks.push(chunk); });
|
|
73
|
+
archive.on('warning', function (err) { return logger.warn("[\u5B57\u6BB5\u6253\u5305\u4E0B\u8F7D] \u8B66\u544A: ".concat(err.message), { objectName: objectName, _id: recordId, fieldName: fieldName }); });
|
|
74
|
+
finished = new Promise(function (resolve, reject) {
|
|
75
|
+
archive.on('end', resolve);
|
|
76
|
+
archive.on('error', reject);
|
|
77
|
+
});
|
|
78
|
+
usedNames = new Set();
|
|
79
|
+
added = 0;
|
|
80
|
+
_c.label = 4;
|
|
81
|
+
case 4:
|
|
82
|
+
_c.trys.push([4, 11, 12, 13]);
|
|
83
|
+
fileIds_1 = tslib_1.__values(fileIds), fileIds_1_1 = fileIds_1.next();
|
|
84
|
+
_c.label = 5;
|
|
85
|
+
case 5:
|
|
86
|
+
if (!!fileIds_1_1.done) return [3, 10];
|
|
87
|
+
fileId = fileIds_1_1.value;
|
|
88
|
+
fileRec = fileMap[fileId];
|
|
89
|
+
rawName = sanitizeName(fileRec && fileRec.original && fileRec.original.name ? fileRec.original.name : fileId);
|
|
90
|
+
name = rawName;
|
|
91
|
+
if (usedNames.has(name)) {
|
|
92
|
+
dot = rawName.lastIndexOf('.');
|
|
93
|
+
base = dot > 0 ? rawName.slice(0, dot) : rawName;
|
|
94
|
+
ext = dot > 0 ? rawName.slice(dot) : '';
|
|
95
|
+
i = 1;
|
|
96
|
+
do {
|
|
97
|
+
name = "".concat(base, "(").concat(i, ")").concat(ext);
|
|
98
|
+
i++;
|
|
99
|
+
} while (usedNames.has(name));
|
|
100
|
+
}
|
|
101
|
+
usedNames.add(name);
|
|
102
|
+
_c.label = 6;
|
|
103
|
+
case 6:
|
|
104
|
+
_c.trys.push([6, 8, , 9]);
|
|
105
|
+
url = "".concat(rootUrl, "/api/files/files/").concat(fileId, "?download=true");
|
|
106
|
+
return [4, axios_1.default.get(url, { responseType: 'arraybuffer', headers: fetchHeaders })];
|
|
107
|
+
case 7:
|
|
108
|
+
resp = _c.sent();
|
|
109
|
+
archive.append(Buffer.from(resp.data), { name: name });
|
|
110
|
+
added++;
|
|
111
|
+
return [3, 9];
|
|
112
|
+
case 8:
|
|
113
|
+
error_1 = _c.sent();
|
|
114
|
+
logger.error("[\u5B57\u6BB5\u6253\u5305\u4E0B\u8F7D] \u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25 ".concat(fileId, ": ").concat(error_1.message), { objectName: objectName, _id: recordId, fieldName: fieldName });
|
|
115
|
+
archive.append("\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25: ".concat(rawName, "\n\u539F\u56E0: ").concat(error_1.message), { name: "".concat(name, ".\u4E0B\u8F7D\u5931\u8D25.txt") });
|
|
116
|
+
return [3, 9];
|
|
117
|
+
case 9:
|
|
118
|
+
fileIds_1_1 = fileIds_1.next();
|
|
119
|
+
return [3, 5];
|
|
120
|
+
case 10: return [3, 13];
|
|
121
|
+
case 11:
|
|
122
|
+
e_1_1 = _c.sent();
|
|
123
|
+
e_1 = { error: e_1_1 };
|
|
124
|
+
return [3, 13];
|
|
125
|
+
case 12:
|
|
126
|
+
try {
|
|
127
|
+
if (fileIds_1_1 && !fileIds_1_1.done && (_b = fileIds_1.return)) _b.call(fileIds_1);
|
|
128
|
+
}
|
|
129
|
+
finally { if (e_1) throw e_1.error; }
|
|
130
|
+
return [7];
|
|
131
|
+
case 13: return [4, archive.finalize()];
|
|
132
|
+
case 14:
|
|
133
|
+
_c.sent();
|
|
134
|
+
return [4, finished];
|
|
135
|
+
case 15:
|
|
136
|
+
_c.sent();
|
|
137
|
+
buffer = Buffer.concat(chunks);
|
|
138
|
+
objConfig = obj.toConfig();
|
|
139
|
+
nameFieldKey = objConfig.NAME_FIELD_KEY || 'name';
|
|
140
|
+
recordName = record[nameFieldKey] || recordId;
|
|
141
|
+
fieldLabel = (objConfig.fields && objConfig.fields[fieldName] && objConfig.fields[fieldName].label) || fieldName;
|
|
142
|
+
zipName = "".concat(sanitizeName(recordName), "_").concat(sanitizeName(fieldLabel), "_").concat(formatDate(new Date()), ".zip");
|
|
143
|
+
encoded = encodeURIComponent(zipName);
|
|
144
|
+
ctx.meta.$responseType = 'application/zip';
|
|
145
|
+
ctx.meta.$responseHeaders = {
|
|
146
|
+
'Content-Disposition': "attachment; filename=\"".concat(encoded, "\"; filename*=UTF-8''").concat(encoded)
|
|
147
|
+
};
|
|
148
|
+
logger.info("[\u5B57\u6BB5\u6253\u5305\u4E0B\u8F7D] ".concat(zipName, " \u5171 ").concat(added, "/").concat(fileIds.length, " \u4E2A\u6587\u4EF6"), { objectName: objectName, _id: recordId, fieldName: fieldName });
|
|
149
|
+
return [2, buffer];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=downloadFieldZip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadFieldZip.js","sourceRoot":"","sources":["../../src/actions/downloadFieldZip.ts"],"names":[],"mappings":"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"}
|
package/lib/actions/index.d.ts
CHANGED
package/lib/actions/index.js
CHANGED
|
@@ -28,4 +28,5 @@ tslib_1.__exportStar(require("./postponeReview"), exports);
|
|
|
28
28
|
tslib_1.__exportStar(require("./urgentApproval"), exports);
|
|
29
29
|
tslib_1.__exportStar(require("./initUrgentQuota"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("./initCollaborator"), exports);
|
|
31
|
+
tslib_1.__exportStar(require("./approvalCc"), exports);
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
package/lib/actions/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;AAOA,mDAAyB;AAEzB,sDAA4B;AAE5B,6DAAmC;AAEnC,2DAAiC;AAEjC,8DAAoC;AAEpC,+DAAqC;AAErC,uDAA6B;AAE7B,4DAAkC;AAElC,oEAA0C;AAE1C,iDAAuB;AAEvB,kEAAwC;AAExC,qDAA2B;AAE3B,uDAA6B;AAE7B,gEAAsC;AAEtC,6DAAmC;AAEnC,8DAAoC;AAEpC,iEAAuC;AACvC,2DAAiC;AAEjC,2DAAiC;AAEjC,4DAAkC;AAElC,uEAA6C;AAE7C,wEAA8C;AAE9C,oEAA0C;AAE1C,2DAAiC;AAEjC,2DAAiC;AAEjC,4DAAkC;AAElC,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;AAOA,mDAAyB;AAEzB,sDAA4B;AAE5B,6DAAmC;AAEnC,2DAAiC;AAEjC,8DAAoC;AAEpC,+DAAqC;AAErC,uDAA6B;AAE7B,4DAAkC;AAElC,oEAA0C;AAE1C,iDAAuB;AAEvB,kEAAwC;AAExC,qDAA2B;AAE3B,uDAA6B;AAE7B,gEAAsC;AAEtC,6DAAmC;AAEnC,8DAAoC;AAEpC,iEAAuC;AACvC,2DAAiC;AAEjC,2DAAiC;AAEjC,4DAAkC;AAElC,uEAA6C;AAE7C,wEAA8C;AAE9C,oEAA0C;AAE1C,2DAAiC;AAEjC,2DAAiC;AAEjC,4DAAkC;AAElC,6DAAmC;AAEnC,uDAA6B"}
|
package/lib/index.js
CHANGED
|
@@ -771,6 +771,163 @@ module.exports = {
|
|
|
771
771
|
});
|
|
772
772
|
});
|
|
773
773
|
}
|
|
774
|
+
}, backfillPLSFileTitles: {
|
|
775
|
+
rest: {
|
|
776
|
+
method: 'GET',
|
|
777
|
+
fullPath: '/api/pepsico-content/pls-file/backfill-title'
|
|
778
|
+
},
|
|
779
|
+
handler: function (ctx) {
|
|
780
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
781
|
+
var user, logger, result;
|
|
782
|
+
return tslib_1.__generator(this, function (_a) {
|
|
783
|
+
switch (_a.label) {
|
|
784
|
+
case 0:
|
|
785
|
+
user = ctx.meta.user;
|
|
786
|
+
if (user && !user.is_space_admin) {
|
|
787
|
+
return [2, { error: '没有权限' }];
|
|
788
|
+
}
|
|
789
|
+
return [4, this.getLogger()];
|
|
790
|
+
case 1:
|
|
791
|
+
logger = _a.sent();
|
|
792
|
+
ctx.getObject = this.getObject;
|
|
793
|
+
ctx.logger = logger;
|
|
794
|
+
return [4, (0, pls_1.backfillPLSFileTitles)(ctx)];
|
|
795
|
+
case 2:
|
|
796
|
+
result = _a.sent();
|
|
797
|
+
return [2, {
|
|
798
|
+
'历史记录总数': result.total,
|
|
799
|
+
'更新标题数量': result.updated,
|
|
800
|
+
'跳过数量': result.skipped
|
|
801
|
+
}];
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
});
|
|
805
|
+
}
|
|
806
|
+
}, resetPLSFileAIExtract: {
|
|
807
|
+
rest: {
|
|
808
|
+
method: 'GET',
|
|
809
|
+
fullPath: '/api/pepsico-content/pls-file/reset-ai-extract'
|
|
810
|
+
},
|
|
811
|
+
handler: function (ctx) {
|
|
812
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
813
|
+
var user, logger, result;
|
|
814
|
+
return tslib_1.__generator(this, function (_a) {
|
|
815
|
+
switch (_a.label) {
|
|
816
|
+
case 0:
|
|
817
|
+
user = ctx.meta.user;
|
|
818
|
+
if (user && !user.is_space_admin) {
|
|
819
|
+
return [2, { error: '没有权限' }];
|
|
820
|
+
}
|
|
821
|
+
return [4, this.getLogger()];
|
|
822
|
+
case 1:
|
|
823
|
+
logger = _a.sent();
|
|
824
|
+
ctx.getObject = this.getObject;
|
|
825
|
+
ctx.logger = logger;
|
|
826
|
+
return [4, (0, pls_1.resetPLSFileAIExtract)(ctx)];
|
|
827
|
+
case 2:
|
|
828
|
+
result = _a.sent();
|
|
829
|
+
return [2, {
|
|
830
|
+
'记录总数': result.total,
|
|
831
|
+
'重置数量': result.updated
|
|
832
|
+
}];
|
|
833
|
+
}
|
|
834
|
+
});
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
}, batchCreatePLSFiles: {
|
|
838
|
+
rest: {
|
|
839
|
+
method: 'POST',
|
|
840
|
+
fullPath: '/api/pepsico-content/pls-file/batch-upload'
|
|
841
|
+
},
|
|
842
|
+
handler: function (ctx) {
|
|
843
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
844
|
+
var user, _a, rawFileIds, fileIds, result;
|
|
845
|
+
return tslib_1.__generator(this, function (_b) {
|
|
846
|
+
switch (_b.label) {
|
|
847
|
+
case 0:
|
|
848
|
+
user = ctx.meta.user;
|
|
849
|
+
if (!user || !user.userId) {
|
|
850
|
+
return [2, { error: '请先登录' }];
|
|
851
|
+
}
|
|
852
|
+
ctx.getObject = this.getObject;
|
|
853
|
+
_a = ctx;
|
|
854
|
+
return [4, this.getLogger()];
|
|
855
|
+
case 1:
|
|
856
|
+
_a.logger = _b.sent();
|
|
857
|
+
rawFileIds = ctx.params.fileIds || ctx.params.files;
|
|
858
|
+
fileIds = _.isString(rawFileIds) ? rawFileIds.split(',') : (rawFileIds || []);
|
|
859
|
+
return [4, (0, pls_1.batchCreatePLSFiles)(ctx, fileIds)];
|
|
860
|
+
case 2:
|
|
861
|
+
result = _b.sent();
|
|
862
|
+
return [2, result];
|
|
863
|
+
}
|
|
864
|
+
});
|
|
865
|
+
});
|
|
866
|
+
}
|
|
867
|
+
}, setPLSFileActive: {
|
|
868
|
+
rest: {
|
|
869
|
+
method: 'POST',
|
|
870
|
+
fullPath: '/api/pepsico-content/pls-file/set-active'
|
|
871
|
+
},
|
|
872
|
+
handler: function (ctx) {
|
|
873
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
874
|
+
var user, _a, _b, id, active, result;
|
|
875
|
+
return tslib_1.__generator(this, function (_c) {
|
|
876
|
+
switch (_c.label) {
|
|
877
|
+
case 0:
|
|
878
|
+
user = ctx.meta.user;
|
|
879
|
+
if (!user || !user.userId) {
|
|
880
|
+
return [2, { error: '请先登录' }];
|
|
881
|
+
}
|
|
882
|
+
ctx.getObject = this.getObject;
|
|
883
|
+
_a = ctx;
|
|
884
|
+
return [4, this.getLogger()];
|
|
885
|
+
case 1:
|
|
886
|
+
_a.logger = _c.sent();
|
|
887
|
+
_b = ctx.params, id = _b.id, active = _b.active;
|
|
888
|
+
if (!id) {
|
|
889
|
+
return [2, { error: '缺少记录ID' }];
|
|
890
|
+
}
|
|
891
|
+
return [4, (0, pls_1.setPLSFileActive)(ctx, id, active === true || active === 'true')];
|
|
892
|
+
case 2:
|
|
893
|
+
result = _c.sent();
|
|
894
|
+
return [2, result];
|
|
895
|
+
}
|
|
896
|
+
});
|
|
897
|
+
});
|
|
898
|
+
}
|
|
899
|
+
}, extractPLSRules: {
|
|
900
|
+
rest: {
|
|
901
|
+
method: 'POST',
|
|
902
|
+
fullPath: '/api/pepsico-content/pls-file/extract-rules'
|
|
903
|
+
},
|
|
904
|
+
handler: function (ctx) {
|
|
905
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
906
|
+
var user, _a, id, result;
|
|
907
|
+
return tslib_1.__generator(this, function (_b) {
|
|
908
|
+
switch (_b.label) {
|
|
909
|
+
case 0:
|
|
910
|
+
user = ctx.meta.user;
|
|
911
|
+
if (!user || !user.userId) {
|
|
912
|
+
return [2, { error: '请先登录' }];
|
|
913
|
+
}
|
|
914
|
+
ctx.getObject = this.getObject;
|
|
915
|
+
_a = ctx;
|
|
916
|
+
return [4, this.getLogger()];
|
|
917
|
+
case 1:
|
|
918
|
+
_a.logger = _b.sent();
|
|
919
|
+
id = ctx.params.id;
|
|
920
|
+
if (!id) {
|
|
921
|
+
return [2, { error: '缺少记录ID' }];
|
|
922
|
+
}
|
|
923
|
+
return [4, (0, pls_1.callExtractPLSRules)(ctx, id)];
|
|
924
|
+
case 2:
|
|
925
|
+
result = _b.sent();
|
|
926
|
+
return [2, result];
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
});
|
|
930
|
+
}
|
|
774
931
|
}, scanInactiveUsers: {
|
|
775
932
|
rest: {
|
|
776
933
|
method: 'GET',
|