@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.
Files changed (131) hide show
  1. package/README.md +61 -0
  2. package/dist/index.js +1 -1
  3. package/lib/actions/__tests__/downloadFieldZip.test.d.ts +1 -0
  4. package/lib/actions/__tests__/downloadFieldZip.test.js +154 -0
  5. package/lib/actions/__tests__/downloadFieldZip.test.js.map +1 -0
  6. package/lib/actions/approvalCc.d.ts +7 -0
  7. package/lib/actions/approvalCc.js +35 -0
  8. package/lib/actions/approvalCc.js.map +1 -0
  9. package/lib/actions/downloadFieldZip.d.ts +9 -0
  10. package/lib/actions/downloadFieldZip.js +155 -0
  11. package/lib/actions/downloadFieldZip.js.map +1 -0
  12. package/lib/actions/index.d.ts +1 -0
  13. package/lib/actions/index.js +1 -0
  14. package/lib/actions/index.js.map +1 -1
  15. package/lib/index.js +157 -0
  16. package/lib/index.js.map +1 -1
  17. package/lib/methods/__tests__/approvalCc.test.d.ts +1 -0
  18. package/lib/methods/__tests__/approvalCc.test.js +180 -0
  19. package/lib/methods/__tests__/approvalCc.test.js.map +1 -0
  20. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.d.ts +1 -0
  21. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js +61 -0
  22. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js.map +1 -0
  23. package/lib/methods/approval_cc.d.ts +15 -0
  24. package/lib/methods/approval_cc.js +170 -0
  25. package/lib/methods/approval_cc.js.map +1 -0
  26. package/lib/methods/approval_engine.js +21 -8
  27. package/lib/methods/approval_engine.js.map +1 -1
  28. package/lib/methods/consts.d.ts +1 -0
  29. package/lib/methods/consts.js.map +1 -1
  30. package/lib/methods/index.d.ts +1 -0
  31. package/lib/methods/index.js +1 -0
  32. package/lib/methods/index.js.map +1 -1
  33. package/lib/methods/notification.d.ts +2 -0
  34. package/lib/methods/notification.js +135 -14
  35. package/lib/methods/notification.js.map +1 -1
  36. package/lib/methods/pls.d.ts +19 -0
  37. package/lib/methods/pls.js +332 -29
  38. package/lib/methods/pls.js.map +1 -1
  39. package/main/default/applications/pepsico_content_review.app.yml +0 -4
  40. package/main/default/objects/pepsico_approval_cc_log/fields/action.field.yml +11 -0
  41. package/main/default/objects/pepsico_approval_cc_log/fields/approval_name.field.yml +6 -0
  42. package/main/default/objects/pepsico_approval_cc_log/fields/cc_user.field.yml +7 -0
  43. package/main/default/objects/pepsico_approval_cc_log/fields/operator.field.yml +7 -0
  44. package/main/default/objects/pepsico_approval_cc_log/fields/pepsico_material_approval.field.yml +7 -0
  45. package/main/default/objects/pepsico_approval_cc_log/fields/space.field.yml +6 -0
  46. package/main/default/objects/pepsico_approval_cc_log/listviews/all.listview.yml +19 -0
  47. package/main/default/objects/pepsico_approval_cc_log/pepsico_approval_cc_log.object.yml +16 -0
  48. package/main/default/objects/pepsico_approval_cc_log/permissions/admin.permission.yml +13 -0
  49. package/main/default/objects/pepsico_approval_cc_log/permissions/user.permission.yml +13 -0
  50. package/main/default/objects/pepsico_km_pls/fields/brand.field.yml +10 -0
  51. package/main/default/objects/pepsico_km_pls/fields/content.field.yml +1 -1
  52. package/main/default/objects/pepsico_km_pls/fields/created.field.yml +1 -1
  53. package/main/default/objects/pepsico_km_pls/fields/created_by.field.yml +1 -0
  54. package/main/default/objects/pepsico_km_pls/fields/enable.field.yml +0 -1
  55. package/main/default/objects/pepsico_km_pls/fields/father_nutrient.field.yml +8 -0
  56. package/main/default/objects/pepsico_km_pls/fields/modified.field.yml +1 -0
  57. package/main/default/objects/pepsico_km_pls/fields/modified_by.field.yml +1 -0
  58. package/main/default/objects/pepsico_km_pls/fields/name.field.yml +2 -3
  59. package/main/default/objects/pepsico_km_pls/fields/net_content.field.yml +8 -0
  60. package/main/default/objects/pepsico_km_pls/fields/nrv_percent.field.yml +7 -0
  61. package/main/default/objects/pepsico_km_pls/fields/nutrient.field.yml +8 -0
  62. package/main/default/objects/pepsico_km_pls/fields/nutrient_value.field.yml +8 -0
  63. package/main/default/objects/pepsico_km_pls/fields/package_type.field.yml +8 -0
  64. package/main/default/objects/pepsico_km_pls/fields/pls_file.field.yml +1 -1
  65. package/main/default/objects/pepsico_km_pls/fields/product.field.yml +3 -2
  66. package/main/default/objects/pepsico_km_pls/fields/product_standard.field.yml +8 -0
  67. package/main/default/objects/pepsico_km_pls/fields/serving_amount.field.yml +8 -0
  68. package/main/default/objects/pepsico_km_pls/fields/serving_desc.field.yml +8 -0
  69. package/main/default/objects/pepsico_km_pls/fields/shelf_life.field.yml +7 -0
  70. package/main/default/objects/pepsico_km_pls/fields/storage_condition.field.yml +9 -0
  71. package/main/default/objects/pepsico_km_pls/fields/tag.field.yml +3 -3
  72. package/main/default/objects/pepsico_km_pls/fields/taste.field.yml +1 -1
  73. package/main/default/objects/pepsico_km_pls/fields/unit.field.yml +7 -0
  74. package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +13 -3
  75. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.js +6 -0
  76. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.yml +110 -0
  77. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_batch_upload_pls.button.yml +147 -0
  78. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.js +6 -0
  79. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.yml +110 -0
  80. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.js +6 -0
  81. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.yml +110 -0
  82. package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.js +9 -0
  83. package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.yml +1 -0
  84. package/main/default/objects/pepsico_km_pls_file/buttons/standard_new.button.yml +3 -0
  85. package/main/default/objects/pepsico_km_pls_file/fields/ai_extract.field.yml +1 -2
  86. package/main/default/objects/pepsico_km_pls_file/fields/brand.field.yml +10 -0
  87. package/main/default/objects/pepsico_km_pls_file/fields/created.field.yml +2 -2
  88. package/main/default/objects/pepsico_km_pls_file/fields/created_by.field.yml +2 -2
  89. package/main/default/objects/pepsico_km_pls_file/fields/is_active.field.yml +7 -0
  90. package/main/default/objects/pepsico_km_pls_file/fields/issue_date.field.yml +8 -0
  91. package/main/default/objects/pepsico_km_pls_file/fields/modified.field.yml +1 -0
  92. package/main/default/objects/pepsico_km_pls_file/fields/modified_by.field.yml +1 -0
  93. package/main/default/objects/pepsico_km_pls_file/fields/name.field.yml +5 -5
  94. package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material.field.yml +1 -1
  95. package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material_approval.field.yml +1 -1
  96. package/main/default/objects/pepsico_km_pls_file/fields/pls_file.field.yml +4 -4
  97. package/main/default/objects/pepsico_km_pls_file/fields/product.field.yml +2 -1
  98. package/main/default/objects/pepsico_km_pls_file/fields/product_name.field.yml +10 -0
  99. package/main/default/objects/pepsico_km_pls_file/fields/rule_count.field.yml +16 -0
  100. package/main/default/objects/pepsico_km_pls_file/fields/sku.field.yml +10 -0
  101. package/main/default/objects/pepsico_km_pls_file/fields/version.field.yml +9 -0
  102. package/main/default/objects/pepsico_km_pls_file/listviews/all.listview.yml +10 -2
  103. package/main/default/objects/pepsico_km_pls_file/pepsico_km_pls_file.object.yml +2 -1
  104. package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve.permission.yml +10 -1
  105. package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve_cooperate.permission.yml +10 -1
  106. package/main/default/objects/pepsico_material/buttons/pepsico_nullify_material.button.yml +114 -37
  107. package/main/default/objects/pepsico_material/buttons/pepsico_onedrive_edit_material.button.yml +1 -1
  108. package/main/default/objects/pepsico_material/buttons/pepsico_update_material.button.yml +1 -0
  109. package/main/default/objects/pepsico_material/fields/void_at.field.yml +11 -0
  110. package/main/default/objects/pepsico_material/fields/void_by.field.yml +12 -0
  111. package/main/default/objects/pepsico_material/fields/void_material.field.yml +2 -2
  112. package/main/default/objects/pepsico_material/fields/void_reason.field.yml +12 -0
  113. package/main/default/objects/pepsico_material/pepsico_material.object.yml +3 -0
  114. package/main/default/objects/pepsico_material_approval/buttons/pepsico_cc.button.yml +113 -0
  115. package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +19 -2
  116. package/main/default/objects/pepsico_material_approval/buttons/pepsico_material_upload.button.yml +19 -2
  117. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +18 -0
  118. package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml +18 -0
  119. package/main/default/objects/pepsico_material_approval/fields/cc_users.field.yml +18 -0
  120. package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +3 -1
  121. package/main/default/objects/pepsico_material_approval/fields/pre_legal_reviewer.field.yml +3 -1
  122. package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +3 -1
  123. package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +3 -1
  124. package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +3 -1
  125. package/main/default/triggers/pepsico_km_pls_file_active_sync.trigger.yml +31 -0
  126. package/main/default/triggers/pepsico_km_pls_file_title_update.trigger.yml +35 -0
  127. package/main/default/triggers/pepsico_km_pls_product_name_update.trigger.yml +1 -1
  128. package/main/default/triggers/pepsico_material_void_reason_required.trigger.yml +24 -0
  129. package/package.json +1 -1
  130. package/main/default/imports/pepsico_km_pls.import.yml +0 -17
  131. package/main/default/triggers/pepsico_km_pls_file_product_name_update.trigger.yml +0 -50
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # @steedos-labs/content-compliance(内容审核系统)
2
+
3
+ PepsiCo 内容审核 / 物料审批系统的核心 Steedos 包:审批引擎、物料、AI 审核、OneDrive 同步、PLS 知识库扫描、抽检、通知与定时任务。
4
+
5
+ > 构建说明:修改 `src/**` 后必须 `yarn build`(`package.service.js` 加载的是编译产物 `lib/`)。
6
+
7
+ ---
8
+
9
+ ## 管理员手动接口(浏览器直接访问)
10
+
11
+ 以下接口用于对 **PLS 知识库(`pepsico_km_pls_file`)** 的历史数据做一次性维护。
12
+
13
+ **执行前提:**
14
+
15
+ - 以**空间管理员(space admin)**身份登录系统(非管理员访问会返回 `{"error":"没有权限"}`)。
16
+ - 直接在**已登录的浏览器**中打开下面的地址即可(均为 `GET`,无需参数)。
17
+ - 接口**可重复执行**:已处理/无需变更的记录会自动跳过,重复访问是安全的。
18
+ - 将地址中的 `<域名>` 替换为实际环境域名,例如 UAT:`https://ccsuat.pepsico.com.cn`。
19
+
20
+ ### 1. 回填 PLS 记录标题(从「PLS原始文件查看」提取文件名到「标题」)
21
+
22
+ 把每条 `pepsico_km_pls_file` 记录的 **PLS原始文件查看**(`pls_file`)字段所对应文件的文件名,提取(去掉 `.pdf` 后缀)写入该记录的 **标题**(`name`)字段。用于补齐 `pepsico_km_pls_file_title_update` 触发器上线前、标题缺失或不一致的历史数据。
23
+
24
+ ```
25
+ GET https://<域名>/api/pepsico-content/pls-file/backfill-title
26
+ ```
27
+
28
+ 浏览器返回示例:
29
+
30
+ ```json
31
+ { "历史记录总数": 123, "更新标题数量": 100, "跳过数量": 23 }
32
+ ```
33
+
34
+ - `历史记录总数`:扫描的记录总数。
35
+ - `更新标题数量`:本次实际写入新标题的记录数。
36
+ - `跳过数量`:无文件、取不到文件名,或标题已一致而跳过的记录数。
37
+
38
+ ### 2. 重置「AI规则已提取」为 false
39
+
40
+ 把所有 `pepsico_km_pls_file` 记录的 **AI规则已提取**(`ai_extract`)字段全部置为 `false`(已经是 `false` 的记录会跳过,最终所有记录均为 `false`)。
41
+
42
+ ```
43
+ GET https://<域名>/api/pepsico-content/pls-file/reset-ai-extract
44
+ ```
45
+
46
+ 浏览器返回示例:
47
+
48
+ ```json
49
+ { "记录总数": 42, "重置数量": 42 }
50
+ ```
51
+
52
+ - `记录总数`:本次需要处理(原值不为 `false`)的记录数。
53
+ - `重置数量`:实际置为 `false` 的记录数。
54
+
55
+ > 实现见 `src/methods/pls.ts`(`backfillPLSFileTitles`、`resetPLSFileAIExtract`),路由注册见 `src/index.ts`。
56
+
57
+ ---
58
+
59
+ ## 其它接口与定时任务
60
+
61
+ 其余手动接口、定时任务、外部 AI 服务对接、PLS 规则提取等说明见仓库根目录 [README.md](../../README.md) 的「手动执行 / PLS规则提取接口」章节,以及各 `AI-*.md` 设计文档(入口 [AI-DOCUMENTATION-INDEX.md](../../AI-DOCUMENTATION-INDEX.md))。