@open-mercato/core 0.4.2-canary-ed15f2e753 → 0.4.2-canary-f075c3eb92

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 (241) hide show
  1. package/dist/generated/entities.ids.generated.js +0 -1
  2. package/dist/generated/entities.ids.generated.js.map +2 -2
  3. package/dist/generated/entity-fields-registry.js +0 -2
  4. package/dist/generated/entity-fields-registry.js.map +2 -2
  5. package/dist/modules/api_keys/setup.js +11 -0
  6. package/dist/modules/api_keys/setup.js.map +7 -0
  7. package/dist/modules/attachments/components/AttachmentLibrary.js +1 -1
  8. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  9. package/dist/modules/attachments/lib/assignmentDetails.js +31 -17
  10. package/dist/modules/attachments/lib/assignmentDetails.js.map +2 -2
  11. package/dist/modules/attachments/lib/partitions.js +3 -3
  12. package/dist/modules/attachments/lib/partitions.js.map +2 -2
  13. package/dist/modules/attachments/setup.js +11 -0
  14. package/dist/modules/attachments/setup.js.map +7 -0
  15. package/dist/modules/audit_logs/setup.js +12 -0
  16. package/dist/modules/audit_logs/setup.js.map +7 -0
  17. package/dist/modules/auth/lib/setup-app.js +29 -159
  18. package/dist/modules/auth/lib/setup-app.js.map +2 -2
  19. package/dist/modules/auth/setup.js +11 -0
  20. package/dist/modules/auth/setup.js.map +7 -0
  21. package/dist/modules/business_rules/data/validators.js +0 -34
  22. package/dist/modules/business_rules/data/validators.js.map +2 -2
  23. package/dist/modules/business_rules/index.js +1 -21
  24. package/dist/modules/business_rules/index.js.map +2 -2
  25. package/dist/modules/business_rules/lib/rule-engine.js +1 -182
  26. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  27. package/dist/modules/business_rules/setup.js +11 -0
  28. package/dist/modules/business_rules/setup.js.map +7 -0
  29. package/dist/modules/catalog/setup.js +22 -0
  30. package/dist/modules/catalog/setup.js.map +7 -0
  31. package/dist/modules/configs/lib/upgrade-actions.js +65 -15
  32. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  33. package/dist/modules/configs/setup.js +16 -0
  34. package/dist/modules/configs/setup.js.map +7 -0
  35. package/dist/modules/currencies/setup.js +16 -0
  36. package/dist/modules/currencies/setup.js.map +7 -0
  37. package/dist/modules/customers/setup.js +36 -0
  38. package/dist/modules/customers/setup.js.map +7 -0
  39. package/dist/modules/dashboards/setup.js +12 -0
  40. package/dist/modules/dashboards/setup.js.map +7 -0
  41. package/dist/modules/dictionaries/setup.js +12 -0
  42. package/dist/modules/dictionaries/setup.js.map +7 -0
  43. package/dist/modules/directory/setup.js +12 -0
  44. package/dist/modules/directory/setup.js.map +7 -0
  45. package/dist/modules/entities/setup.js +11 -0
  46. package/dist/modules/entities/setup.js.map +7 -0
  47. package/dist/modules/feature_toggles/setup.js +11 -0
  48. package/dist/modules/feature_toggles/setup.js.map +7 -0
  49. package/dist/modules/perspectives/setup.js +12 -0
  50. package/dist/modules/perspectives/setup.js.map +7 -0
  51. package/dist/modules/planner/setup.js +21 -0
  52. package/dist/modules/planner/setup.js.map +7 -0
  53. package/dist/modules/query_index/setup.js +11 -0
  54. package/dist/modules/query_index/setup.js.map +7 -0
  55. package/dist/modules/resources/setup.js +21 -0
  56. package/dist/modules/resources/setup.js.map +7 -0
  57. package/dist/modules/sales/acl.js +0 -1
  58. package/dist/modules/sales/acl.js.map +2 -2
  59. package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
  60. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  61. package/dist/modules/sales/commands/documents.js +0 -62
  62. package/dist/modules/sales/commands/documents.js.map +2 -2
  63. package/dist/modules/sales/lib/dictionaries.js +0 -3
  64. package/dist/modules/sales/lib/dictionaries.js.map +2 -2
  65. package/dist/modules/sales/setup.js +99 -0
  66. package/dist/modules/sales/setup.js.map +7 -0
  67. package/dist/modules/staff/setup.js +27 -0
  68. package/dist/modules/staff/setup.js.map +7 -0
  69. package/dist/modules/workflows/acl.js +0 -2
  70. package/dist/modules/workflows/acl.js.map +2 -2
  71. package/dist/modules/workflows/api/instances/route.js +6 -18
  72. package/dist/modules/workflows/api/instances/route.js.map +2 -2
  73. package/dist/modules/workflows/api/tasks/route.js +1 -6
  74. package/dist/modules/workflows/api/tasks/route.js.map +2 -2
  75. package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
  76. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  77. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
  78. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
  79. package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
  80. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  81. package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
  82. package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
  83. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
  84. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
  85. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
  86. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
  87. package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
  88. package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
  89. package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
  90. package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
  91. package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
  92. package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
  93. package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
  94. package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
  95. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
  96. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
  97. package/dist/modules/workflows/backend/tasks/page.js +6 -5
  98. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  99. package/dist/modules/workflows/cli.js +3 -81
  100. package/dist/modules/workflows/cli.js.map +3 -3
  101. package/dist/modules/workflows/data/entities.js +1 -64
  102. package/dist/modules/workflows/data/entities.js.map +2 -2
  103. package/dist/modules/workflows/data/validators.js +0 -115
  104. package/dist/modules/workflows/data/validators.js.map +2 -2
  105. package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
  106. package/dist/modules/workflows/lib/activity-executor.js +13 -75
  107. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  108. package/dist/modules/workflows/lib/graph-utils.js +2 -71
  109. package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
  110. package/dist/modules/workflows/lib/seeds.js +7 -36
  111. package/dist/modules/workflows/lib/seeds.js.map +2 -2
  112. package/dist/modules/workflows/lib/start-validator.js +23 -33
  113. package/dist/modules/workflows/lib/start-validator.js.map +2 -2
  114. package/dist/modules/workflows/lib/transition-handler.js +45 -157
  115. package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
  116. package/dist/modules/workflows/migrations/Migration20251207131955.js +76 -72
  117. package/dist/modules/workflows/migrations/Migration20251207131955.js.map +2 -2
  118. package/dist/modules/workflows/setup.js +16 -0
  119. package/dist/modules/workflows/setup.js.map +7 -0
  120. package/generated/entities.ids.generated.ts +0 -1
  121. package/generated/entity-fields-registry.ts +0 -2
  122. package/package.json +2 -2
  123. package/src/__tests__/module-decoupling.test.ts +356 -0
  124. package/src/modules/api_keys/setup.ts +9 -0
  125. package/src/modules/attachments/components/AttachmentLibrary.tsx +2 -2
  126. package/src/modules/attachments/lib/assignmentDetails.ts +32 -16
  127. package/src/modules/attachments/lib/partitions.ts +3 -3
  128. package/src/modules/attachments/setup.ts +9 -0
  129. package/src/modules/audit_logs/setup.ts +10 -0
  130. package/src/modules/auth/__tests__/cli-setup-acl.test.ts +30 -0
  131. package/src/modules/auth/lib/setup-app.ts +40 -177
  132. package/src/modules/auth/setup.ts +9 -0
  133. package/src/modules/business_rules/data/validators.ts +0 -40
  134. package/src/modules/business_rules/index.ts +0 -25
  135. package/src/modules/business_rules/lib/rule-engine.ts +1 -281
  136. package/src/modules/business_rules/setup.ts +9 -0
  137. package/src/modules/catalog/setup.ts +22 -0
  138. package/src/modules/configs/lib/upgrade-actions.ts +78 -17
  139. package/src/modules/configs/setup.ts +14 -0
  140. package/src/modules/currencies/setup.ts +15 -0
  141. package/src/modules/customers/setup.ts +36 -0
  142. package/src/modules/dashboards/setup.ts +10 -0
  143. package/src/modules/dictionaries/setup.ts +10 -0
  144. package/src/modules/directory/setup.ts +10 -0
  145. package/src/modules/entities/setup.ts +9 -0
  146. package/src/modules/feature_toggles/setup.ts +9 -0
  147. package/src/modules/perspectives/setup.ts +10 -0
  148. package/src/modules/planner/setup.ts +21 -0
  149. package/src/modules/query_index/setup.ts +9 -0
  150. package/src/modules/resources/setup.ts +21 -0
  151. package/src/modules/sales/acl.ts +0 -1
  152. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
  153. package/src/modules/sales/commands/documents.ts +1 -74
  154. package/src/modules/sales/lib/dictionaries.ts +0 -3
  155. package/src/modules/sales/setup.ts +108 -0
  156. package/src/modules/staff/setup.ts +27 -0
  157. package/src/modules/workflows/acl.ts +0 -2
  158. package/src/modules/workflows/api/__tests__/instances.route.test.ts +2 -5
  159. package/src/modules/workflows/api/instances/route.ts +7 -21
  160. package/src/modules/workflows/api/tasks/route.ts +1 -7
  161. package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
  162. package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
  163. package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
  164. package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
  165. package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
  166. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
  167. package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
  168. package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
  169. package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
  170. package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
  171. package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
  172. package/src/modules/workflows/backend/tasks/page.tsx +6 -5
  173. package/src/modules/workflows/cli.ts +0 -111
  174. package/src/modules/workflows/data/entities.ts +0 -124
  175. package/src/modules/workflows/data/validators.ts +0 -138
  176. package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
  177. package/src/modules/workflows/i18n/en.json +0 -71
  178. package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +36 -43
  179. package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +90 -170
  180. package/src/modules/workflows/lib/activity-executor.ts +16 -129
  181. package/src/modules/workflows/lib/graph-utils.ts +2 -117
  182. package/src/modules/workflows/lib/seeds.ts +12 -50
  183. package/src/modules/workflows/lib/start-validator.ts +28 -38
  184. package/src/modules/workflows/lib/transition-handler.ts +55 -208
  185. package/src/modules/workflows/migrations/Migration20251207131955.ts +77 -143
  186. package/src/modules/workflows/setup.ts +15 -0
  187. package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
  188. package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
  189. package/dist/modules/auth/events.js +0 -30
  190. package/dist/modules/auth/events.js.map +0 -7
  191. package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
  192. package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
  193. package/dist/modules/catalog/events.js +0 -34
  194. package/dist/modules/catalog/events.js.map +0 -7
  195. package/dist/modules/customers/events.js +0 -49
  196. package/dist/modules/customers/events.js.map +0 -7
  197. package/dist/modules/directory/events.js +0 -23
  198. package/dist/modules/directory/events.js.map +0 -7
  199. package/dist/modules/sales/events.js +0 -63
  200. package/dist/modules/sales/events.js.map +0 -7
  201. package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
  202. package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
  203. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
  204. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
  205. package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
  206. package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
  207. package/dist/modules/workflows/events.js +0 -38
  208. package/dist/modules/workflows/events.js.map +0 -7
  209. package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
  210. package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  211. package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
  212. package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
  213. package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
  214. package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
  215. package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
  216. package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
  217. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
  218. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
  219. package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
  220. package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
  221. package/dist/modules/workflows/widgets/injection-table.js +0 -19
  222. package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
  223. package/generated/entities/workflow_event_trigger/index.ts +0 -15
  224. package/src/modules/auth/events.ts +0 -39
  225. package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
  226. package/src/modules/catalog/events.ts +0 -45
  227. package/src/modules/customers/events.ts +0 -63
  228. package/src/modules/directory/events.ts +0 -31
  229. package/src/modules/sales/events.ts +0 -82
  230. package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
  231. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
  232. package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
  233. package/src/modules/workflows/events.ts +0 -49
  234. package/src/modules/workflows/examples/order-approval-definition.json +0 -257
  235. package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  236. package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
  237. package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
  238. package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
  239. package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
  240. package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
  241. package/src/modules/workflows/widgets/injection-table.ts +0 -21
@@ -2,150 +2,84 @@ import { Migration } from '@mikro-orm/migrations';
2
2
 
3
3
  export class Migration20251207131955 extends Migration {
4
4
 
5
- override async up(): Promise<void> {
6
- this.addSql(`alter table "rule_execution_logs" drop constraint "rule_execution_logs_rule_id_foreign";`);
7
-
8
- this.addSql(`alter table "rule_set_members" drop constraint "rule_set_members_rule_id_foreign";`);
9
-
10
- this.addSql(`alter table "catalog_product_variant_prices" drop constraint "catalog_product_variant_prices_price_kind_id_foreign";`);
11
-
12
- this.addSql(`alter table "catalog_product_category_assignments" drop constraint "catalog_product_category_assignments_category_id_foreign";`);
13
-
14
- this.addSql(`alter table "catalog_product_variant_prices" drop constraint "catalog_product_variant_prices_offer_id_foreign";`);
15
-
16
- this.addSql(`alter table "catalog_products" drop constraint "catalog_products_option_schema_id_foreign";`);
17
-
18
- this.addSql(`alter table "catalog_product_tag_assignments" drop constraint "catalog_product_tag_assignments_tag_id_foreign";`);
19
-
20
- this.addSql(`alter table "catalog_product_variant_option_values" drop constraint "catalog_product_variant_option_values_variant_id_foreign";`);
21
-
22
- this.addSql(`alter table "catalog_product_variant_prices" drop constraint "catalog_product_variant_prices_variant_id_foreign";`);
23
-
24
- this.addSql(`alter table "catalog_product_variant_relations" drop constraint "catalog_product_variant_relations_child_variant_id_foreign";`);
25
-
26
- this.addSql(`alter table "catalog_product_variant_relations" drop constraint "catalog_product_variant_relations_parent_variant_id_foreign";`);
27
-
28
- this.addSql(`alter table "catalog_product_category_assignments" drop constraint "catalog_product_category_assignments_product_id_foreign";`);
29
-
30
- this.addSql(`alter table "catalog_product_offers" drop constraint "catalog_product_offers_product_id_foreign";`);
31
-
32
- this.addSql(`alter table "catalog_product_options" drop constraint "catalog_product_options_product_id_foreign";`);
33
-
34
- this.addSql(`alter table "catalog_product_relations" drop constraint "catalog_product_relations_child_product_id_foreign";`);
35
-
36
- this.addSql(`alter table "catalog_product_relations" drop constraint "catalog_product_relations_parent_product_id_foreign";`);
37
-
38
- this.addSql(`alter table "catalog_product_tag_assignments" drop constraint "catalog_product_tag_assignments_product_id_foreign";`);
39
-
40
- this.addSql(`alter table "catalog_product_variant_prices" drop constraint "catalog_product_variant_prices_product_id_foreign";`);
41
-
42
- this.addSql(`alter table "catalog_product_variants" drop constraint "catalog_product_variants_product_id_foreign";`);
43
-
44
- this.addSql(`alter table "customer_activities" drop constraint "customer_activities_deal_id_foreign";`);
45
-
46
- this.addSql(`alter table "customer_comments" drop constraint "customer_comments_deal_id_foreign";`);
47
-
48
- this.addSql(`alter table "customer_deal_companies" drop constraint "customer_deal_companies_deal_id_foreign";`);
49
-
50
- this.addSql(`alter table "customer_deal_people" drop constraint "customer_deal_people_deal_id_foreign";`);
51
-
52
- this.addSql(`alter table "customer_activities" drop constraint "customer_activities_entity_id_foreign";`);
53
-
54
- this.addSql(`alter table "customer_addresses" drop constraint "customer_addresses_entity_id_foreign";`);
55
-
56
- this.addSql(`alter table "customer_comments" drop constraint "customer_comments_entity_id_foreign";`);
57
-
58
- this.addSql(`alter table "customer_companies" drop constraint "customer_companies_entity_id_foreign";`);
59
-
60
- this.addSql(`alter table "customer_deal_companies" drop constraint "customer_deal_companies_company_entity_id_foreign";`);
61
-
62
- this.addSql(`alter table "customer_deal_people" drop constraint "customer_deal_people_person_entity_id_foreign";`);
63
-
64
- this.addSql(`alter table "customer_people" drop constraint "customer_people_company_entity_id_foreign";`);
65
-
66
- this.addSql(`alter table "customer_people" drop constraint "customer_people_entity_id_foreign";`);
67
-
68
- this.addSql(`alter table "customer_tag_assignments" drop constraint "customer_tag_assignments_entity_id_foreign";`);
69
-
70
- this.addSql(`alter table "customer_todo_links" drop constraint "customer_todo_links_entity_id_foreign";`);
71
-
72
- this.addSql(`alter table "customer_tag_assignments" drop constraint "customer_tag_assignments_tag_id_foreign";`);
73
-
74
- this.addSql(`alter table "dictionary_entries" drop constraint "dictionary_entries_dictionary_id_foreign";`);
75
-
76
- this.addSql(`alter table "role_acls" drop constraint "role_acls_role_id_foreign";`);
77
-
78
- this.addSql(`alter table "role_sidebar_preferences" drop constraint "role_sidebar_preferences_role_id_foreign";`);
79
-
80
- this.addSql(`alter table "user_roles" drop constraint "user_roles_role_id_foreign";`);
81
-
82
- this.addSql(`alter table "rule_set_members" drop constraint "rule_set_members_rule_set_id_foreign";`);
83
-
84
- this.addSql(`alter table "sales_orders" drop constraint "sales_orders_channel_ref_id_foreign";`);
85
-
86
- this.addSql(`alter table "sales_credit_memo_lines" drop constraint "sales_credit_memo_lines_credit_memo_id_foreign";`);
87
-
88
- this.addSql(`alter table "sales_orders" drop constraint "sales_orders_delivery_window_ref_id_foreign";`);
89
-
90
- this.addSql(`alter table "sales_credit_memos" drop constraint "sales_credit_memos_invoice_id_foreign";`);
91
-
92
- this.addSql(`alter table "sales_invoice_lines" drop constraint "sales_invoice_lines_invoice_id_foreign";`);
93
-
94
- this.addSql(`alter table "sales_payment_allocations" drop constraint "sales_payment_allocations_invoice_id_foreign";`);
95
-
96
- this.addSql(`alter table "sales_credit_memo_lines" drop constraint "sales_credit_memo_lines_order_line_id_foreign";`);
97
-
98
- this.addSql(`alter table "sales_invoice_lines" drop constraint "sales_invoice_lines_order_line_id_foreign";`);
99
-
100
- this.addSql(`alter table "sales_order_adjustments" drop constraint "sales_order_adjustments_order_line_id_foreign";`);
101
-
102
- this.addSql(`alter table "sales_shipment_items" drop constraint "sales_shipment_items_order_line_id_foreign";`);
103
-
104
- this.addSql(`alter table "sales_credit_memos" drop constraint "sales_credit_memos_order_id_foreign";`);
105
-
106
- this.addSql(`alter table "sales_invoices" drop constraint "sales_invoices_order_id_foreign";`);
107
-
108
- this.addSql(`alter table "sales_notes" drop constraint "sales_notes_order_id_foreign";`);
109
-
110
- this.addSql(`alter table "sales_order_adjustments" drop constraint "sales_order_adjustments_order_id_foreign";`);
111
-
112
- this.addSql(`alter table "sales_order_lines" drop constraint "sales_order_lines_order_id_foreign";`);
113
-
114
- this.addSql(`alter table "sales_payment_allocations" drop constraint "sales_payment_allocations_order_id_foreign";`);
115
-
116
- this.addSql(`alter table "sales_payments" drop constraint "sales_payments_order_id_foreign";`);
117
-
118
- this.addSql(`alter table "sales_shipments" drop constraint "sales_shipments_order_id_foreign";`);
119
-
120
- this.addSql(`alter table "sales_orders" drop constraint "sales_orders_payment_method_ref_id_foreign";`);
121
-
122
- this.addSql(`alter table "sales_payments" drop constraint "sales_payments_payment_method_id_foreign";`);
123
-
124
- this.addSql(`alter table "sales_payment_allocations" drop constraint "sales_payment_allocations_payment_id_foreign";`);
125
-
126
- this.addSql(`alter table "sales_quote_adjustments" drop constraint "sales_quote_adjustments_quote_line_id_foreign";`);
127
-
128
- this.addSql(`alter table "sales_notes" drop constraint "sales_notes_quote_id_foreign";`);
129
-
130
- this.addSql(`alter table "sales_quote_adjustments" drop constraint "sales_quote_adjustments_quote_id_foreign";`);
131
-
132
- this.addSql(`alter table "sales_quote_lines" drop constraint "sales_quote_lines_quote_id_foreign";`);
133
-
134
- this.addSql(`alter table "sales_shipment_items" drop constraint "sales_shipment_items_shipment_id_foreign";`);
135
-
136
- this.addSql(`alter table "sales_orders" drop constraint "sales_orders_shipping_method_ref_id_foreign";`);
137
-
138
- this.addSql(`alter table "organizations" drop constraint "organizations_tenant_id_foreign";`);
139
-
140
- this.addSql(`alter table "password_resets" drop constraint "password_resets_user_id_foreign";`);
141
-
142
- this.addSql(`alter table "sessions" drop constraint "sessions_user_id_foreign";`);
143
-
144
- this.addSql(`alter table "user_acls" drop constraint "user_acls_user_id_foreign";`);
145
-
146
- this.addSql(`alter table "user_roles" drop constraint "user_roles_user_id_foreign";`);
5
+ /** Drop a foreign key constraint only when the owning table exists (safe for disabled modules). */
6
+ private dropConstraintIfTableExists(table: string, constraint: string): void {
7
+ this.addSql(`DO $$ BEGIN IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = '${table}') THEN ALTER TABLE "${table}" DROP CONSTRAINT IF EXISTS "${constraint}"; END IF; END $$;`)
8
+ }
147
9
 
148
- this.addSql(`alter table "user_sidebar_preferences" drop constraint "user_sidebar_preferences_user_id_foreign";`);
10
+ override async up(): Promise<void> {
11
+ this.dropConstraintIfTableExists('rule_execution_logs', 'rule_execution_logs_rule_id_foreign');
12
+ this.dropConstraintIfTableExists('rule_set_members', 'rule_set_members_rule_id_foreign');
13
+ this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_price_kind_id_foreign');
14
+ this.dropConstraintIfTableExists('catalog_product_category_assignments', 'catalog_product_category_assignments_category_id_foreign');
15
+ this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_offer_id_foreign');
16
+ this.dropConstraintIfTableExists('catalog_products', 'catalog_products_option_schema_id_foreign');
17
+ this.dropConstraintIfTableExists('catalog_product_tag_assignments', 'catalog_product_tag_assignments_tag_id_foreign');
18
+ this.dropConstraintIfTableExists('catalog_product_variant_option_values', 'catalog_product_variant_option_values_variant_id_foreign');
19
+ this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_variant_id_foreign');
20
+ this.dropConstraintIfTableExists('catalog_product_variant_relations', 'catalog_product_variant_relations_child_variant_id_foreign');
21
+ this.dropConstraintIfTableExists('catalog_product_variant_relations', 'catalog_product_variant_relations_parent_variant_id_foreign');
22
+ this.dropConstraintIfTableExists('catalog_product_category_assignments', 'catalog_product_category_assignments_product_id_foreign');
23
+ this.dropConstraintIfTableExists('catalog_product_offers', 'catalog_product_offers_product_id_foreign');
24
+ this.dropConstraintIfTableExists('catalog_product_options', 'catalog_product_options_product_id_foreign');
25
+ this.dropConstraintIfTableExists('catalog_product_relations', 'catalog_product_relations_child_product_id_foreign');
26
+ this.dropConstraintIfTableExists('catalog_product_relations', 'catalog_product_relations_parent_product_id_foreign');
27
+ this.dropConstraintIfTableExists('catalog_product_tag_assignments', 'catalog_product_tag_assignments_product_id_foreign');
28
+ this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_product_id_foreign');
29
+ this.dropConstraintIfTableExists('catalog_product_variants', 'catalog_product_variants_product_id_foreign');
30
+ this.dropConstraintIfTableExists('customer_activities', 'customer_activities_deal_id_foreign');
31
+ this.dropConstraintIfTableExists('customer_comments', 'customer_comments_deal_id_foreign');
32
+ this.dropConstraintIfTableExists('customer_deal_companies', 'customer_deal_companies_deal_id_foreign');
33
+ this.dropConstraintIfTableExists('customer_deal_people', 'customer_deal_people_deal_id_foreign');
34
+ this.dropConstraintIfTableExists('customer_activities', 'customer_activities_entity_id_foreign');
35
+ this.dropConstraintIfTableExists('customer_addresses', 'customer_addresses_entity_id_foreign');
36
+ this.dropConstraintIfTableExists('customer_comments', 'customer_comments_entity_id_foreign');
37
+ this.dropConstraintIfTableExists('customer_companies', 'customer_companies_entity_id_foreign');
38
+ this.dropConstraintIfTableExists('customer_deal_companies', 'customer_deal_companies_company_entity_id_foreign');
39
+ this.dropConstraintIfTableExists('customer_deal_people', 'customer_deal_people_person_entity_id_foreign');
40
+ this.dropConstraintIfTableExists('customer_people', 'customer_people_company_entity_id_foreign');
41
+ this.dropConstraintIfTableExists('customer_people', 'customer_people_entity_id_foreign');
42
+ this.dropConstraintIfTableExists('customer_tag_assignments', 'customer_tag_assignments_entity_id_foreign');
43
+ this.dropConstraintIfTableExists('customer_todo_links', 'customer_todo_links_entity_id_foreign');
44
+ this.dropConstraintIfTableExists('customer_tag_assignments', 'customer_tag_assignments_tag_id_foreign');
45
+ this.dropConstraintIfTableExists('dictionary_entries', 'dictionary_entries_dictionary_id_foreign');
46
+ this.dropConstraintIfTableExists('role_acls', 'role_acls_role_id_foreign');
47
+ this.dropConstraintIfTableExists('role_sidebar_preferences', 'role_sidebar_preferences_role_id_foreign');
48
+ this.dropConstraintIfTableExists('user_roles', 'user_roles_role_id_foreign');
49
+ this.dropConstraintIfTableExists('rule_set_members', 'rule_set_members_rule_set_id_foreign');
50
+ this.dropConstraintIfTableExists('sales_orders', 'sales_orders_channel_ref_id_foreign');
51
+ this.dropConstraintIfTableExists('sales_credit_memo_lines', 'sales_credit_memo_lines_credit_memo_id_foreign');
52
+ this.dropConstraintIfTableExists('sales_orders', 'sales_orders_delivery_window_ref_id_foreign');
53
+ this.dropConstraintIfTableExists('sales_credit_memos', 'sales_credit_memos_invoice_id_foreign');
54
+ this.dropConstraintIfTableExists('sales_invoice_lines', 'sales_invoice_lines_invoice_id_foreign');
55
+ this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_invoice_id_foreign');
56
+ this.dropConstraintIfTableExists('sales_credit_memo_lines', 'sales_credit_memo_lines_order_line_id_foreign');
57
+ this.dropConstraintIfTableExists('sales_invoice_lines', 'sales_invoice_lines_order_line_id_foreign');
58
+ this.dropConstraintIfTableExists('sales_order_adjustments', 'sales_order_adjustments_order_line_id_foreign');
59
+ this.dropConstraintIfTableExists('sales_shipment_items', 'sales_shipment_items_order_line_id_foreign');
60
+ this.dropConstraintIfTableExists('sales_credit_memos', 'sales_credit_memos_order_id_foreign');
61
+ this.dropConstraintIfTableExists('sales_invoices', 'sales_invoices_order_id_foreign');
62
+ this.dropConstraintIfTableExists('sales_notes', 'sales_notes_order_id_foreign');
63
+ this.dropConstraintIfTableExists('sales_order_adjustments', 'sales_order_adjustments_order_id_foreign');
64
+ this.dropConstraintIfTableExists('sales_order_lines', 'sales_order_lines_order_id_foreign');
65
+ this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_order_id_foreign');
66
+ this.dropConstraintIfTableExists('sales_payments', 'sales_payments_order_id_foreign');
67
+ this.dropConstraintIfTableExists('sales_shipments', 'sales_shipments_order_id_foreign');
68
+ this.dropConstraintIfTableExists('sales_orders', 'sales_orders_payment_method_ref_id_foreign');
69
+ this.dropConstraintIfTableExists('sales_payments', 'sales_payments_payment_method_id_foreign');
70
+ this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_payment_id_foreign');
71
+ this.dropConstraintIfTableExists('sales_quote_adjustments', 'sales_quote_adjustments_quote_line_id_foreign');
72
+ this.dropConstraintIfTableExists('sales_notes', 'sales_notes_quote_id_foreign');
73
+ this.dropConstraintIfTableExists('sales_quote_adjustments', 'sales_quote_adjustments_quote_id_foreign');
74
+ this.dropConstraintIfTableExists('sales_quote_lines', 'sales_quote_lines_quote_id_foreign');
75
+ this.dropConstraintIfTableExists('sales_shipment_items', 'sales_shipment_items_shipment_id_foreign');
76
+ this.dropConstraintIfTableExists('sales_orders', 'sales_orders_shipping_method_ref_id_foreign');
77
+ this.dropConstraintIfTableExists('organizations', 'organizations_tenant_id_foreign');
78
+ this.dropConstraintIfTableExists('password_resets', 'password_resets_user_id_foreign');
79
+ this.dropConstraintIfTableExists('sessions', 'sessions_user_id_foreign');
80
+ this.dropConstraintIfTableExists('user_acls', 'user_acls_user_id_foreign');
81
+ this.dropConstraintIfTableExists('user_roles', 'user_roles_user_id_foreign');
82
+ this.dropConstraintIfTableExists('user_sidebar_preferences', 'user_sidebar_preferences_user_id_foreign');
149
83
 
150
84
  this.addSql(`create table "step_instances" ("id" uuid not null default gen_random_uuid(), "workflow_instance_id" uuid not null, "step_id" varchar(100) not null, "step_name" varchar(255) not null, "step_type" varchar(50) not null, "status" varchar(20) not null, "input_data" jsonb null, "output_data" jsonb null, "error_data" jsonb null, "entered_at" timestamptz null, "exited_at" timestamptz null, "execution_time_ms" int null, "retry_count" int not null default 0, "tenant_id" uuid not null, "organization_id" uuid not null, "created_at" timestamptz not null, "updated_at" timestamptz not null, constraint "step_instances_pkey" primary key ("id"));`);
151
85
  this.addSql(`create index "step_instances_tenant_org_idx" on "step_instances" ("tenant_id", "organization_id");`);
@@ -0,0 +1,15 @@
1
+ import type { ModuleSetupConfig } from '@open-mercato/shared/modules/setup'
2
+ import { seedExampleWorkflows } from './lib/seeds'
3
+
4
+ export const setup: ModuleSetupConfig = {
5
+ seedDefaults: async (ctx) => {
6
+ const scope = { tenantId: ctx.tenantId, organizationId: ctx.organizationId }
7
+ await seedExampleWorkflows(ctx.em, scope)
8
+ },
9
+
10
+ defaultRoleFeatures: {
11
+ admin: ['workflows.*'],
12
+ },
13
+ }
14
+
15
+ export default setup
@@ -1,33 +0,0 @@
1
- const id = "id";
2
- const name = "name";
3
- const description = "description";
4
- const workflow_definition_id = "workflow_definition_id";
5
- const event_pattern = "event_pattern";
6
- const config = "config";
7
- const enabled = "enabled";
8
- const priority = "priority";
9
- const tenant_id = "tenant_id";
10
- const organization_id = "organization_id";
11
- const created_by = "created_by";
12
- const updated_by = "updated_by";
13
- const created_at = "created_at";
14
- const updated_at = "updated_at";
15
- const deleted_at = "deleted_at";
16
- export {
17
- config,
18
- created_at,
19
- created_by,
20
- deleted_at,
21
- description,
22
- enabled,
23
- event_pattern,
24
- id,
25
- name,
26
- organization_id,
27
- priority,
28
- tenant_id,
29
- updated_at,
30
- updated_by,
31
- workflow_definition_id
32
- };
33
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../generated/entities/workflow_event_trigger/index.ts"],
4
- "sourcesContent": ["export const id = 'id'\nexport const name = 'name'\nexport const description = 'description'\nexport const workflow_definition_id = 'workflow_definition_id'\nexport const event_pattern = 'event_pattern'\nexport const config = 'config'\nexport const enabled = 'enabled'\nexport const priority = 'priority'\nexport const tenant_id = 'tenant_id'\nexport const organization_id = 'organization_id'\nexport const created_by = 'created_by'\nexport const updated_by = 'updated_by'\nexport const created_at = 'created_at'\nexport const updated_at = 'updated_at'\nexport const deleted_at = 'deleted_at'\n"],
5
- "mappings": "AAAO,MAAM,KAAK;AACX,MAAM,OAAO;AACb,MAAM,cAAc;AACpB,MAAM,yBAAyB;AAC/B,MAAM,gBAAgB;AACtB,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,WAAW;AACjB,MAAM,YAAY;AAClB,MAAM,kBAAkB;AACxB,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,aAAa;",
6
- "names": []
7
- }
@@ -1,30 +0,0 @@
1
- import { createModuleEvents } from "@open-mercato/shared/modules/events";
2
- const events = [
3
- // Users
4
- { id: "auth.users.created", label: "User Created", entity: "users", category: "crud" },
5
- { id: "auth.users.updated", label: "User Updated", entity: "users", category: "crud" },
6
- { id: "auth.users.deleted", label: "User Deleted", entity: "users", category: "crud" },
7
- // Roles
8
- { id: "auth.roles.created", label: "Role Created", entity: "roles", category: "crud" },
9
- { id: "auth.roles.updated", label: "Role Updated", entity: "roles", category: "crud" },
10
- { id: "auth.roles.deleted", label: "Role Deleted", entity: "roles", category: "crud" },
11
- // Authentication events
12
- { id: "auth.login.success", label: "Login Successful", category: "lifecycle" },
13
- { id: "auth.login.failed", label: "Login Failed", category: "lifecycle" },
14
- { id: "auth.logout", label: "User Logged Out", category: "lifecycle" },
15
- { id: "auth.password.changed", label: "Password Changed", category: "lifecycle" },
16
- { id: "auth.password.reset.requested", label: "Password Reset Requested", category: "lifecycle" },
17
- { id: "auth.password.reset.completed", label: "Password Reset Completed", category: "lifecycle" }
18
- ];
19
- const eventsConfig = createModuleEvents({
20
- moduleId: "auth",
21
- events
22
- });
23
- const emitAuthEvent = eventsConfig.emit;
24
- var events_default = eventsConfig;
25
- export {
26
- events_default as default,
27
- emitAuthEvent,
28
- eventsConfig
29
- };
30
- //# sourceMappingURL=events.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/modules/auth/events.ts"],
4
- "sourcesContent": ["import { createModuleEvents } from '@open-mercato/shared/modules/events'\n\n/**\n * Auth Module Events\n *\n * Declares all events that can be emitted by the auth module.\n */\nconst events = [\n // Users\n { id: 'auth.users.created', label: 'User Created', entity: 'users', category: 'crud' },\n { id: 'auth.users.updated', label: 'User Updated', entity: 'users', category: 'crud' },\n { id: 'auth.users.deleted', label: 'User Deleted', entity: 'users', category: 'crud' },\n\n // Roles\n { id: 'auth.roles.created', label: 'Role Created', entity: 'roles', category: 'crud' },\n { id: 'auth.roles.updated', label: 'Role Updated', entity: 'roles', category: 'crud' },\n { id: 'auth.roles.deleted', label: 'Role Deleted', entity: 'roles', category: 'crud' },\n\n // Authentication events\n { id: 'auth.login.success', label: 'Login Successful', category: 'lifecycle' },\n { id: 'auth.login.failed', label: 'Login Failed', category: 'lifecycle' },\n { id: 'auth.logout', label: 'User Logged Out', category: 'lifecycle' },\n { id: 'auth.password.changed', label: 'Password Changed', category: 'lifecycle' },\n { id: 'auth.password.reset.requested', label: 'Password Reset Requested', category: 'lifecycle' },\n { id: 'auth.password.reset.completed', label: 'Password Reset Completed', category: 'lifecycle' },\n] as const\n\nexport const eventsConfig = createModuleEvents({\n moduleId: 'auth',\n events,\n})\n\n/** Type-safe event emitter for auth module */\nexport const emitAuthEvent = eventsConfig.emit\n\n/** Event IDs that can be emitted by the auth module */\nexport type AuthEventId = typeof events[number]['id']\n\nexport default eventsConfig\n"],
5
- "mappings": "AAAA,SAAS,0BAA0B;AAOnC,MAAM,SAAS;AAAA;AAAA,EAEb,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACrF,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACrF,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA;AAAA,EAGrF,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACrF,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACrF,EAAE,IAAI,sBAAsB,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA;AAAA,EAGrF,EAAE,IAAI,sBAAsB,OAAO,oBAAoB,UAAU,YAAY;AAAA,EAC7E,EAAE,IAAI,qBAAqB,OAAO,gBAAgB,UAAU,YAAY;AAAA,EACxE,EAAE,IAAI,eAAe,OAAO,mBAAmB,UAAU,YAAY;AAAA,EACrE,EAAE,IAAI,yBAAyB,OAAO,oBAAoB,UAAU,YAAY;AAAA,EAChF,EAAE,IAAI,iCAAiC,OAAO,4BAA4B,UAAU,YAAY;AAAA,EAChG,EAAE,IAAI,iCAAiC,OAAO,4BAA4B,UAAU,YAAY;AAClG;AAEO,MAAM,eAAe,mBAAmB;AAAA,EAC7C,UAAU;AAAA,EACV;AACF,CAAC;AAGM,MAAM,gBAAgB,aAAa;AAK1C,IAAO,iBAAQ;",
6
- "names": []
7
- }
@@ -1,145 +0,0 @@
1
- import { NextResponse } from "next/server";
2
- import { z } from "zod";
3
- import { getAuthFromRequest } from "@open-mercato/shared/lib/auth/server";
4
- import { createRequestContainer } from "@open-mercato/shared/lib/di/container";
5
- import * as ruleEngine from "../../../lib/rule-engine.js";
6
- const executeByIdRequestSchema = z.object({
7
- data: z.any(),
8
- dryRun: z.boolean().optional().default(false),
9
- entityType: z.string().optional(),
10
- entityId: z.string().optional(),
11
- eventType: z.string().optional()
12
- });
13
- const executeByIdResponseSchema = z.object({
14
- success: z.boolean(),
15
- ruleId: z.string(),
16
- ruleName: z.string(),
17
- conditionResult: z.boolean(),
18
- actionsExecuted: z.object({
19
- success: z.boolean(),
20
- results: z.array(z.object({
21
- type: z.string(),
22
- success: z.boolean(),
23
- error: z.string().optional()
24
- }))
25
- }).nullable(),
26
- executionTime: z.number(),
27
- error: z.string().optional(),
28
- logId: z.string().optional()
29
- });
30
- const errorResponseSchema = z.object({
31
- error: z.string()
32
- });
33
- const routeMetadata = {
34
- POST: { requireAuth: true, requireFeatures: ["business_rules.execute"] }
35
- };
36
- const metadata = routeMetadata;
37
- async function POST(req, context) {
38
- const auth = await getAuthFromRequest(req);
39
- if (!auth) {
40
- return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
41
- }
42
- const params = await context.params;
43
- const ruleId = params.ruleId;
44
- if (!ruleId || !z.uuid().safeParse(ruleId).success) {
45
- return NextResponse.json({ error: "Invalid rule ID" }, { status: 400 });
46
- }
47
- const container = await createRequestContainer();
48
- const em = container.resolve("em");
49
- let body;
50
- try {
51
- body = await req.json();
52
- } catch {
53
- return NextResponse.json({ error: "Invalid JSON body" }, { status: 400 });
54
- }
55
- const parsed = executeByIdRequestSchema.safeParse(body);
56
- if (!parsed.success) {
57
- const errors = parsed.error.issues.map((e) => `${e.path.join(".")}: ${e.message}`);
58
- return NextResponse.json({ error: `Validation failed: ${errors.join(", ")}` }, { status: 400 });
59
- }
60
- const { data, dryRun, entityType, entityId, eventType } = parsed.data;
61
- const execContext = {
62
- ruleId,
63
- data,
64
- user: {
65
- id: auth.sub,
66
- email: auth.email,
67
- role: auth.role ?? void 0
68
- },
69
- tenantId: auth.tenantId ?? "",
70
- organizationId: auth.orgId ?? "",
71
- executedBy: auth.sub ?? auth.email ?? void 0,
72
- dryRun,
73
- entityType,
74
- entityId,
75
- eventType
76
- };
77
- try {
78
- const result = await ruleEngine.executeRuleById(em, execContext);
79
- const response = {
80
- success: result.success,
81
- ruleId: result.ruleId,
82
- ruleName: result.ruleName,
83
- conditionResult: result.conditionResult,
84
- actionsExecuted: result.actionsExecuted ? {
85
- success: result.actionsExecuted.success,
86
- results: result.actionsExecuted.results.map((ar) => ({
87
- type: ar.action.type,
88
- success: ar.success,
89
- error: ar.error
90
- }))
91
- } : null,
92
- executionTime: result.executionTime,
93
- error: result.error,
94
- logId: result.logId
95
- };
96
- const status = result.success ? 200 : result.error === "Rule not found" ? 404 : 200;
97
- return NextResponse.json(response, { status });
98
- } catch (error) {
99
- const errorMessage = error instanceof Error ? error.message : String(error);
100
- return NextResponse.json(
101
- { error: `Rule execution failed: ${errorMessage}` },
102
- { status: 500 }
103
- );
104
- }
105
- }
106
- const openApi = {
107
- tag: "Business Rules",
108
- summary: "Execute a specific business rule by ID",
109
- methods: {
110
- POST: {
111
- summary: "Execute a specific rule by its database UUID",
112
- description: "Directly executes a specific business rule identified by its UUID, bypassing the normal entityType/eventType discovery mechanism. Useful for workflows and targeted rule execution.",
113
- pathParams: z.object({
114
- ruleId: z.string().uuid().describe("The database UUID of the business rule to execute")
115
- }),
116
- requestBody: {
117
- contentType: "application/json",
118
- schema: executeByIdRequestSchema
119
- },
120
- responses: [
121
- {
122
- status: 200,
123
- description: "Rule executed successfully",
124
- schema: executeByIdResponseSchema
125
- },
126
- {
127
- status: 404,
128
- description: "Rule not found",
129
- schema: errorResponseSchema
130
- }
131
- ],
132
- errors: [
133
- { status: 400, description: "Invalid request payload or rule ID", schema: errorResponseSchema },
134
- { status: 401, description: "Unauthorized", schema: errorResponseSchema },
135
- { status: 500, description: "Execution error", schema: errorResponseSchema }
136
- ]
137
- }
138
- }
139
- };
140
- export {
141
- POST,
142
- metadata,
143
- openApi
144
- };
145
- //# sourceMappingURL=route.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/modules/business_rules/api/execute/%5BruleId%5D/route.ts"],
4
- "sourcesContent": ["import { NextResponse } from 'next/server'\nimport { z } from 'zod'\nimport type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'\nimport { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'\nimport { createRequestContainer } from '@open-mercato/shared/lib/di/container'\nimport type { EntityManager } from '@mikro-orm/postgresql'\nimport * as ruleEngine from '../../../lib/rule-engine'\n\nconst executeByIdRequestSchema = z.object({\n data: z.any(),\n dryRun: z.boolean().optional().default(false),\n entityType: z.string().optional(),\n entityId: z.string().optional(),\n eventType: z.string().optional(),\n})\n\nconst executeByIdResponseSchema = z.object({\n success: z.boolean(),\n ruleId: z.string(),\n ruleName: z.string(),\n conditionResult: z.boolean(),\n actionsExecuted: z.object({\n success: z.boolean(),\n results: z.array(z.object({\n type: z.string(),\n success: z.boolean(),\n error: z.string().optional(),\n })),\n }).nullable(),\n executionTime: z.number(),\n error: z.string().optional(),\n logId: z.string().optional(),\n})\n\nconst errorResponseSchema = z.object({\n error: z.string(),\n})\n\nconst routeMetadata = {\n POST: { requireAuth: true, requireFeatures: ['business_rules.execute'] },\n}\n\nexport const metadata = routeMetadata\n\ninterface RouteContext {\n params: Promise<{ ruleId: string }>\n}\n\nexport async function POST(req: Request, context: RouteContext) {\n const auth = await getAuthFromRequest(req)\n if (!auth) {\n return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })\n }\n\n const params = await context.params\n const ruleId = params.ruleId\n\n if (!ruleId || !z.uuid().safeParse(ruleId).success) {\n return NextResponse.json({ error: 'Invalid rule ID' }, { status: 400 })\n }\n\n const container = await createRequestContainer()\n const em = container.resolve('em') as EntityManager\n\n let body: any\n try {\n body = await req.json()\n } catch {\n return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })\n }\n\n const parsed = executeByIdRequestSchema.safeParse(body)\n if (!parsed.success) {\n const errors = parsed.error.issues.map(e => `${e.path.join('.')}: ${e.message}`)\n return NextResponse.json({ error: `Validation failed: ${errors.join(', ')}` }, { status: 400 })\n }\n\n const { data, dryRun, entityType, entityId, eventType } = parsed.data\n\n const execContext: ruleEngine.DirectRuleExecutionContext = {\n ruleId,\n data,\n user: {\n id: auth.sub,\n email: auth.email,\n role: (auth.role as string) ?? undefined,\n },\n tenantId: auth.tenantId ?? '',\n organizationId: auth.orgId ?? '',\n executedBy: auth.sub ?? auth.email ?? undefined,\n dryRun,\n entityType,\n entityId,\n eventType,\n }\n\n try {\n const result = await ruleEngine.executeRuleById(em, execContext)\n\n const response = {\n success: result.success,\n ruleId: result.ruleId,\n ruleName: result.ruleName,\n conditionResult: result.conditionResult,\n actionsExecuted: result.actionsExecuted ? {\n success: result.actionsExecuted.success,\n results: result.actionsExecuted.results.map(ar => ({\n type: ar.action.type,\n success: ar.success,\n error: ar.error,\n })),\n } : null,\n executionTime: result.executionTime,\n error: result.error,\n logId: result.logId,\n }\n\n // Return appropriate status based on result\n const status = result.success ? 200 : (result.error === 'Rule not found' ? 404 : 200)\n return NextResponse.json(response, { status })\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n return NextResponse.json(\n { error: `Rule execution failed: ${errorMessage}` },\n { status: 500 }\n )\n }\n}\n\nexport const openApi: OpenApiRouteDoc = {\n tag: 'Business Rules',\n summary: 'Execute a specific business rule by ID',\n methods: {\n POST: {\n summary: 'Execute a specific rule by its database UUID',\n description: 'Directly executes a specific business rule identified by its UUID, bypassing the normal entityType/eventType discovery mechanism. Useful for workflows and targeted rule execution.',\n pathParams: z.object({\n ruleId: z.string().uuid().describe('The database UUID of the business rule to execute'),\n }),\n requestBody: {\n contentType: 'application/json',\n schema: executeByIdRequestSchema,\n },\n responses: [\n {\n status: 200,\n description: 'Rule executed successfully',\n schema: executeByIdResponseSchema,\n },\n {\n status: 404,\n description: 'Rule not found',\n schema: errorResponseSchema,\n },\n ],\n errors: [\n { status: 400, description: 'Invalid request payload or rule ID', schema: errorResponseSchema },\n { status: 401, description: 'Unauthorized', schema: errorResponseSchema },\n { status: 500, description: 'Execution error', schema: errorResponseSchema },\n ],\n },\n },\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,34 +0,0 @@
1
- import { createModuleEvents } from "@open-mercato/shared/modules/events";
2
- const events = [
3
- // Products
4
- { id: "catalog.product.created", label: "Product Created", entity: "product", category: "crud" },
5
- { id: "catalog.product.updated", label: "Product Updated", entity: "product", category: "crud" },
6
- { id: "catalog.product.deleted", label: "Product Deleted", entity: "product", category: "crud" },
7
- // Categories
8
- { id: "catalog.category.created", label: "Category Created", entity: "category", category: "crud" },
9
- { id: "catalog.category.updated", label: "Category Updated", entity: "category", category: "crud" },
10
- { id: "catalog.category.deleted", label: "Category Deleted", entity: "category", category: "crud" },
11
- // Variants
12
- { id: "catalog.variant.created", label: "Variant Created", entity: "variant", category: "crud" },
13
- { id: "catalog.variant.updated", label: "Variant Updated", entity: "variant", category: "crud" },
14
- { id: "catalog.variant.deleted", label: "Variant Deleted", entity: "variant", category: "crud" },
15
- // Prices
16
- { id: "catalog.price.created", label: "Price Created", entity: "price", category: "crud" },
17
- { id: "catalog.price.updated", label: "Price Updated", entity: "price", category: "crud" },
18
- { id: "catalog.price.deleted", label: "Price Deleted", entity: "price", category: "crud" },
19
- // Lifecycle events - Pricing resolution
20
- { id: "catalog.pricing.resolve.before", label: "Before Pricing Resolve", category: "lifecycle", excludeFromTriggers: true },
21
- { id: "catalog.pricing.resolve.after", label: "After Pricing Resolve", category: "lifecycle", excludeFromTriggers: true }
22
- ];
23
- const eventsConfig = createModuleEvents({
24
- moduleId: "catalog",
25
- events
26
- });
27
- const emitCatalogEvent = eventsConfig.emit;
28
- var events_default = eventsConfig;
29
- export {
30
- events_default as default,
31
- emitCatalogEvent,
32
- eventsConfig
33
- };
34
- //# sourceMappingURL=events.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/modules/catalog/events.ts"],
4
- "sourcesContent": ["import { createModuleEvents } from '@open-mercato/shared/modules/events'\n\n/**\n * Catalog Module Events\n *\n * Declares all events that can be emitted by the catalog module.\n */\nconst events = [\n // Products\n { id: 'catalog.product.created', label: 'Product Created', entity: 'product', category: 'crud' },\n { id: 'catalog.product.updated', label: 'Product Updated', entity: 'product', category: 'crud' },\n { id: 'catalog.product.deleted', label: 'Product Deleted', entity: 'product', category: 'crud' },\n\n // Categories\n { id: 'catalog.category.created', label: 'Category Created', entity: 'category', category: 'crud' },\n { id: 'catalog.category.updated', label: 'Category Updated', entity: 'category', category: 'crud' },\n { id: 'catalog.category.deleted', label: 'Category Deleted', entity: 'category', category: 'crud' },\n\n // Variants\n { id: 'catalog.variant.created', label: 'Variant Created', entity: 'variant', category: 'crud' },\n { id: 'catalog.variant.updated', label: 'Variant Updated', entity: 'variant', category: 'crud' },\n { id: 'catalog.variant.deleted', label: 'Variant Deleted', entity: 'variant', category: 'crud' },\n\n // Prices\n { id: 'catalog.price.created', label: 'Price Created', entity: 'price', category: 'crud' },\n { id: 'catalog.price.updated', label: 'Price Updated', entity: 'price', category: 'crud' },\n { id: 'catalog.price.deleted', label: 'Price Deleted', entity: 'price', category: 'crud' },\n\n // Lifecycle events - Pricing resolution\n { id: 'catalog.pricing.resolve.before', label: 'Before Pricing Resolve', category: 'lifecycle', excludeFromTriggers: true },\n { id: 'catalog.pricing.resolve.after', label: 'After Pricing Resolve', category: 'lifecycle', excludeFromTriggers: true },\n] as const\n\nexport const eventsConfig = createModuleEvents({\n moduleId: 'catalog',\n events,\n})\n\n/** Type-safe event emitter for catalog module */\nexport const emitCatalogEvent = eventsConfig.emit\n\n/** Event IDs that can be emitted by the catalog module */\nexport type CatalogEventId = typeof events[number]['id']\n\nexport default eventsConfig\n"],
5
- "mappings": "AAAA,SAAS,0BAA0B;AAOnC,MAAM,SAAS;AAAA;AAAA,EAEb,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EAC/F,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EAC/F,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA;AAAA,EAG/F,EAAE,IAAI,4BAA4B,OAAO,oBAAoB,QAAQ,YAAY,UAAU,OAAO;AAAA,EAClG,EAAE,IAAI,4BAA4B,OAAO,oBAAoB,QAAQ,YAAY,UAAU,OAAO;AAAA,EAClG,EAAE,IAAI,4BAA4B,OAAO,oBAAoB,QAAQ,YAAY,UAAU,OAAO;AAAA;AAAA,EAGlG,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EAC/F,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA,EAC/F,EAAE,IAAI,2BAA2B,OAAO,mBAAmB,QAAQ,WAAW,UAAU,OAAO;AAAA;AAAA,EAG/F,EAAE,IAAI,yBAAyB,OAAO,iBAAiB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACzF,EAAE,IAAI,yBAAyB,OAAO,iBAAiB,QAAQ,SAAS,UAAU,OAAO;AAAA,EACzF,EAAE,IAAI,yBAAyB,OAAO,iBAAiB,QAAQ,SAAS,UAAU,OAAO;AAAA;AAAA,EAGzF,EAAE,IAAI,kCAAkC,OAAO,0BAA0B,UAAU,aAAa,qBAAqB,KAAK;AAAA,EAC1H,EAAE,IAAI,iCAAiC,OAAO,yBAAyB,UAAU,aAAa,qBAAqB,KAAK;AAC1H;AAEO,MAAM,eAAe,mBAAmB;AAAA,EAC7C,UAAU;AAAA,EACV;AACF,CAAC;AAGM,MAAM,mBAAmB,aAAa;AAK7C,IAAO,iBAAQ;",
6
- "names": []
7
- }
@@ -1,49 +0,0 @@
1
- import { createModuleEvents } from "@open-mercato/shared/modules/events";
2
- const events = [
3
- // People
4
- { id: "customers.people.created", label: "Customer (Person) Created", entity: "people", category: "crud" },
5
- { id: "customers.people.updated", label: "Customer (Person) Updated", entity: "people", category: "crud" },
6
- { id: "customers.people.deleted", label: "Customer (Person) Deleted", entity: "people", category: "crud" },
7
- // Companies
8
- { id: "customers.companies.created", label: "Customer (Company) Created", entity: "companies", category: "crud" },
9
- { id: "customers.companies.updated", label: "Customer (Company) Updated", entity: "companies", category: "crud" },
10
- { id: "customers.companies.deleted", label: "Customer (Company) Deleted", entity: "companies", category: "crud" },
11
- // Deals
12
- { id: "customers.deals.created", label: "Deal Created", entity: "deals", category: "crud" },
13
- { id: "customers.deals.updated", label: "Deal Updated", entity: "deals", category: "crud" },
14
- { id: "customers.deals.deleted", label: "Deal Deleted", entity: "deals", category: "crud" },
15
- // Comments
16
- { id: "customers.comments.created", label: "Comment Created", entity: "comments", category: "crud" },
17
- { id: "customers.comments.updated", label: "Comment Updated", entity: "comments", category: "crud" },
18
- { id: "customers.comments.deleted", label: "Comment Deleted", entity: "comments", category: "crud" },
19
- // Addresses
20
- { id: "customers.addresses.created", label: "Address Created", entity: "addresses", category: "crud" },
21
- { id: "customers.addresses.updated", label: "Address Updated", entity: "addresses", category: "crud" },
22
- { id: "customers.addresses.deleted", label: "Address Deleted", entity: "addresses", category: "crud" },
23
- // Activities
24
- { id: "customers.activities.created", label: "Activity Created", entity: "activities", category: "crud" },
25
- { id: "customers.activities.updated", label: "Activity Updated", entity: "activities", category: "crud" },
26
- { id: "customers.activities.deleted", label: "Activity Deleted", entity: "activities", category: "crud" },
27
- // Tags
28
- { id: "customers.tags.created", label: "Tag Created", entity: "tags", category: "crud" },
29
- { id: "customers.tags.updated", label: "Tag Updated", entity: "tags", category: "crud" },
30
- { id: "customers.tags.deleted", label: "Tag Deleted", entity: "tags", category: "crud" },
31
- { id: "customers.tags.assigned", label: "Tag Assigned", entity: "tags", category: "crud" },
32
- { id: "customers.tags.removed", label: "Tag Removed", entity: "tags", category: "crud" },
33
- // Todos
34
- { id: "customers.todos.created", label: "Todo Created", entity: "todos", category: "crud" },
35
- { id: "customers.todos.updated", label: "Todo Updated", entity: "todos", category: "crud" },
36
- { id: "customers.todos.deleted", label: "Todo Deleted", entity: "todos", category: "crud" }
37
- ];
38
- const eventsConfig = createModuleEvents({
39
- moduleId: "customers",
40
- events
41
- });
42
- const emitCustomersEvent = eventsConfig.emit;
43
- var events_default = eventsConfig;
44
- export {
45
- events_default as default,
46
- emitCustomersEvent,
47
- eventsConfig
48
- };
49
- //# sourceMappingURL=events.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/modules/customers/events.ts"],
4
- "sourcesContent": ["import { createModuleEvents } from '@open-mercato/shared/modules/events'\n\n/**\n * Customers Module Events\n *\n * Declares all events that can be emitted by the customers module.\n */\nconst events = [\n // People\n { id: 'customers.people.created', label: 'Customer (Person) Created', entity: 'people', category: 'crud' },\n { id: 'customers.people.updated', label: 'Customer (Person) Updated', entity: 'people', category: 'crud' },\n { id: 'customers.people.deleted', label: 'Customer (Person) Deleted', entity: 'people', category: 'crud' },\n\n // Companies\n { id: 'customers.companies.created', label: 'Customer (Company) Created', entity: 'companies', category: 'crud' },\n { id: 'customers.companies.updated', label: 'Customer (Company) Updated', entity: 'companies', category: 'crud' },\n { id: 'customers.companies.deleted', label: 'Customer (Company) Deleted', entity: 'companies', category: 'crud' },\n\n // Deals\n { id: 'customers.deals.created', label: 'Deal Created', entity: 'deals', category: 'crud' },\n { id: 'customers.deals.updated', label: 'Deal Updated', entity: 'deals', category: 'crud' },\n { id: 'customers.deals.deleted', label: 'Deal Deleted', entity: 'deals', category: 'crud' },\n\n // Comments\n { id: 'customers.comments.created', label: 'Comment Created', entity: 'comments', category: 'crud' },\n { id: 'customers.comments.updated', label: 'Comment Updated', entity: 'comments', category: 'crud' },\n { id: 'customers.comments.deleted', label: 'Comment Deleted', entity: 'comments', category: 'crud' },\n\n // Addresses\n { id: 'customers.addresses.created', label: 'Address Created', entity: 'addresses', category: 'crud' },\n { id: 'customers.addresses.updated', label: 'Address Updated', entity: 'addresses', category: 'crud' },\n { id: 'customers.addresses.deleted', label: 'Address Deleted', entity: 'addresses', category: 'crud' },\n\n // Activities\n { id: 'customers.activities.created', label: 'Activity Created', entity: 'activities', category: 'crud' },\n { id: 'customers.activities.updated', label: 'Activity Updated', entity: 'activities', category: 'crud' },\n { id: 'customers.activities.deleted', label: 'Activity Deleted', entity: 'activities', category: 'crud' },\n\n // Tags\n { id: 'customers.tags.created', label: 'Tag Created', entity: 'tags', category: 'crud' },\n { id: 'customers.tags.updated', label: 'Tag Updated', entity: 'tags', category: 'crud' },\n { id: 'customers.tags.deleted', label: 'Tag Deleted', entity: 'tags', category: 'crud' },\n { id: 'customers.tags.assigned', label: 'Tag Assigned', entity: 'tags', category: 'crud' },\n { id: 'customers.tags.removed', label: 'Tag Removed', entity: 'tags', category: 'crud' },\n\n // Todos\n { id: 'customers.todos.created', label: 'Todo Created', entity: 'todos', category: 'crud' },\n { id: 'customers.todos.updated', label: 'Todo Updated', entity: 'todos', category: 'crud' },\n { id: 'customers.todos.deleted', label: 'Todo Deleted', entity: 'todos', category: 'crud' },\n] as const\n\nexport const eventsConfig = createModuleEvents({\n moduleId: 'customers',\n events,\n})\n\n/** Type-safe event emitter for customers module */\nexport const emitCustomersEvent = eventsConfig.emit\n\n/** Event IDs that can be emitted by the customers module */\nexport type CustomersEventId = typeof events[number]['id']\n\nexport default eventsConfig\n"],
5
- "mappings": "AAAA,SAAS,0BAA0B;AAOnC,MAAM,SAAS;AAAA;AAAA,EAEb,EAAE,IAAI,4BAA4B,OAAO,6BAA6B,QAAQ,UAAU,UAAU,OAAO;AAAA,EACzG,EAAE,IAAI,4BAA4B,OAAO,6BAA6B,QAAQ,UAAU,UAAU,OAAO;AAAA,EACzG,EAAE,IAAI,4BAA4B,OAAO,6BAA6B,QAAQ,UAAU,UAAU,OAAO;AAAA;AAAA,EAGzG,EAAE,IAAI,+BAA+B,OAAO,8BAA8B,QAAQ,aAAa,UAAU,OAAO;AAAA,EAChH,EAAE,IAAI,+BAA+B,OAAO,8BAA8B,QAAQ,aAAa,UAAU,OAAO;AAAA,EAChH,EAAE,IAAI,+BAA+B,OAAO,8BAA8B,QAAQ,aAAa,UAAU,OAAO;AAAA;AAAA,EAGhH,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EAC1F,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EAC1F,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA;AAAA,EAG1F,EAAE,IAAI,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AAAA,EACnG,EAAE,IAAI,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AAAA,EACnG,EAAE,IAAI,8BAA8B,OAAO,mBAAmB,QAAQ,YAAY,UAAU,OAAO;AAAA;AAAA,EAGnG,EAAE,IAAI,+BAA+B,OAAO,mBAAmB,QAAQ,aAAa,UAAU,OAAO;AAAA,EACrG,EAAE,IAAI,+BAA+B,OAAO,mBAAmB,QAAQ,aAAa,UAAU,OAAO;AAAA,EACrG,EAAE,IAAI,+BAA+B,OAAO,mBAAmB,QAAQ,aAAa,UAAU,OAAO;AAAA;AAAA,EAGrG,EAAE,IAAI,gCAAgC,OAAO,oBAAoB,QAAQ,cAAc,UAAU,OAAO;AAAA,EACxG,EAAE,IAAI,gCAAgC,OAAO,oBAAoB,QAAQ,cAAc,UAAU,OAAO;AAAA,EACxG,EAAE,IAAI,gCAAgC,OAAO,oBAAoB,QAAQ,cAAc,UAAU,OAAO;AAAA;AAAA,EAGxG,EAAE,IAAI,0BAA0B,OAAO,eAAe,QAAQ,QAAQ,UAAU,OAAO;AAAA,EACvF,EAAE,IAAI,0BAA0B,OAAO,eAAe,QAAQ,QAAQ,UAAU,OAAO;AAAA,EACvF,EAAE,IAAI,0BAA0B,OAAO,eAAe,QAAQ,QAAQ,UAAU,OAAO;AAAA,EACvF,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,QAAQ,UAAU,OAAO;AAAA,EACzF,EAAE,IAAI,0BAA0B,OAAO,eAAe,QAAQ,QAAQ,UAAU,OAAO;AAAA;AAAA,EAGvF,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EAC1F,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAAA,EAC1F,EAAE,IAAI,2BAA2B,OAAO,gBAAgB,QAAQ,SAAS,UAAU,OAAO;AAC5F;AAEO,MAAM,eAAe,mBAAmB;AAAA,EAC7C,UAAU;AAAA,EACV;AACF,CAAC;AAGM,MAAM,qBAAqB,aAAa;AAK/C,IAAO,iBAAQ;",
6
- "names": []
7
- }