@steedos-labs/content-compliance 1.0.0 → 1.0.2

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 (73) hide show
  1. package/dist/index.js +1 -1
  2. package/lib/actions/contentHubFillOnSave.d.ts +5 -0
  3. package/lib/actions/contentHubFillOnSave.js +49 -0
  4. package/lib/actions/contentHubFillOnSave.js.map +1 -0
  5. package/lib/actions/contentHubMaterialGroups.js +19 -35
  6. package/lib/actions/contentHubMaterialGroups.js.map +1 -1
  7. package/lib/actions/contentHubSyncPreview.js +23 -19
  8. package/lib/actions/contentHubSyncPreview.js.map +1 -1
  9. package/lib/actions/index.d.ts +1 -0
  10. package/lib/actions/index.js +1 -0
  11. package/lib/actions/index.js.map +1 -1
  12. package/lib/methods/__tests__/contentHubFormFill.test.d.ts +1 -0
  13. package/lib/methods/__tests__/contentHubFormFill.test.js +274 -0
  14. package/lib/methods/__tests__/contentHubFormFill.test.js.map +1 -0
  15. package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js +43 -6
  16. package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js.map +1 -1
  17. package/lib/methods/__tests__/contentHubPush.test.js +503 -9
  18. package/lib/methods/__tests__/contentHubPush.test.js.map +1 -1
  19. package/lib/methods/approval_engine.js +9 -6
  20. package/lib/methods/approval_engine.js.map +1 -1
  21. package/lib/methods/consts.d.ts +1 -0
  22. package/lib/methods/consts.js.map +1 -1
  23. package/lib/methods/content_hub.d.ts +1 -0
  24. package/lib/methods/content_hub.js +203 -25
  25. package/lib/methods/content_hub.js.map +1 -1
  26. package/lib/methods/content_hub_copyright.d.ts +15 -0
  27. package/lib/methods/content_hub_copyright.js +223 -0
  28. package/lib/methods/content_hub_copyright.js.map +1 -0
  29. package/lib/methods/content_hub_form_fill.d.ts +2 -0
  30. package/lib/methods/content_hub_form_fill.js +75 -0
  31. package/lib/methods/content_hub_form_fill.js.map +1 -0
  32. package/lib/methods/content_hub_material_group.d.ts +1 -0
  33. package/lib/methods/content_hub_material_group.js +14 -1
  34. package/lib/methods/content_hub_material_group.js.map +1 -1
  35. package/lib/methods/content_hub_material_group_rule.d.ts +17 -1
  36. package/lib/methods/content_hub_material_group_rule.js +77 -4
  37. package/lib/methods/content_hub_material_group_rule.js.map +1 -1
  38. package/lib/methods/content_hub_sync_rule.d.ts +4 -0
  39. package/lib/methods/content_hub_sync_rule.js +29 -1
  40. package/lib/methods/content_hub_sync_rule.js.map +1 -1
  41. package/lib/methods/content_hub_uploader.d.ts +24 -0
  42. package/lib/methods/content_hub_uploader.js +281 -0
  43. package/lib/methods/content_hub_uploader.js.map +1 -0
  44. package/lib/methods/pls.d.ts +3 -0
  45. package/lib/methods/pls.js +39 -35
  46. package/lib/methods/pls.js.map +1 -1
  47. package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +2 -0
  48. package/main/default/objects/pepesio_ch__c/fields/pepsico_material_approval.field.yml +6 -0
  49. package/main/default/objects/pepesio_ch__c/fields/push_status.field.yml +11 -0
  50. package/main/default/objects/pepesio_ch__c/fields/type.field.yml +48 -8
  51. package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +2 -0
  52. package/main/default/objects/pepsico_ch_material_group_rule/fields/classification.field.yml +1 -1
  53. package/main/default/objects/pepsico_ch_material_group_rule/fields/priority.field.yml +10 -0
  54. package/main/default/objects/pepsico_ch_material_group_rule/fields/query_mode.field.yml +12 -0
  55. package/main/default/objects/pepsico_ch_material_group_rule/listviews/all.listview.yml +4 -2
  56. package/main/default/objects/pepsico_ch_material_group_rule/pepsico_ch_material_group_rule.object.yml +2 -1
  57. package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +78 -1
  58. package/main/default/objects/pepsico_material_approval/fields/available_channels.field.yml +2 -0
  59. package/main/default/objects/pepsico_material_approval/fields/ch_material_group.field.yml +5 -12
  60. package/main/default/objects/pepsico_material_approval/fields/ch_material_group_path.field.yml +5 -3
  61. package/main/default/objects/pepsico_material_approval/fields/ch_sync_enabled.field.yml +10 -0
  62. package/main/default/objects/pepsico_material_approval/fields/ch_sync_manual.field.yml +12 -0
  63. package/main/default/objects/pepsico_material_approval/fields/ch_sync_rule_check.field.yml +4 -12
  64. package/main/default/objects/pepsico_material_approval/fields/ch_uploader_notified_group.field.yml +11 -0
  65. package/main/default/objects/pepsico_material_approval/fields/content_rule.field.yml +2 -0
  66. package/main/default/objects/pepsico_material_approval/fields/effective_date.field.yml +2 -0
  67. package/main/default/objects/pepsico_material_approval/fields/expiry_date.field.yml +2 -0
  68. package/main/default/objects/pepsico_material_approval/fields/material_editable.field.yml +78 -0
  69. package/main/default/objects/pepsico_material_approval/fields/material_type.field.yml +2 -0
  70. package/main/default/objects/pepsico_material_approval_data/fields/guding_pass.field.yml +9 -1
  71. package/main/default/objects/pepsico_material_data/fields/guding_pass.field.yml +9 -1
  72. package/main/default/triggers/pepsico_material_approval_content_hub.trigger.yml +26 -0
  73. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ export declare const contentHubFillOnSave: {
2
+ handler(ctx: any): Promise<{
3
+ patch: any;
4
+ }>;
5
+ };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentHubFillOnSave = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var content_hub_form_fill_1 = require("../methods/content_hub_form_fill");
6
+ exports.contentHubFillOnSave = {
7
+ handler: function (ctx) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
9
+ var logger, _a, doc, id, previous, rows, error_1;
10
+ var _b;
11
+ return tslib_1.__generator(this, function (_c) {
12
+ switch (_c.label) {
13
+ case 0: return [4, this.getLogger()];
14
+ case 1:
15
+ logger = _c.sent();
16
+ ctx.logger = logger;
17
+ ctx.getObject = this.getObject;
18
+ _a = ctx.params || {}, doc = _a.doc, id = _a.id;
19
+ _c.label = 2;
20
+ case 2:
21
+ _c.trys.push([2, 6, , 8]);
22
+ previous = null;
23
+ if (!id) return [3, 4];
24
+ return [4, ctx.getObject('pepsico_material_approval').directFind({
25
+ filters: [['_id', '=', id]],
26
+ fields: content_hub_form_fill_1.CONTENT_HUB_INPUT_FIELDS,
27
+ top: 1
28
+ })];
29
+ case 3:
30
+ rows = _c.sent();
31
+ previous = rows && rows.length > 0 ? rows[0] : null;
32
+ _c.label = 4;
33
+ case 4:
34
+ _b = {};
35
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(ctx, doc || {}, previous)];
36
+ case 5: return [2, (_b.patch = _c.sent(), _b)];
37
+ case 6:
38
+ error_1 = _c.sent();
39
+ return [4, logger.error("[Content Hub]\u4FDD\u5B58\u65F6\u8865\u7B97\u540C\u6B65\u5F00\u5173 / \u7D20\u6750\u7EC4\u8DEF\u5F84\u5931\u8D25, \u4E0D\u5F71\u54CD\u4FDD\u5B58", { id: id, error: error_1.message })];
40
+ case 7:
41
+ _c.sent();
42
+ return [2, { patch: {} }];
43
+ case 8: return [2];
44
+ }
45
+ });
46
+ });
47
+ }
48
+ };
49
+ //# sourceMappingURL=contentHubFillOnSave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentHubFillOnSave.js","sourceRoot":"","sources":["../../src/actions/contentHubFillOnSave.ts"],"names":[],"mappings":";;;;AAKA,0EAAkG;AAErF,QAAA,oBAAoB,GAAG;IAC1B,OAAO,YAAC,GAAG;;;;;;4BACE,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACzB,KAAc,GAAG,CAAC,MAAM,IAAI,EAAE,EAA5B,GAAG,SAAA,EAAE,EAAE,QAAA,CAAsB;;;;wBAE7B,QAAQ,GAAG,IAAI,CAAC;6BAChB,EAAE,EAAF,cAAE;wBACW,WAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC;gCACrE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gCAC3B,MAAM,EAAE,gDAAwB;gCAChC,GAAG,EAAE,CAAC;6BACT,CAAC,EAAA;;wBAJI,IAAI,GAAG,SAIX;wBACF,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;;;;wBAExC,WAAM,IAAA,4CAAoB,EAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAA;4BAApE,YAAS,QAAK,GAAE,SAAoD,OAAG;;;wBAEvE,WAAM,MAAM,CAAC,KAAK,CAAC,kJAAyC,EAAE,EAAE,EAAE,IAAA,EAAE,KAAK,EAAE,OAAK,CAAC,OAAO,EAAE,CAAC,EAAA;;wBAA3F,SAA2F,CAAC;wBAC5F,WAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAC;;;;;KAE5B;CACJ,CAAC"}
@@ -2,11 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contentHubMaterialGroups = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var _ = require("lodash");
6
- var content_hub_material_group_1 = require("../methods/content_hub_material_group");
7
5
  var content_hub_material_group_rule_1 = require("../methods/content_hub_material_group_rule");
8
- var tag_label_1 = require("../methods/tag_label");
9
- var PRODUCT_TAG_ID = _.find(tag_label_1.TAG_LABEL_FIELDS.pepsico_material_approval, { field: 'product' }).tagId;
6
+ var content_hub_sync_rule_1 = require("../methods/content_hub_sync_rule");
10
7
  exports.contentHubMaterialGroups = {
11
8
  rest: {
12
9
  method: 'GET',
@@ -15,9 +12,10 @@ exports.contentHubMaterialGroups = {
15
12
  handler: function (ctx) {
16
13
  var _a, _b;
17
14
  return tslib_1.__awaiter(this, void 0, void 0, function () {
18
- var user, logger, _c, product, path, owner_department, classification, sales, materialGroupPath, rule, productPaths, names_1, options, error_1;
19
- return tslib_1.__generator(this, function (_d) {
20
- switch (_d.label) {
15
+ var user, logger, _c, product, path, owner_department, classification, sales, options, _d, _e, error_1;
16
+ var _f;
17
+ return tslib_1.__generator(this, function (_g) {
18
+ switch (_g.label) {
21
19
  case 0:
22
20
  user = ctx.meta.user;
23
21
  if (!user || !user.userId) {
@@ -25,43 +23,29 @@ exports.contentHubMaterialGroups = {
25
23
  }
26
24
  return [4, this.getLogger()];
27
25
  case 1:
28
- logger = _d.sent();
26
+ logger = _g.sent();
29
27
  ctx.logger = logger;
30
28
  ctx.getObject = this.getObject;
31
29
  _c = ctx.params || {}, product = _c.product, path = _c.path, owner_department = _c.owner_department, classification = _c.classification;
32
30
  sales = ((_a = ctx.params) === null || _a === void 0 ? void 0 : _a.sales) === true || ((_b = ctx.params) === null || _b === void 0 ? void 0 : _b.sales) === 'true';
33
- _d.label = 2;
31
+ _g.label = 2;
34
32
  case 2:
35
- _d.trys.push([2, 8, , 10]);
36
- materialGroupPath = _.compact(_.castArray(path || []));
37
- if (!(!sales && materialGroupPath.length === 0)) return [3, 4];
38
- return [4, (0, content_hub_material_group_rule_1.matchSalesRule)(ctx, { ownerDepartment: owner_department, classification: classification })];
39
- case 3:
40
- rule = _d.sent();
41
- sales = !!rule;
42
- _d.label = 4;
33
+ _g.trys.push([2, 5, , 7]);
34
+ _d = content_hub_material_group_rule_1.loadMaterialGroupOptions;
35
+ _e = [ctx];
36
+ _f = { product: product, path: path };
37
+ return [4, (0, content_hub_sync_rule_1.resolveOwnerDepartment)(ctx, owner_department)];
38
+ case 3: return [4, _d.apply(void 0, _e.concat([(_f.ownerDepartment = _g.sent(), _f.classification = classification, _f.sales = sales, _f)]))];
43
39
  case 4:
44
- if (!(!sales && materialGroupPath.length === 0)) return [3, 6];
45
- productPaths = (0, tag_label_1.parseTagValuePaths)(product);
46
- if (productPaths.length === 0) {
47
- return [2, { status: 0, msg: '', data: { options: [] } }];
48
- }
49
- return [4, (0, tag_label_1.loadTagNames)(ctx, PRODUCT_TAG_ID, _.flatten(productPaths))];
50
- case 5:
51
- names_1 = _d.sent();
52
- materialGroupPath = productPaths.map(function (ids) { return (0, content_hub_material_group_1.toMaterialGroupPath)(ids.map(function (id) { return names_1[id] || id; })); });
53
- _d.label = 6;
54
- case 6: return [4, (0, content_hub_material_group_1.queryMaterialGroupTree)(ctx, { sales: sales, materialGroupPath: materialGroupPath })];
55
- case 7:
56
- options = _d.sent();
40
+ options = _g.sent();
57
41
  return [2, { status: 0, msg: '', data: { options: options } }];
58
- case 8:
59
- error_1 = _d.sent();
42
+ case 5:
43
+ error_1 = _g.sent();
60
44
  return [4, logger.error("[Content Hub \u7D20\u6750\u7EC4\u67E5\u8BE2]\u5931\u8D25", { product: product, path: path, owner_department: owner_department, classification: classification, sales: sales, error: error_1.message })];
61
- case 9:
62
- _d.sent();
45
+ case 6:
46
+ _g.sent();
63
47
  return [2, { status: 500, msg: error_1.message, data: { options: [] } }];
64
- case 10: return [2];
48
+ case 7: return [2];
65
49
  }
66
50
  });
67
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"contentHubMaterialGroups.js","sourceRoot":"","sources":["../../src/actions/contentHubMaterialGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentHubMaterialGroups.js","sourceRoot":"","sources":["../../src/actions/contentHubMaterialGroups.ts"],"names":[],"mappings":";;;;AASA,8FAAsF;AACtF,0EAA0E;AAE7D,QAAA,wBAAwB,GAAG;IACpC,IAAI,EAAE;QACF,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,kDAAkD;KAC/D;IACK,OAAO,YAAC,GAAG;;;;;;;;wBACP,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACvB,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAC;yBAC7D;wBACc,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAEzB,KAAsD,GAAG,CAAC,MAAM,IAAI,EAAE,EAApE,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,gBAAgB,sBAAA,EAAE,cAAc,oBAAA,CAAsB;wBACvE,KAAK,GAAG,CAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,KAAK,MAAK,IAAI,IAAI,CAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,KAAK,MAAK,MAAM,CAAC;;;;wBAG/C,KAAA,0DAAwB,CAAA;8BAAC,GAAG;+BAAI,OAAO,SAAA,EAAE,IAAI,MAAA;wBAAmB,WAAM,IAAA,8CAAsB,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAA;4BAAzH,WAAM,6BAA+C,kBAAe,GAAE,SAAmD,EAAE,iBAAc,iBAAA,EAAE,QAAK,QAAA,QAAG,EAAA;;wBAA7J,OAAO,GAAG,SAAmJ;wBACnK,WAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,EAAE,EAAC;;;wBAEjD,WAAM,MAAM,CAAC,KAAK,CAAC,0DAAuB,EAAE,EAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,gBAAgB,kBAAA,EAAE,cAAc,gBAAA,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,OAAK,CAAC,OAAO,EAAE,CAAC,EAAA;;wBAA7H,SAA6H,CAAC;wBAC9H,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAC;;;;;KAEzE;CACJ,CAAC"}
@@ -10,9 +10,10 @@ exports.contentHubSyncPreview = {
10
10
  },
11
11
  handler: function (ctx) {
12
12
  return tslib_1.__awaiter(this, void 0, void 0, function () {
13
- var user, logger, _a, owner_department, classification, product, kol_classification, _b, needSync, rule, error_1;
14
- return tslib_1.__generator(this, function (_c) {
15
- switch (_c.label) {
13
+ var user, logger, _a, owner_department, classification, product, kol_classification, _b, needSync, rule, _c, _d, error_1;
14
+ var _e;
15
+ return tslib_1.__generator(this, function (_f) {
16
+ switch (_f.label) {
16
17
  case 0:
17
18
  user = ctx.meta.user;
18
19
  if (!user || !user.userId) {
@@ -20,29 +21,32 @@ exports.contentHubSyncPreview = {
20
21
  }
21
22
  return [4, this.getLogger()];
22
23
  case 1:
23
- logger = _c.sent();
24
+ logger = _f.sent();
24
25
  ctx.logger = logger;
25
26
  ctx.getObject = this.getObject;
26
27
  _a = ctx.params || {}, owner_department = _a.owner_department, classification = _a.classification, product = _a.product, kol_classification = _a.kol_classification;
27
- _c.label = 2;
28
+ _f.label = 2;
28
29
  case 2:
29
- _c.trys.push([2, 4, , 6]);
30
- return [4, (0, content_hub_sync_rule_1.previewSyncForForm)(ctx, {
31
- ownerDepartment: owner_department,
32
- classification: classification,
33
- product: product,
34
- kolClassification: kol_classification
35
- })];
36
- case 3:
37
- _b = _c.sent(), needSync = _b.needSync, rule = _b.rule;
38
- return [2, { status: 0, msg: '', data: { needSync: needSync, ruleName: rule ? rule.name : null } }];
30
+ _f.trys.push([2, 5, , 7]);
31
+ _c = content_hub_sync_rule_1.previewSyncForForm;
32
+ _d = [ctx];
33
+ _e = {};
34
+ return [4, (0, content_hub_sync_rule_1.resolveOwnerDepartment)(ctx, owner_department)];
35
+ case 3: return [4, _c.apply(void 0, _d.concat([(_e.ownerDepartment = _f.sent(),
36
+ _e.classification = classification,
37
+ _e.product = product,
38
+ _e.kolClassification = kol_classification,
39
+ _e)]))];
39
40
  case 4:
40
- error_1 = _c.sent();
41
- return [4, logger.error("[Content Hub \u540C\u6B65\u89C4\u5219]\u586B\u5355\u9884\u5224\u5931\u8D25", { owner_department: owner_department, classification: classification, product: product, kol_classification: kol_classification, error: error_1.message })];
41
+ _b = _f.sent(), needSync = _b.needSync, rule = _b.rule;
42
+ return [2, { status: 0, msg: '', data: { needSync: needSync, ruleName: rule ? rule.name : null } }];
42
43
  case 5:
43
- _c.sent();
44
+ error_1 = _f.sent();
45
+ return [4, logger.error("[Content Hub \u540C\u6B65\u89C4\u5219]\u586B\u5355\u9884\u5224\u5931\u8D25", { owner_department: owner_department, classification: classification, product: product, kol_classification: kol_classification, error: error_1.message })];
46
+ case 6:
47
+ _f.sent();
44
48
  return [2, { status: 500, msg: error_1.message, data: {} }];
45
- case 6: return [2];
49
+ case 7: return [2];
46
50
  }
47
51
  });
48
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"contentHubSyncPreview.js","sourceRoot":"","sources":["../../src/actions/contentHubSyncPreview.ts"],"names":[],"mappings":";;;;AAOA,0EAAsE;AAEzD,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE;QACF,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,+CAA+C;KAC5D;IACK,OAAO,YAAC,GAAG;;;;;;wBACP,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACvB,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC;yBAChD;wBACc,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAEzB,KAAoE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAlF,gBAAgB,sBAAA,EAAE,cAAc,oBAAA,EAAE,OAAO,aAAA,EAAE,kBAAkB,wBAAA,CAAsB;;;;wBAE5D,WAAM,IAAA,0CAAkB,EAAC,GAAG,EAAE;gCACrD,eAAe,EAAE,gBAAgB;gCACjC,cAAc,gBAAA;gCACd,OAAO,SAAA;gCACP,iBAAiB,EAAE,kBAAkB;6BACxC,CAAC,EAAA;;wBALI,KAAqB,SAKzB,EALM,QAAQ,cAAA,EAAE,IAAI,UAAA;wBAMtB,WAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;;;wBAErF,WAAM,MAAM,CAAC,KAAK,CAAC,4EAA0B,EAAE,EAAE,gBAAgB,kBAAA,EAAE,cAAc,gBAAA,EAAE,OAAO,SAAA,EAAE,kBAAkB,oBAAA,EAAE,KAAK,EAAE,OAAK,CAAC,OAAO,EAAE,CAAC,EAAA;;wBAAvI,SAAuI,CAAC;wBACxI,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC;;;;;KAE5D;CACJ,CAAC"}
1
+ {"version":3,"file":"contentHubSyncPreview.js","sourceRoot":"","sources":["../../src/actions/contentHubSyncPreview.ts"],"names":[],"mappings":";;;;AAOA,0EAA8F;AAEjF,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE;QACF,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,+CAA+C;KAC5D;IACK,OAAO,YAAC,GAAG;;;;;;;wBACP,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACvB,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC;yBAChD;wBACc,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAEzB,KAAoE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAlF,gBAAgB,sBAAA,EAAE,cAAc,oBAAA,EAAE,OAAO,aAAA,EAAE,kBAAkB,wBAAA,CAAsB;;;;wBAEtD,KAAA,0CAAkB,CAAA;8BAAC,GAAG;;wBAClC,WAAM,IAAA,8CAAsB,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAA;4BAD7C,WAAM,6BAC7B,kBAAe,GAAE,SAAmD;gCACpE,iBAAc,iBAAA;gCACd,UAAO,UAAA;gCACP,oBAAiB,GAAE,kBAAkB;sCACvC,EAAA;;wBALI,KAAqB,SAKzB,EALM,QAAQ,cAAA,EAAE,IAAI,UAAA;wBAMtB,WAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;;;wBAErF,WAAM,MAAM,CAAC,KAAK,CAAC,4EAA0B,EAAE,EAAE,gBAAgB,kBAAA,EAAE,cAAc,gBAAA,EAAE,OAAO,SAAA,EAAE,kBAAkB,oBAAA,EAAE,KAAK,EAAE,OAAK,CAAC,OAAO,EAAE,CAAC,EAAA;;wBAAvI,SAAuI,CAAC;wBACxI,WAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC;;;;;KAE5D;CACJ,CAAC"}
@@ -29,3 +29,4 @@ export * from './initCollaborator';
29
29
  export * from './approvalCc';
30
30
  export * from './contentHubMaterialGroups';
31
31
  export * from './contentHubSyncPreview';
32
+ export * from './contentHubFillOnSave';
@@ -32,4 +32,5 @@ tslib_1.__exportStar(require("./initCollaborator"), exports);
32
32
  tslib_1.__exportStar(require("./approvalCc"), exports);
33
33
  tslib_1.__exportStar(require("./contentHubMaterialGroups"), exports);
34
34
  tslib_1.__exportStar(require("./contentHubSyncPreview"), exports);
35
+ tslib_1.__exportStar(require("./contentHubFillOnSave"), exports);
35
36
  //# sourceMappingURL=index.js.map
@@ -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,gEAAsC;AAEtC,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;AAE7B,qEAA2C;AAE3C,kEAAwC"}
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,gEAAsC;AAEtC,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;AAE7B,qEAA2C;AAE3C,kEAAwC;AACxC,iEAAuC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var content_hub_form_fill_1 = require("../content_hub_form_fill");
5
+ var content_hub_material_group_rule_1 = require("../content_hub_material_group_rule");
6
+ var createCtx = function (_a) {
7
+ var _b = _a === void 0 ? {} : _a, _c = _b.syncRules, syncRules = _c === void 0 ? [] : _c, _d = _b.groupRules, groupRules = _d === void 0 ? [] : _d;
8
+ return ({
9
+ logger: { info: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
10
+ return [2, undefined];
11
+ }); }); }, error: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
12
+ return [2, undefined];
13
+ }); }); } },
14
+ getObject: function (name) { return ({
15
+ directFind: function (_a) {
16
+ var filters = _a.filters;
17
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
18
+ return tslib_1.__generator(this, function (_b) {
19
+ if (name === 'pepsico_ch_sync_rule')
20
+ return [2, syncRules];
21
+ if (name === 'pepsico_ch_material_group_rule')
22
+ return [2, groupRules];
23
+ if (name === 'organizations')
24
+ return [2, [{ _id: filters[0][2], parents: ['org-sales'] }]];
25
+ if (name === 'space_users')
26
+ return [2, filters[0][2] === 'u-eka' ? [{ organization: 'org-eka' }] : []];
27
+ if (name === 'picklists')
28
+ return [2, [{ _id: 'pl-product' }]];
29
+ if (name === 'picklist_options')
30
+ return [2, [{ value: 'p1', name: '乐事' }, { value: 'p2', name: '经典袋装' }]];
31
+ return [2, []];
32
+ });
33
+ });
34
+ }
35
+ }); }
36
+ });
37
+ };
38
+ var SYNC_SALES = { _id: 'r1', name: 'Sales 同步', orgs: ['org-sales'], need_sync: 'sync' };
39
+ var FORM = { form_version: 'v3', owner_department: 'org-eka', product: 'p1-p2', classification: 'MD-OC1-OC5' };
40
+ describe('保存时补算「同步到 Content Hub」', function () {
41
+ it('新建单据: 按同步规则算', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
42
+ var _a, _b;
43
+ return tslib_1.__generator(this, function (_c) {
44
+ switch (_c.label) {
45
+ case 0:
46
+ _a = expect;
47
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: false }))];
48
+ case 1:
49
+ _a.apply(void 0, [_c.sent()])
50
+ .toEqual({ ch_sync_enabled: true });
51
+ _b = expect;
52
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx(), tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: true }))];
53
+ case 2:
54
+ _b.apply(void 0, [_c.sent()])
55
+ .toEqual({ ch_sync_enabled: false });
56
+ return [2];
57
+ }
58
+ });
59
+ }); });
60
+ it('用户手动改过开关时以用户为准', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
61
+ var _a;
62
+ return tslib_1.__generator(this, function (_b) {
63
+ switch (_b.label) {
64
+ case 0:
65
+ _a = expect;
66
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: false, ch_sync_manual: true }))];
67
+ case 1:
68
+ _a.apply(void 0, [_b.sent()])
69
+ .toEqual({});
70
+ return [2];
71
+ }
72
+ });
73
+ }); });
74
+ it('编辑保存(表单带上开关)时按当前规则重算', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
75
+ var previous, _a;
76
+ return tslib_1.__generator(this, function (_b) {
77
+ switch (_b.label) {
78
+ case 0:
79
+ previous = tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: false });
80
+ _a = expect;
81
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), { ch_sync_enabled: false }, previous)];
82
+ case 1:
83
+ _a.apply(void 0, [_b.sent()])
84
+ .toEqual({ ch_sync_enabled: true });
85
+ return [2];
86
+ }
87
+ });
88
+ }); });
89
+ it('系统内部更新(如确认上线)不带开关、规则字段也没变, 不动开关', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
90
+ var previous, _a;
91
+ return tslib_1.__generator(this, function (_b) {
92
+ switch (_b.label) {
93
+ case 0:
94
+ previous = tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: false });
95
+ _a = expect;
96
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), { launch: 'launched' }, previous)];
97
+ case 1:
98
+ _a.apply(void 0, [_b.sent()]).toEqual({});
99
+ return [2];
100
+ }
101
+ });
102
+ }); });
103
+ it('存量单据不处理', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
104
+ var _a, _b;
105
+ return tslib_1.__generator(this, function (_c) {
106
+ switch (_c.label) {
107
+ case 0:
108
+ _a = expect;
109
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), tslib_1.__assign(tslib_1.__assign({}, FORM), { form_version: 'v2' }))];
110
+ case 1:
111
+ _a.apply(void 0, [_c.sent()]).toEqual({});
112
+ _b = expect;
113
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), { launch: 'launched' }, tslib_1.__assign(tslib_1.__assign({}, FORM), { form_version: undefined }))];
114
+ case 2:
115
+ _b.apply(void 0, [_c.sent()]).toEqual({});
116
+ return [2];
117
+ }
118
+ });
119
+ }); });
120
+ });
121
+ describe('保存时补算「Content Hub 素材组路径」', function () {
122
+ var env = process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK;
123
+ beforeAll(function () { process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK = 'true'; });
124
+ afterAll(function () { process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK = env; });
125
+ var groupId = function (ctx, form, label) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
126
+ var loadMaterialGroupOptions, options, find;
127
+ return tslib_1.__generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ loadMaterialGroupOptions = require('../content_hub_material_group_rule').loadMaterialGroupOptions;
131
+ return [4, loadMaterialGroupOptions(ctx, { product: form.product, ownerDepartment: form.owner_department })];
132
+ case 1:
133
+ options = _a.sent();
134
+ find = function (nodes) {
135
+ var e_1, _a;
136
+ try {
137
+ for (var _b = tslib_1.__values(nodes || []), _c = _b.next(); !_c.done; _c = _b.next()) {
138
+ var n = _c.value;
139
+ if (n.label === label)
140
+ return n.value;
141
+ var c = find(n.children);
142
+ if (c)
143
+ return c;
144
+ }
145
+ }
146
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
147
+ finally {
148
+ try {
149
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
150
+ }
151
+ finally { if (e_1) throw e_1.error; }
152
+ }
153
+ };
154
+ return [2, find(options)];
155
+ }
156
+ });
157
+ }); };
158
+ it('选了素材组但路径为空时补上完整路径', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
159
+ var ctx, id, patch;
160
+ return tslib_1.__generator(this, function (_a) {
161
+ switch (_a.label) {
162
+ case 0:
163
+ ctx = createCtx({ syncRules: [SYNC_SALES] });
164
+ return [4, groupId(ctx, FORM, '青柠味')];
165
+ case 1:
166
+ id = _a.sent();
167
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(ctx, tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: true, ch_material_group: id, ch_material_group_path: '' }))];
168
+ case 2:
169
+ patch = _a.sent();
170
+ expect(patch.ch_material_group_path).toBe('乐事|经典袋装|青柠味');
171
+ return [2];
172
+ }
173
+ });
174
+ }); });
175
+ it('Sales 目录同样能补', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
176
+ var ctx, id, patch;
177
+ return tslib_1.__generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0:
180
+ ctx = createCtx({ syncRules: [SYNC_SALES], groupRules: [{ _id: 'g', orgs: ['org-sales'], query_mode: 'sales' }] });
181
+ return [4, groupId(ctx, FORM, 'EKA-Vertical')];
182
+ case 1:
183
+ id = _a.sent();
184
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(ctx, tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: true, ch_material_group: id }))];
185
+ case 2:
186
+ patch = _a.sent();
187
+ expect(patch.ch_material_group_path).toBe('线上衍生素材|EKA-Vertical');
188
+ return [2];
189
+ }
190
+ });
191
+ }); });
192
+ it('素材组换了而路径还是旧的, 重算; 页面已带出新路径则不动', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
193
+ var ctx, id, previous, _a, _b;
194
+ return tslib_1.__generator(this, function (_c) {
195
+ switch (_c.label) {
196
+ case 0:
197
+ ctx = createCtx({ syncRules: [SYNC_SALES] });
198
+ return [4, groupId(ctx, FORM, '原味')];
199
+ case 1:
200
+ id = _c.sent();
201
+ previous = tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: true, ch_material_group: 'old', ch_material_group_path: '旧路径' });
202
+ _a = expect;
203
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(ctx, { ch_material_group: id, ch_material_group_path: '旧路径' }, previous)];
204
+ case 2:
205
+ _a.apply(void 0, [(_c.sent()).ch_material_group_path])
206
+ .toBe('乐事|经典袋装|原味');
207
+ _b = expect;
208
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(ctx, { ch_material_group: id, ch_material_group_path: '新路径' }, previous)];
209
+ case 3:
210
+ _b.apply(void 0, [_c.sent()]).toEqual({});
211
+ return [2];
212
+ }
213
+ });
214
+ }); });
215
+ });
216
+ describe('发起人部门还没带出来时', function () {
217
+ it('保存时用发起人的主部门匹配同步规则', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
218
+ var doc, _a;
219
+ return tslib_1.__generator(this, function (_b) {
220
+ switch (_b.label) {
221
+ case 0:
222
+ doc = tslib_1.__assign(tslib_1.__assign({}, FORM), { owner_department: null, owner: 'u-eka', space: 's1', ch_sync_enabled: false });
223
+ _a = expect;
224
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx({ syncRules: [SYNC_SALES] }), doc)];
225
+ case 1:
226
+ _a.apply(void 0, [_b.sent()]).toEqual({ ch_sync_enabled: true });
227
+ return [2];
228
+ }
229
+ });
230
+ }); });
231
+ it('填单预判接口用当前用户的主部门', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
232
+ var contentHubSyncPreview, service, result;
233
+ return tslib_1.__generator(this, function (_a) {
234
+ switch (_a.label) {
235
+ case 0:
236
+ contentHubSyncPreview = require('../../actions/contentHubSyncPreview').contentHubSyncPreview;
237
+ service = { getLogger: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
238
+ return [2, ({ error: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
239
+ return [2, undefined];
240
+ }); }); } })];
241
+ }); }); }, getObject: createCtx({ syncRules: [SYNC_SALES] }).getObject };
242
+ return [4, contentHubSyncPreview.handler.call(service, { params: { owner_department: '' }, meta: { user: { userId: 'u-eka', spaceId: 's1' } } })];
243
+ case 1:
244
+ result = _a.sent();
245
+ expect(result.data).toEqual({ needSync: true, ruleName: 'Sales 同步' });
246
+ return [2];
247
+ }
248
+ });
249
+ }); });
250
+ });
251
+ describe('素材组存成选项对象时', function () {
252
+ it('保存时改存 ID 字符串, 路径从对象上取', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
253
+ var doc, _a;
254
+ return tslib_1.__generator(this, function (_b) {
255
+ switch (_b.label) {
256
+ case 0:
257
+ doc = tslib_1.__assign(tslib_1.__assign({}, FORM), { ch_sync_enabled: true, ch_sync_manual: true, ch_material_group: { label: 'EKA', value: '2233001', materialGroupPath: '线下|EKA' } });
258
+ _a = expect;
259
+ return [4, (0, content_hub_form_fill_1.fillContentHubFields)(createCtx(), doc)];
260
+ case 1:
261
+ _a.apply(void 0, [_b.sent()]).toEqual({ ch_material_group: '2233001', ch_material_group_path: '线下|EKA' });
262
+ return [2];
263
+ }
264
+ });
265
+ }); });
266
+ });
267
+ describe('findMaterialGroupPath', function () {
268
+ it('接口没给路径时用树上各级名称拼', function () {
269
+ var options = [{ label: 'A', value: '1', level: 1, materialGroupPath: undefined, children: [{ label: 'B', value: '2', level: 2, materialGroupPath: undefined }] }];
270
+ expect((0, content_hub_material_group_rule_1.findMaterialGroupPath)(options, '2')).toBe('A|B');
271
+ expect((0, content_hub_material_group_rule_1.findMaterialGroupPath)(options, '9')).toBeNull();
272
+ });
273
+ });
274
+ //# sourceMappingURL=contentHubFormFill.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentHubFormFill.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/contentHubFormFill.test.ts"],"names":[],"mappings":"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"}