@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.
- package/dist/generated/entities.ids.generated.js +0 -1
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +0 -2
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/api_keys/setup.js +11 -0
- package/dist/modules/api_keys/setup.js.map +7 -0
- package/dist/modules/attachments/components/AttachmentLibrary.js +1 -1
- package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
- package/dist/modules/attachments/lib/assignmentDetails.js +31 -17
- package/dist/modules/attachments/lib/assignmentDetails.js.map +2 -2
- package/dist/modules/attachments/lib/partitions.js +3 -3
- package/dist/modules/attachments/lib/partitions.js.map +2 -2
- package/dist/modules/attachments/setup.js +11 -0
- package/dist/modules/attachments/setup.js.map +7 -0
- package/dist/modules/audit_logs/setup.js +12 -0
- package/dist/modules/audit_logs/setup.js.map +7 -0
- package/dist/modules/auth/lib/setup-app.js +29 -159
- package/dist/modules/auth/lib/setup-app.js.map +2 -2
- package/dist/modules/auth/setup.js +11 -0
- package/dist/modules/auth/setup.js.map +7 -0
- package/dist/modules/business_rules/data/validators.js +0 -34
- package/dist/modules/business_rules/data/validators.js.map +2 -2
- package/dist/modules/business_rules/index.js +1 -21
- package/dist/modules/business_rules/index.js.map +2 -2
- package/dist/modules/business_rules/lib/rule-engine.js +1 -182
- package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
- package/dist/modules/business_rules/setup.js +11 -0
- package/dist/modules/business_rules/setup.js.map +7 -0
- package/dist/modules/catalog/setup.js +22 -0
- package/dist/modules/catalog/setup.js.map +7 -0
- package/dist/modules/configs/lib/upgrade-actions.js +65 -15
- package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
- package/dist/modules/configs/setup.js +16 -0
- package/dist/modules/configs/setup.js.map +7 -0
- package/dist/modules/currencies/setup.js +16 -0
- package/dist/modules/currencies/setup.js.map +7 -0
- package/dist/modules/customers/setup.js +36 -0
- package/dist/modules/customers/setup.js.map +7 -0
- package/dist/modules/dashboards/setup.js +12 -0
- package/dist/modules/dashboards/setup.js.map +7 -0
- package/dist/modules/dictionaries/setup.js +12 -0
- package/dist/modules/dictionaries/setup.js.map +7 -0
- package/dist/modules/directory/setup.js +12 -0
- package/dist/modules/directory/setup.js.map +7 -0
- package/dist/modules/entities/setup.js +11 -0
- package/dist/modules/entities/setup.js.map +7 -0
- package/dist/modules/feature_toggles/setup.js +11 -0
- package/dist/modules/feature_toggles/setup.js.map +7 -0
- package/dist/modules/perspectives/setup.js +12 -0
- package/dist/modules/perspectives/setup.js.map +7 -0
- package/dist/modules/planner/setup.js +21 -0
- package/dist/modules/planner/setup.js.map +7 -0
- package/dist/modules/query_index/setup.js +11 -0
- package/dist/modules/query_index/setup.js.map +7 -0
- package/dist/modules/resources/setup.js +21 -0
- package/dist/modules/resources/setup.js.map +7 -0
- package/dist/modules/sales/acl.js +0 -1
- package/dist/modules/sales/acl.js.map +2 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
- package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
- package/dist/modules/sales/commands/documents.js +0 -62
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/lib/dictionaries.js +0 -3
- package/dist/modules/sales/lib/dictionaries.js.map +2 -2
- package/dist/modules/sales/setup.js +99 -0
- package/dist/modules/sales/setup.js.map +7 -0
- package/dist/modules/staff/setup.js +27 -0
- package/dist/modules/staff/setup.js.map +7 -0
- package/dist/modules/workflows/acl.js +0 -2
- package/dist/modules/workflows/acl.js.map +2 -2
- package/dist/modules/workflows/api/instances/route.js +6 -18
- package/dist/modules/workflows/api/instances/route.js.map +2 -2
- package/dist/modules/workflows/api/tasks/route.js +1 -6
- package/dist/modules/workflows/api/tasks/route.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
- package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
- package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
- package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
- package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
- package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +6 -5
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/cli.js +3 -81
- package/dist/modules/workflows/cli.js.map +3 -3
- package/dist/modules/workflows/data/entities.js +1 -64
- package/dist/modules/workflows/data/entities.js.map +2 -2
- package/dist/modules/workflows/data/validators.js +0 -115
- package/dist/modules/workflows/data/validators.js.map +2 -2
- package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
- package/dist/modules/workflows/lib/activity-executor.js +13 -75
- package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
- package/dist/modules/workflows/lib/graph-utils.js +2 -71
- package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
- package/dist/modules/workflows/lib/seeds.js +7 -36
- package/dist/modules/workflows/lib/seeds.js.map +2 -2
- package/dist/modules/workflows/lib/start-validator.js +23 -33
- package/dist/modules/workflows/lib/start-validator.js.map +2 -2
- package/dist/modules/workflows/lib/transition-handler.js +45 -157
- package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
- package/dist/modules/workflows/migrations/Migration20251207131955.js +76 -72
- package/dist/modules/workflows/migrations/Migration20251207131955.js.map +2 -2
- package/dist/modules/workflows/setup.js +16 -0
- package/dist/modules/workflows/setup.js.map +7 -0
- package/generated/entities.ids.generated.ts +0 -1
- package/generated/entity-fields-registry.ts +0 -2
- package/package.json +2 -2
- package/src/__tests__/module-decoupling.test.ts +356 -0
- package/src/modules/api_keys/setup.ts +9 -0
- package/src/modules/attachments/components/AttachmentLibrary.tsx +2 -2
- package/src/modules/attachments/lib/assignmentDetails.ts +32 -16
- package/src/modules/attachments/lib/partitions.ts +3 -3
- package/src/modules/attachments/setup.ts +9 -0
- package/src/modules/audit_logs/setup.ts +10 -0
- package/src/modules/auth/__tests__/cli-setup-acl.test.ts +30 -0
- package/src/modules/auth/lib/setup-app.ts +40 -177
- package/src/modules/auth/setup.ts +9 -0
- package/src/modules/business_rules/data/validators.ts +0 -40
- package/src/modules/business_rules/index.ts +0 -25
- package/src/modules/business_rules/lib/rule-engine.ts +1 -281
- package/src/modules/business_rules/setup.ts +9 -0
- package/src/modules/catalog/setup.ts +22 -0
- package/src/modules/configs/lib/upgrade-actions.ts +78 -17
- package/src/modules/configs/setup.ts +14 -0
- package/src/modules/currencies/setup.ts +15 -0
- package/src/modules/customers/setup.ts +36 -0
- package/src/modules/dashboards/setup.ts +10 -0
- package/src/modules/dictionaries/setup.ts +10 -0
- package/src/modules/directory/setup.ts +10 -0
- package/src/modules/entities/setup.ts +9 -0
- package/src/modules/feature_toggles/setup.ts +9 -0
- package/src/modules/perspectives/setup.ts +10 -0
- package/src/modules/planner/setup.ts +21 -0
- package/src/modules/query_index/setup.ts +9 -0
- package/src/modules/resources/setup.ts +21 -0
- package/src/modules/sales/acl.ts +0 -1
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
- package/src/modules/sales/commands/documents.ts +1 -74
- package/src/modules/sales/lib/dictionaries.ts +0 -3
- package/src/modules/sales/setup.ts +108 -0
- package/src/modules/staff/setup.ts +27 -0
- package/src/modules/workflows/acl.ts +0 -2
- package/src/modules/workflows/api/__tests__/instances.route.test.ts +2 -5
- package/src/modules/workflows/api/instances/route.ts +7 -21
- package/src/modules/workflows/api/tasks/route.ts +1 -7
- package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
- package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
- package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
- package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
- package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
- package/src/modules/workflows/backend/tasks/page.tsx +6 -5
- package/src/modules/workflows/cli.ts +0 -111
- package/src/modules/workflows/data/entities.ts +0 -124
- package/src/modules/workflows/data/validators.ts +0 -138
- package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
- package/src/modules/workflows/i18n/en.json +0 -71
- package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +36 -43
- package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +90 -170
- package/src/modules/workflows/lib/activity-executor.ts +16 -129
- package/src/modules/workflows/lib/graph-utils.ts +2 -117
- package/src/modules/workflows/lib/seeds.ts +12 -50
- package/src/modules/workflows/lib/start-validator.ts +28 -38
- package/src/modules/workflows/lib/transition-handler.ts +55 -208
- package/src/modules/workflows/migrations/Migration20251207131955.ts +77 -143
- package/src/modules/workflows/setup.ts +15 -0
- package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
- package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
- package/dist/modules/auth/events.js +0 -30
- package/dist/modules/auth/events.js.map +0 -7
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
- package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
- package/dist/modules/catalog/events.js +0 -34
- package/dist/modules/catalog/events.js.map +0 -7
- package/dist/modules/customers/events.js +0 -49
- package/dist/modules/customers/events.js.map +0 -7
- package/dist/modules/directory/events.js +0 -23
- package/dist/modules/directory/events.js.map +0 -7
- package/dist/modules/sales/events.js +0 -63
- package/dist/modules/sales/events.js.map +0 -7
- package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
- package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
- package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
- package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
- package/dist/modules/workflows/events.js +0 -38
- package/dist/modules/workflows/events.js.map +0 -7
- package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
- package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
- package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
- package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
- package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
- package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
- package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
- package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
- package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
- package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
- package/dist/modules/workflows/widgets/injection-table.js +0 -19
- package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
- package/generated/entities/workflow_event_trigger/index.ts +0 -15
- package/src/modules/auth/events.ts +0 -39
- package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
- package/src/modules/catalog/events.ts +0 -45
- package/src/modules/customers/events.ts +0 -63
- package/src/modules/directory/events.ts +0 -31
- package/src/modules/sales/events.ts +0 -82
- package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
- package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
- package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
- package/src/modules/workflows/events.ts +0 -49
- package/src/modules/workflows/examples/order-approval-definition.json +0 -257
- package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
- package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
- package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
- package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
- package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
- package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
- 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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
}
|