@open-mercato/core 0.4.2-canary-f821f89ef6 → 0.4.2-canary-3b5064ce72
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/notification/index.js +57 -0
- package/dist/generated/entities/notification/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +5 -2
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +2 -2
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/api_docs/frontend/docs/api/page.js +3 -2
- package/dist/modules/api_docs/frontend/docs/api/page.js.map +2 -2
- package/dist/modules/api_keys/backend/api-keys/page.js +1 -1
- package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
- package/dist/modules/attachments/components/AttachmentLibrary.js +4 -0
- package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
- package/dist/modules/attachments/components/AttachmentPartitionSettings.js +2 -0
- package/dist/modules/attachments/components/AttachmentPartitionSettings.js.map +2 -2
- package/dist/modules/auth/api/admin/nav.js +4 -3
- package/dist/modules/auth/api/admin/nav.js.map +2 -2
- package/dist/modules/auth/api/login.js +25 -6
- package/dist/modules/auth/api/login.js.map +2 -2
- package/dist/modules/auth/api/profile/route.js +157 -0
- package/dist/modules/auth/api/profile/route.js.map +7 -0
- package/dist/modules/auth/api/reset/confirm.js +25 -2
- package/dist/modules/auth/api/reset/confirm.js.map +2 -2
- package/dist/modules/auth/api/reset.js +23 -0
- package/dist/modules/auth/api/reset.js.map +2 -2
- package/dist/modules/auth/api/sidebar/preferences/route.js +14 -9
- package/dist/modules/auth/api/sidebar/preferences/route.js.map +2 -2
- package/dist/modules/auth/api/users/route.js +4 -2
- package/dist/modules/auth/api/users/route.js.map +2 -2
- package/dist/modules/auth/backend/auth/profile/page.js +141 -0
- package/dist/modules/auth/backend/auth/profile/page.js.map +7 -0
- package/dist/modules/auth/backend/auth/profile/page.meta.js +13 -0
- package/dist/modules/auth/backend/auth/profile/page.meta.js.map +7 -0
- package/dist/modules/auth/backend/roles/[id]/edit/page.js +4 -1
- package/dist/modules/auth/backend/roles/[id]/edit/page.js.map +2 -2
- package/dist/modules/auth/backend/roles/page.js +3 -3
- package/dist/modules/auth/backend/roles/page.js.map +2 -2
- package/dist/modules/auth/backend/users/[id]/edit/page.js +18 -3
- package/dist/modules/auth/backend/users/[id]/edit/page.js.map +2 -2
- package/dist/modules/auth/backend/users/create/page.js +15 -2
- package/dist/modules/auth/backend/users/create/page.js.map +2 -2
- package/dist/modules/auth/backend/users/page.js +3 -3
- package/dist/modules/auth/backend/users/page.js.map +2 -2
- package/dist/modules/auth/cli.js +25 -11
- package/dist/modules/auth/cli.js.map +2 -2
- package/dist/modules/auth/commands/users.js +59 -2
- package/dist/modules/auth/commands/users.js.map +2 -2
- package/dist/modules/auth/data/validators.js +6 -3
- package/dist/modules/auth/data/validators.js.map +2 -2
- package/dist/modules/auth/frontend/login.js +112 -3
- package/dist/modules/auth/frontend/login.js.map +2 -2
- package/dist/modules/auth/frontend/reset/[token]/page.js +20 -10
- package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
- package/dist/modules/auth/lib/setup-app.js +42 -8
- package/dist/modules/auth/lib/setup-app.js.map +2 -2
- package/dist/modules/auth/notifications.js +112 -0
- package/dist/modules/auth/notifications.js.map +7 -0
- package/dist/modules/auth/services/authService.js +24 -3
- package/dist/modules/auth/services/authService.js.map +2 -2
- package/dist/modules/business_rules/api/execute/route.js +7 -1
- package/dist/modules/business_rules/api/execute/route.js.map +2 -2
- package/dist/modules/business_rules/backend/rules/page.js +4 -0
- package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
- package/dist/modules/business_rules/backend/sets/page.js +3 -0
- package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
- package/dist/modules/business_rules/cli.js +2 -1
- package/dist/modules/business_rules/cli.js.map +2 -2
- 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 +34 -185
- package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
- package/dist/modules/business_rules/notifications.js +28 -0
- package/dist/modules/business_rules/notifications.js.map +7 -0
- package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js +37 -0
- package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js.map +7 -0
- package/dist/modules/catalog/components/PriceKindSettings.js +2 -0
- package/dist/modules/catalog/components/PriceKindSettings.js.map +2 -2
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -2
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductsDataTable.js +2 -0
- package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
- package/dist/modules/catalog/notifications.js +28 -0
- package/dist/modules/catalog/notifications.js.map +7 -0
- package/dist/modules/catalog/subscribers/low-stock-notification.js +38 -0
- package/dist/modules/catalog/subscribers/low-stock-notification.js.map +7 -0
- package/dist/modules/configs/cli.js +6 -0
- package/dist/modules/configs/cli.js.map +2 -2
- package/dist/modules/configs/components/CachePanel.js +4 -4
- package/dist/modules/configs/components/CachePanel.js.map +2 -2
- package/dist/modules/configs/lib/system-status.js +48 -1
- package/dist/modules/configs/lib/system-status.js.map +2 -2
- package/dist/modules/configs/lib/upgrade-actions.js +18 -0
- package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
- package/dist/modules/currencies/backend/currencies/page.js +3 -0
- package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
- package/dist/modules/currencies/backend/exchange-rates/page.js +2 -0
- package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/companies/page.js +3 -0
- package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/page.js +3 -0
- package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/people/page.js +3 -0
- package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
- package/dist/modules/customers/commands/deals.js +31 -0
- package/dist/modules/customers/commands/deals.js.map +2 -2
- package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
- package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
- package/dist/modules/customers/notifications.js +48 -0
- package/dist/modules/customers/notifications.js.map +7 -0
- package/dist/modules/customers/widgets/dashboard/customer-todos/widget.js +2 -1
- package/dist/modules/customers/widgets/dashboard/customer-todos/widget.js.map +2 -2
- package/dist/modules/customers/widgets/dashboard/new-customers/widget.js +2 -1
- package/dist/modules/customers/widgets/dashboard/new-customers/widget.js.map +2 -2
- package/dist/modules/customers/widgets/dashboard/new-deals/widget.js +2 -1
- package/dist/modules/customers/widgets/dashboard/new-deals/widget.js.map +2 -2
- package/dist/modules/customers/widgets/dashboard/next-interactions/widget.js +2 -1
- package/dist/modules/customers/widgets/dashboard/next-interactions/widget.js.map +2 -2
- package/dist/modules/dashboards/cli.js +44 -5
- package/dist/modules/dashboards/cli.js.map +2 -2
- package/dist/modules/dashboards/components/WidgetVisibilityEditor.js +16 -11
- package/dist/modules/dashboards/components/WidgetVisibilityEditor.js.map +3 -3
- package/dist/modules/dashboards/lib/role-widgets.js +58 -0
- package/dist/modules/dashboards/lib/role-widgets.js.map +7 -0
- package/dist/modules/dashboards/services/widgetDataService.js +139 -3
- package/dist/modules/dashboards/services/widgetDataService.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/orders-by-status/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/orders-by-status/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/orders-kpi/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/orders-kpi/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.js.map +2 -2
- package/dist/modules/dashboards/widgets/dashboard/top-products/widget.js +2 -1
- package/dist/modules/dashboards/widgets/dashboard/top-products/widget.js.map +2 -2
- package/dist/modules/dictionaries/components/DictionaryTable.js +2 -0
- package/dist/modules/dictionaries/components/DictionaryTable.js.map +2 -2
- package/dist/modules/directory/api/get/tenants/lookup.js +70 -0
- package/dist/modules/directory/api/get/tenants/lookup.js.map +7 -0
- package/dist/modules/directory/backend/directory/organizations/page.js +2 -2
- package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
- package/dist/modules/directory/backend/directory/tenants/page.js +2 -2
- package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +2 -2
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
- package/dist/modules/entities/components/SystemEntitiesTable.js +1 -1
- package/dist/modules/entities/components/SystemEntitiesTable.js.map +2 -2
- package/dist/modules/entities/components/UserEntitiesTable.js +2 -2
- package/dist/modules/entities/components/UserEntitiesTable.js.map +2 -2
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +3 -3
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
- package/dist/modules/feature_toggles/components/OverridesTable.js +1 -1
- package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
- package/dist/modules/notifications/acl.js +11 -0
- package/dist/modules/notifications/acl.js.map +7 -0
- package/dist/modules/notifications/api/[id]/action/route.js +74 -0
- package/dist/modules/notifications/api/[id]/action/route.js.map +7 -0
- package/dist/modules/notifications/api/[id]/dismiss/route.js +15 -0
- package/dist/modules/notifications/api/[id]/dismiss/route.js.map +7 -0
- package/dist/modules/notifications/api/[id]/read/route.js +15 -0
- package/dist/modules/notifications/api/[id]/read/route.js.map +7 -0
- package/dist/modules/notifications/api/[id]/restore/route.js +53 -0
- package/dist/modules/notifications/api/[id]/restore/route.js.map +7 -0
- package/dist/modules/notifications/api/batch/route.js +17 -0
- package/dist/modules/notifications/api/batch/route.js.map +7 -0
- package/dist/modules/notifications/api/feature/route.js +17 -0
- package/dist/modules/notifications/api/feature/route.js.map +7 -0
- package/dist/modules/notifications/api/mark-all-read/route.js +35 -0
- package/dist/modules/notifications/api/mark-all-read/route.js.map +7 -0
- package/dist/modules/notifications/api/openapi.js +76 -0
- package/dist/modules/notifications/api/openapi.js.map +7 -0
- package/dist/modules/notifications/api/role/route.js +17 -0
- package/dist/modules/notifications/api/role/route.js.map +7 -0
- package/dist/modules/notifications/api/route.js +85 -0
- package/dist/modules/notifications/api/route.js.map +7 -0
- package/dist/modules/notifications/api/settings/route.js +155 -0
- package/dist/modules/notifications/api/settings/route.js.map +7 -0
- package/dist/modules/notifications/api/unread-count/route.js +38 -0
- package/dist/modules/notifications/api/unread-count/route.js.map +7 -0
- package/dist/modules/notifications/backend/config/notifications/page.js +10 -0
- package/dist/modules/notifications/backend/config/notifications/page.js.map +7 -0
- package/dist/modules/notifications/backend/config/notifications/page.meta.js +24 -0
- package/dist/modules/notifications/backend/config/notifications/page.meta.js.map +7 -0
- package/dist/modules/notifications/cli.js +16 -0
- package/dist/modules/notifications/cli.js.map +7 -0
- package/dist/modules/notifications/data/entities.js +112 -0
- package/dist/modules/notifications/data/entities.js.map +7 -0
- package/dist/modules/notifications/data/validators.js +98 -0
- package/dist/modules/notifications/data/validators.js.map +7 -0
- package/dist/modules/notifications/di.js +13 -0
- package/dist/modules/notifications/di.js.map +7 -0
- package/dist/modules/notifications/emails/NotificationEmail.js +58 -0
- package/dist/modules/notifications/emails/NotificationEmail.js.map +7 -0
- package/dist/modules/notifications/frontend/NotificationInboxPageClient.js +44 -0
- package/dist/modules/notifications/frontend/NotificationInboxPageClient.js.map +7 -0
- package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js +220 -0
- package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js.map +7 -0
- package/dist/modules/notifications/index.js +14 -0
- package/dist/modules/notifications/index.js.map +7 -0
- package/dist/modules/notifications/lib/deliveryConfig.js +107 -0
- package/dist/modules/notifications/lib/deliveryConfig.js.map +7 -0
- package/dist/modules/notifications/lib/deliveryStrategies.js +14 -0
- package/dist/modules/notifications/lib/deliveryStrategies.js.map +7 -0
- package/dist/modules/notifications/lib/events.js +12 -0
- package/dist/modules/notifications/lib/events.js.map +7 -0
- package/dist/modules/notifications/lib/notificationBuilder.js +66 -0
- package/dist/modules/notifications/lib/notificationBuilder.js.map +7 -0
- package/dist/modules/notifications/lib/notificationFactory.js +54 -0
- package/dist/modules/notifications/lib/notificationFactory.js.map +7 -0
- package/dist/modules/notifications/lib/notificationMapper.js +34 -0
- package/dist/modules/notifications/lib/notificationMapper.js.map +7 -0
- package/dist/modules/notifications/lib/notificationRecipients.js +35 -0
- package/dist/modules/notifications/lib/notificationRecipients.js.map +7 -0
- package/dist/modules/notifications/lib/notificationService.js +279 -0
- package/dist/modules/notifications/lib/notificationService.js.map +7 -0
- package/dist/modules/notifications/lib/routeHelpers.js +101 -0
- package/dist/modules/notifications/lib/routeHelpers.js.map +7 -0
- package/dist/modules/notifications/lib/safeHref.js +24 -0
- package/dist/modules/notifications/lib/safeHref.js.map +7 -0
- package/dist/modules/notifications/migrations/Migration20260123000001.js +70 -0
- package/dist/modules/notifications/migrations/Migration20260123000001.js.map +7 -0
- package/dist/modules/notifications/migrations/Migration20260126150000.js +37 -0
- package/dist/modules/notifications/migrations/Migration20260126150000.js.map +7 -0
- package/dist/modules/notifications/migrations/Migration20260129082610.js +13 -0
- package/dist/modules/notifications/migrations/Migration20260129082610.js.map +7 -0
- package/dist/modules/notifications/subscribers/deliver-notification.js +165 -0
- package/dist/modules/notifications/subscribers/deliver-notification.js.map +7 -0
- package/dist/modules/notifications/workers/create-notification.worker.js +70 -0
- package/dist/modules/notifications/workers/create-notification.worker.js.map +7 -0
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js +2 -2
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
- package/dist/modules/query_index/cli.js +63 -7
- package/dist/modules/query_index/cli.js.map +2 -2
- package/dist/modules/query_index/components/QueryIndexesTable.js +7 -1
- package/dist/modules/query_index/components/QueryIndexesTable.js.map +2 -2
- package/dist/modules/resources/backend/resources/resource-types/page.js +2 -2
- package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
- package/dist/modules/resources/backend/resources/resources/page.js +2 -2
- package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
- package/dist/modules/sales/acl.js +0 -1
- package/dist/modules/sales/acl.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/offers/page.js +2 -0
- package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/page.js +2 -0
- package/dist/modules/sales/backend/sales/channels/page.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 +53 -62
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/commands/payments.js +26 -0
- package/dist/modules/sales/commands/payments.js.map +2 -2
- package/dist/modules/sales/components/AdjustmentKindSettings.js +2 -2
- package/dist/modules/sales/components/AdjustmentKindSettings.js.map +2 -2
- package/dist/modules/sales/components/PaymentMethodsSettings.js +2 -2
- package/dist/modules/sales/components/PaymentMethodsSettings.js.map +2 -2
- package/dist/modules/sales/components/ShippingMethodsSettings.js +2 -2
- package/dist/modules/sales/components/ShippingMethodsSettings.js.map +2 -2
- package/dist/modules/sales/components/TaxRatesSettings.js +2 -2
- package/dist/modules/sales/components/TaxRatesSettings.js.map +2 -2
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +2 -0
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
- package/dist/modules/sales/components/documents/AdjustmentsSection.js +2 -0
- package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/PaymentsSection.js +2 -1
- package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/SalesDocumentsTable.js +2 -0
- package/dist/modules/sales/components/documents/SalesDocumentsTable.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/notifications.client.js +51 -0
- package/dist/modules/sales/notifications.client.js.map +7 -0
- package/dist/modules/sales/notifications.js +88 -0
- package/dist/modules/sales/notifications.js.map +7 -0
- package/dist/modules/sales/subscribers/quote-expiring-notification.js +38 -0
- package/dist/modules/sales/subscribers/quote-expiring-notification.js.map +7 -0
- package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js +137 -0
- package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js.map +7 -0
- package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js +137 -0
- package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js.map +7 -0
- package/dist/modules/sales/widgets/notifications/index.js +7 -0
- package/dist/modules/sales/widgets/notifications/index.js.map +7 -0
- package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js +60 -0
- package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js.map +7 -0
- package/dist/modules/staff/backend/staff/team-members/page.js +1 -1
- package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-roles/page.js +2 -2
- package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +2 -2
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/page.js +2 -2
- package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
- package/dist/modules/staff/commands/leave-requests.js +79 -0
- package/dist/modules/staff/commands/leave-requests.js.map +2 -2
- package/dist/modules/staff/notifications.js +75 -0
- package/dist/modules/staff/notifications.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/page.js +5 -0
- package/dist/modules/workflows/backend/definitions/page.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/instances/page.js +3 -0
- package/dist/modules/workflows/backend/instances/page.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 +9 -5
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/cli.js +15 -93
- 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 +5 -22
- 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 +57 -161
- package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
- package/dist/modules/workflows/notifications.js +28 -0
- package/dist/modules/workflows/notifications.js.map +7 -0
- package/dist/modules/workflows/subscribers/task-assigned-notification.js +38 -0
- package/dist/modules/workflows/subscribers/task-assigned-notification.js.map +7 -0
- package/generated/entities/notification/index.ts +27 -0
- package/generated/entities.ids.generated.ts +5 -2
- package/generated/entity-fields-registry.ts +2 -2
- package/package.json +2 -2
- package/src/modules/api_docs/frontend/docs/api/page.tsx +3 -2
- package/src/modules/api_keys/backend/api-keys/page.tsx +1 -1
- package/src/modules/attachments/components/AttachmentLibrary.tsx +4 -0
- package/src/modules/attachments/components/AttachmentPartitionSettings.tsx +2 -0
- package/src/modules/auth/README.md +1 -1
- package/src/modules/auth/__tests__/cli-setup-acl.test.ts +1 -1
- package/src/modules/auth/api/__tests__/login.test.ts +2 -0
- package/src/modules/auth/api/admin/nav.ts +10 -6
- package/src/modules/auth/api/login.ts +26 -7
- package/src/modules/auth/api/profile/route.ts +163 -0
- package/src/modules/auth/api/reset/confirm.ts +25 -2
- package/src/modules/auth/api/reset.ts +23 -0
- package/src/modules/auth/api/sidebar/preferences/route.ts +21 -12
- package/src/modules/auth/api/users/route.ts +5 -2
- package/src/modules/auth/backend/auth/profile/page.meta.ts +9 -0
- package/src/modules/auth/backend/auth/profile/page.tsx +174 -0
- package/src/modules/auth/backend/roles/[id]/edit/page.tsx +4 -1
- package/src/modules/auth/backend/roles/page.tsx +3 -3
- package/src/modules/auth/backend/users/[id]/edit/page.tsx +22 -3
- package/src/modules/auth/backend/users/create/page.tsx +19 -2
- package/src/modules/auth/backend/users/page.tsx +3 -3
- package/src/modules/auth/cli.ts +38 -11
- package/src/modules/auth/commands/users.ts +73 -2
- package/src/modules/auth/data/validators.ts +6 -2
- package/src/modules/auth/frontend/login.tsx +134 -5
- package/src/modules/auth/frontend/reset/[token]/page.tsx +24 -11
- package/src/modules/auth/i18n/de.json +48 -1
- package/src/modules/auth/i18n/en.json +48 -1
- package/src/modules/auth/i18n/es.json +48 -1
- package/src/modules/auth/i18n/pl.json +48 -1
- package/src/modules/auth/lib/setup-app.ts +58 -9
- package/src/modules/auth/notifications.ts +109 -0
- package/src/modules/auth/services/authService.ts +27 -4
- package/src/modules/business_rules/api/execute/route.ts +8 -1
- package/src/modules/business_rules/backend/rules/page.tsx +4 -0
- package/src/modules/business_rules/backend/sets/page.tsx +3 -0
- package/src/modules/business_rules/cli.ts +2 -1
- package/src/modules/business_rules/data/validators.ts +0 -40
- package/src/modules/business_rules/i18n/en.json +3 -1
- package/src/modules/business_rules/index.ts +0 -25
- package/src/modules/business_rules/lib/__tests__/rule-engine.test.ts +51 -0
- package/src/modules/business_rules/lib/rule-engine.ts +51 -277
- package/src/modules/business_rules/notifications.ts +25 -0
- package/src/modules/business_rules/subscribers/rule-execution-failed-notification.ts +50 -0
- package/src/modules/catalog/components/PriceKindSettings.tsx +2 -0
- package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +2 -2
- package/src/modules/catalog/components/products/ProductsDataTable.tsx +2 -0
- package/src/modules/catalog/i18n/en.json +3 -1
- package/src/modules/catalog/notifications.ts +25 -0
- package/src/modules/catalog/subscribers/low-stock-notification.ts +52 -0
- package/src/modules/configs/cli.ts +6 -0
- package/src/modules/configs/components/CachePanel.tsx +4 -4
- package/src/modules/configs/i18n/en.json +12 -2
- package/src/modules/configs/i18n/pl.json +12 -2
- package/src/modules/configs/lib/system-status.ts +48 -1
- package/src/modules/configs/lib/system-status.types.ts +1 -0
- package/src/modules/configs/lib/upgrade-actions.ts +18 -0
- package/src/modules/currencies/backend/currencies/page.tsx +3 -0
- package/src/modules/currencies/backend/exchange-rates/page.tsx +2 -0
- package/src/modules/customers/backend/customers/companies/page.tsx +3 -0
- package/src/modules/customers/backend/customers/deals/page.tsx +3 -0
- package/src/modules/customers/backend/customers/people/page.tsx +3 -0
- package/src/modules/customers/commands/deals.ts +39 -0
- package/src/modules/customers/components/CustomerTodosTable.tsx +1 -0
- package/src/modules/customers/i18n/en.json +5 -1
- package/src/modules/customers/notifications.ts +44 -0
- package/src/modules/customers/widgets/dashboard/customer-todos/widget.ts +2 -2
- package/src/modules/customers/widgets/dashboard/new-customers/widget.ts +2 -2
- package/src/modules/customers/widgets/dashboard/new-deals/widget.ts +2 -2
- package/src/modules/customers/widgets/dashboard/next-interactions/widget.ts +2 -2
- package/src/modules/dashboards/cli.ts +55 -5
- package/src/modules/dashboards/components/WidgetVisibilityEditor.tsx +22 -11
- package/src/modules/dashboards/lib/role-widgets.ts +80 -0
- package/src/modules/dashboards/services/widgetDataService.ts +164 -4
- package/src/modules/dashboards/widgets/dashboard/aov-kpi/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/new-customers-kpi/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/orders-by-status/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/orders-kpi/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/pipeline-summary/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/revenue-kpi/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/revenue-trend/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/sales-by-region/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/top-customers/widget.ts +2 -2
- package/src/modules/dashboards/widgets/dashboard/top-products/widget.ts +2 -2
- package/src/modules/dictionaries/components/DictionaryTable.tsx +2 -0
- package/src/modules/directory/api/get/tenants/lookup.ts +75 -0
- package/src/modules/directory/backend/directory/organizations/page.tsx +2 -2
- package/src/modules/directory/backend/directory/tenants/page.tsx +2 -2
- package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +2 -2
- package/src/modules/entities/components/SystemEntitiesTable.tsx +1 -1
- package/src/modules/entities/components/UserEntitiesTable.tsx +2 -2
- package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +3 -4
- package/src/modules/feature_toggles/components/OverridesTable.tsx +1 -1
- package/src/modules/notifications/__tests__/deliver-notification.test.ts +195 -0
- package/src/modules/notifications/__tests__/deliveryStrategies.test.ts +19 -0
- package/src/modules/notifications/__tests__/notificationService.test.ts +208 -0
- package/src/modules/notifications/acl.ts +7 -0
- package/src/modules/notifications/api/[id]/action/route.ts +75 -0
- package/src/modules/notifications/api/[id]/dismiss/route.ts +12 -0
- package/src/modules/notifications/api/[id]/read/route.ts +12 -0
- package/src/modules/notifications/api/[id]/restore/route.ts +53 -0
- package/src/modules/notifications/api/batch/route.ts +14 -0
- package/src/modules/notifications/api/feature/route.ts +14 -0
- package/src/modules/notifications/api/mark-all-read/route.ts +34 -0
- package/src/modules/notifications/api/openapi.ts +76 -0
- package/src/modules/notifications/api/role/route.ts +14 -0
- package/src/modules/notifications/api/route.ts +92 -0
- package/src/modules/notifications/api/settings/route.ts +157 -0
- package/src/modules/notifications/api/unread-count/route.ts +38 -0
- package/src/modules/notifications/backend/config/notifications/page.meta.ts +22 -0
- package/src/modules/notifications/backend/config/notifications/page.tsx +12 -0
- package/src/modules/notifications/cli.ts +18 -0
- package/src/modules/notifications/data/entities.ts +99 -0
- package/src/modules/notifications/data/validators.ts +115 -0
- package/src/modules/notifications/di.ts +11 -0
- package/src/modules/notifications/emails/NotificationEmail.tsx +98 -0
- package/src/modules/notifications/frontend/NotificationInboxPageClient.tsx +42 -0
- package/src/modules/notifications/frontend/NotificationSettingsPageClient.tsx +233 -0
- package/src/modules/notifications/i18n/de.json +50 -0
- package/src/modules/notifications/i18n/en.json +50 -0
- package/src/modules/notifications/i18n/es.json +50 -0
- package/src/modules/notifications/i18n/pl.json +50 -0
- package/src/modules/notifications/index.ts +12 -0
- package/src/modules/notifications/lib/deliveryConfig.ts +153 -0
- package/src/modules/notifications/lib/deliveryStrategies.ts +50 -0
- package/src/modules/notifications/lib/events.ts +48 -0
- package/src/modules/notifications/lib/notificationBuilder.ts +121 -0
- package/src/modules/notifications/lib/notificationFactory.ts +76 -0
- package/src/modules/notifications/lib/notificationMapper.ts +33 -0
- package/src/modules/notifications/lib/notificationRecipients.ts +83 -0
- package/src/modules/notifications/lib/notificationService.ts +414 -0
- package/src/modules/notifications/lib/routeHelpers.ts +151 -0
- package/src/modules/notifications/lib/safeHref.ts +29 -0
- package/src/modules/notifications/migrations/.snapshot-open-mercato.json +336 -0
- package/src/modules/notifications/migrations/Migration20260123000001.ts +73 -0
- package/src/modules/notifications/migrations/Migration20260126150000.ts +39 -0
- package/src/modules/notifications/migrations/Migration20260129082610.ts +13 -0
- package/src/modules/notifications/subscribers/deliver-notification.ts +204 -0
- package/src/modules/notifications/workers/create-notification.worker.ts +122 -0
- package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +2 -2
- package/src/modules/query_index/cli.ts +82 -13
- package/src/modules/query_index/components/QueryIndexesTable.tsx +8 -2
- package/src/modules/resources/backend/resources/resource-types/page.tsx +2 -2
- package/src/modules/resources/backend/resources/resources/page.tsx +2 -2
- package/src/modules/sales/acl.ts +0 -1
- package/src/modules/sales/backend/sales/channels/offers/page.tsx +2 -0
- package/src/modules/sales/backend/sales/channels/page.tsx +2 -0
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
- package/src/modules/sales/commands/documents.ts +62 -70
- package/src/modules/sales/commands/payments.ts +33 -0
- package/src/modules/sales/components/AdjustmentKindSettings.tsx +2 -2
- package/src/modules/sales/components/PaymentMethodsSettings.tsx +2 -2
- package/src/modules/sales/components/ShippingMethodsSettings.tsx +2 -2
- package/src/modules/sales/components/TaxRatesSettings.tsx +2 -2
- package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +2 -0
- package/src/modules/sales/components/documents/AdjustmentsSection.tsx +2 -0
- package/src/modules/sales/components/documents/PaymentsSection.tsx +2 -1
- package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +2 -0
- package/src/modules/sales/i18n/de.json +20 -0
- package/src/modules/sales/i18n/en.json +25 -1
- package/src/modules/sales/i18n/es.json +20 -0
- package/src/modules/sales/i18n/pl.json +20 -0
- package/src/modules/sales/lib/dictionaries.ts +0 -3
- package/src/modules/sales/notifications.client.ts +65 -0
- package/src/modules/sales/notifications.ts +82 -0
- package/src/modules/sales/subscribers/quote-expiring-notification.ts +53 -0
- package/src/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.tsx +156 -0
- package/src/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.tsx +156 -0
- package/src/modules/sales/widgets/notifications/index.ts +2 -0
- package/src/modules/sales/widgets/notifications/useSalesDocumentTotals.ts +81 -0
- package/src/modules/staff/backend/staff/team-members/page.tsx +1 -1
- package/src/modules/staff/backend/staff/team-roles/page.tsx +2 -2
- package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +2 -2
- package/src/modules/staff/backend/staff/teams/page.tsx +2 -2
- package/src/modules/staff/commands/leave-requests.ts +94 -0
- package/src/modules/staff/i18n/de.json +4 -0
- package/src/modules/staff/i18n/en.json +9 -1
- package/src/modules/staff/i18n/es.json +4 -0
- package/src/modules/staff/i18n/pl.json +4 -0
- package/src/modules/staff/notifications.ts +71 -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/page.tsx +5 -0
- 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/instances/page.tsx +4 -1
- 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 +10 -6
- package/src/modules/workflows/cli.ts +12 -123
- 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 +3 -72
- 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 +8 -34
- package/src/modules/workflows/lib/start-validator.ts +28 -38
- package/src/modules/workflows/lib/transition-handler.ts +71 -212
- package/src/modules/workflows/notifications.ts +25 -0
- package/src/modules/workflows/subscribers/task-assigned-notification.ts +53 -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
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const injectionTable = {
|
|
2
|
-
// Inject the order approval widget into the sales order detail page
|
|
3
|
-
"sales.document.detail.order:details": [
|
|
4
|
-
{
|
|
5
|
-
widgetId: "workflows.injection.order-approval",
|
|
6
|
-
kind: "group",
|
|
7
|
-
column: 2,
|
|
8
|
-
groupLabel: "workflows.orderApproval.groupLabel",
|
|
9
|
-
groupDescription: "workflows.orderApproval.groupDescription",
|
|
10
|
-
priority: 200
|
|
11
|
-
}
|
|
12
|
-
]
|
|
13
|
-
};
|
|
14
|
-
var injection_table_default = injectionTable;
|
|
15
|
-
export {
|
|
16
|
-
injection_table_default as default,
|
|
17
|
-
injectionTable
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=injection-table.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/modules/workflows/widgets/injection-table.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ModuleInjectionTable } from '@open-mercato/shared/modules/widgets/injection'\n\n/**\n * Workflows module injection table\n * Maps injection spot IDs to widget IDs for automatic widget injection\n */\nexport const injectionTable: ModuleInjectionTable = {\n // Inject the order approval widget into the sales order detail page\n 'sales.document.detail.order:details': [\n {\n widgetId: 'workflows.injection.order-approval',\n kind: 'group',\n column: 2,\n groupLabel: 'workflows.orderApproval.groupLabel',\n groupDescription: 'workflows.orderApproval.groupDescription',\n priority: 200,\n },\n ],\n}\n\nexport default injectionTable\n"],
|
|
5
|
-
"mappings": "AAMO,MAAM,iBAAuC;AAAA;AAAA,EAElD,uCAAuC;AAAA,IACrC;AAAA,MACE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAEA,IAAO,0BAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const id = 'id'
|
|
2
|
-
export const name = 'name'
|
|
3
|
-
export const description = 'description'
|
|
4
|
-
export const workflow_definition_id = 'workflow_definition_id'
|
|
5
|
-
export const event_pattern = 'event_pattern'
|
|
6
|
-
export const config = 'config'
|
|
7
|
-
export const enabled = 'enabled'
|
|
8
|
-
export const priority = 'priority'
|
|
9
|
-
export const tenant_id = 'tenant_id'
|
|
10
|
-
export const organization_id = 'organization_id'
|
|
11
|
-
export const created_by = 'created_by'
|
|
12
|
-
export const updated_by = 'updated_by'
|
|
13
|
-
export const created_at = 'created_at'
|
|
14
|
-
export const updated_at = 'updated_at'
|
|
15
|
-
export const deleted_at = 'deleted_at'
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Auth Module Events
|
|
5
|
-
*
|
|
6
|
-
* Declares all events that can be emitted by the auth module.
|
|
7
|
-
*/
|
|
8
|
-
const events = [
|
|
9
|
-
// Users
|
|
10
|
-
{ id: 'auth.users.created', label: 'User Created', entity: 'users', category: 'crud' },
|
|
11
|
-
{ id: 'auth.users.updated', label: 'User Updated', entity: 'users', category: 'crud' },
|
|
12
|
-
{ id: 'auth.users.deleted', label: 'User Deleted', entity: 'users', category: 'crud' },
|
|
13
|
-
|
|
14
|
-
// Roles
|
|
15
|
-
{ id: 'auth.roles.created', label: 'Role Created', entity: 'roles', category: 'crud' },
|
|
16
|
-
{ id: 'auth.roles.updated', label: 'Role Updated', entity: 'roles', category: 'crud' },
|
|
17
|
-
{ id: 'auth.roles.deleted', label: 'Role Deleted', entity: 'roles', category: 'crud' },
|
|
18
|
-
|
|
19
|
-
// Authentication events
|
|
20
|
-
{ id: 'auth.login.success', label: 'Login Successful', category: 'lifecycle' },
|
|
21
|
-
{ id: 'auth.login.failed', label: 'Login Failed', category: 'lifecycle' },
|
|
22
|
-
{ id: 'auth.logout', label: 'User Logged Out', category: 'lifecycle' },
|
|
23
|
-
{ id: 'auth.password.changed', label: 'Password Changed', category: 'lifecycle' },
|
|
24
|
-
{ id: 'auth.password.reset.requested', label: 'Password Reset Requested', category: 'lifecycle' },
|
|
25
|
-
{ id: 'auth.password.reset.completed', label: 'Password Reset Completed', category: 'lifecycle' },
|
|
26
|
-
] as const
|
|
27
|
-
|
|
28
|
-
export const eventsConfig = createModuleEvents({
|
|
29
|
-
moduleId: 'auth',
|
|
30
|
-
events,
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
/** Type-safe event emitter for auth module */
|
|
34
|
-
export const emitAuthEvent = eventsConfig.emit
|
|
35
|
-
|
|
36
|
-
/** Event IDs that can be emitted by the auth module */
|
|
37
|
-
export type AuthEventId = typeof events[number]['id']
|
|
38
|
-
|
|
39
|
-
export default eventsConfig
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from 'next/server'
|
|
2
|
-
import { z } from 'zod'
|
|
3
|
-
import type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'
|
|
4
|
-
import { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'
|
|
5
|
-
import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
|
|
6
|
-
import type { EntityManager } from '@mikro-orm/postgresql'
|
|
7
|
-
import * as ruleEngine from '../../../lib/rule-engine'
|
|
8
|
-
|
|
9
|
-
const executeByIdRequestSchema = z.object({
|
|
10
|
-
data: z.any(),
|
|
11
|
-
dryRun: z.boolean().optional().default(false),
|
|
12
|
-
entityType: z.string().optional(),
|
|
13
|
-
entityId: z.string().optional(),
|
|
14
|
-
eventType: z.string().optional(),
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
const executeByIdResponseSchema = z.object({
|
|
18
|
-
success: z.boolean(),
|
|
19
|
-
ruleId: z.string(),
|
|
20
|
-
ruleName: z.string(),
|
|
21
|
-
conditionResult: z.boolean(),
|
|
22
|
-
actionsExecuted: z.object({
|
|
23
|
-
success: z.boolean(),
|
|
24
|
-
results: z.array(z.object({
|
|
25
|
-
type: z.string(),
|
|
26
|
-
success: z.boolean(),
|
|
27
|
-
error: z.string().optional(),
|
|
28
|
-
})),
|
|
29
|
-
}).nullable(),
|
|
30
|
-
executionTime: z.number(),
|
|
31
|
-
error: z.string().optional(),
|
|
32
|
-
logId: z.string().optional(),
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
const errorResponseSchema = z.object({
|
|
36
|
-
error: z.string(),
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
const routeMetadata = {
|
|
40
|
-
POST: { requireAuth: true, requireFeatures: ['business_rules.execute'] },
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const metadata = routeMetadata
|
|
44
|
-
|
|
45
|
-
interface RouteContext {
|
|
46
|
-
params: Promise<{ ruleId: string }>
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export async function POST(req: Request, context: RouteContext) {
|
|
50
|
-
const auth = await getAuthFromRequest(req)
|
|
51
|
-
if (!auth) {
|
|
52
|
-
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const params = await context.params
|
|
56
|
-
const ruleId = params.ruleId
|
|
57
|
-
|
|
58
|
-
if (!ruleId || !z.uuid().safeParse(ruleId).success) {
|
|
59
|
-
return NextResponse.json({ error: 'Invalid rule ID' }, { status: 400 })
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const container = await createRequestContainer()
|
|
63
|
-
const em = container.resolve('em') as EntityManager
|
|
64
|
-
|
|
65
|
-
let body: any
|
|
66
|
-
try {
|
|
67
|
-
body = await req.json()
|
|
68
|
-
} catch {
|
|
69
|
-
return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const parsed = executeByIdRequestSchema.safeParse(body)
|
|
73
|
-
if (!parsed.success) {
|
|
74
|
-
const errors = parsed.error.issues.map(e => `${e.path.join('.')}: ${e.message}`)
|
|
75
|
-
return NextResponse.json({ error: `Validation failed: ${errors.join(', ')}` }, { status: 400 })
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const { data, dryRun, entityType, entityId, eventType } = parsed.data
|
|
79
|
-
|
|
80
|
-
const execContext: ruleEngine.DirectRuleExecutionContext = {
|
|
81
|
-
ruleId,
|
|
82
|
-
data,
|
|
83
|
-
user: {
|
|
84
|
-
id: auth.sub,
|
|
85
|
-
email: auth.email,
|
|
86
|
-
role: (auth.role as string) ?? undefined,
|
|
87
|
-
},
|
|
88
|
-
tenantId: auth.tenantId ?? '',
|
|
89
|
-
organizationId: auth.orgId ?? '',
|
|
90
|
-
executedBy: auth.sub ?? auth.email ?? undefined,
|
|
91
|
-
dryRun,
|
|
92
|
-
entityType,
|
|
93
|
-
entityId,
|
|
94
|
-
eventType,
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
try {
|
|
98
|
-
const result = await ruleEngine.executeRuleById(em, execContext)
|
|
99
|
-
|
|
100
|
-
const response = {
|
|
101
|
-
success: result.success,
|
|
102
|
-
ruleId: result.ruleId,
|
|
103
|
-
ruleName: result.ruleName,
|
|
104
|
-
conditionResult: result.conditionResult,
|
|
105
|
-
actionsExecuted: result.actionsExecuted ? {
|
|
106
|
-
success: result.actionsExecuted.success,
|
|
107
|
-
results: result.actionsExecuted.results.map(ar => ({
|
|
108
|
-
type: ar.action.type,
|
|
109
|
-
success: ar.success,
|
|
110
|
-
error: ar.error,
|
|
111
|
-
})),
|
|
112
|
-
} : null,
|
|
113
|
-
executionTime: result.executionTime,
|
|
114
|
-
error: result.error,
|
|
115
|
-
logId: result.logId,
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Return appropriate status based on result
|
|
119
|
-
const status = result.success ? 200 : (result.error === 'Rule not found' ? 404 : 200)
|
|
120
|
-
return NextResponse.json(response, { status })
|
|
121
|
-
} catch (error) {
|
|
122
|
-
const errorMessage = error instanceof Error ? error.message : String(error)
|
|
123
|
-
return NextResponse.json(
|
|
124
|
-
{ error: `Rule execution failed: ${errorMessage}` },
|
|
125
|
-
{ status: 500 }
|
|
126
|
-
)
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export const openApi: OpenApiRouteDoc = {
|
|
131
|
-
tag: 'Business Rules',
|
|
132
|
-
summary: 'Execute a specific business rule by ID',
|
|
133
|
-
methods: {
|
|
134
|
-
POST: {
|
|
135
|
-
summary: 'Execute a specific rule by its database UUID',
|
|
136
|
-
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.',
|
|
137
|
-
pathParams: z.object({
|
|
138
|
-
ruleId: z.string().uuid().describe('The database UUID of the business rule to execute'),
|
|
139
|
-
}),
|
|
140
|
-
requestBody: {
|
|
141
|
-
contentType: 'application/json',
|
|
142
|
-
schema: executeByIdRequestSchema,
|
|
143
|
-
},
|
|
144
|
-
responses: [
|
|
145
|
-
{
|
|
146
|
-
status: 200,
|
|
147
|
-
description: 'Rule executed successfully',
|
|
148
|
-
schema: executeByIdResponseSchema,
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
status: 404,
|
|
152
|
-
description: 'Rule not found',
|
|
153
|
-
schema: errorResponseSchema,
|
|
154
|
-
},
|
|
155
|
-
],
|
|
156
|
-
errors: [
|
|
157
|
-
{ status: 400, description: 'Invalid request payload or rule ID', schema: errorResponseSchema },
|
|
158
|
-
{ status: 401, description: 'Unauthorized', schema: errorResponseSchema },
|
|
159
|
-
{ status: 500, description: 'Execution error', schema: errorResponseSchema },
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Catalog Module Events
|
|
5
|
-
*
|
|
6
|
-
* Declares all events that can be emitted by the catalog module.
|
|
7
|
-
*/
|
|
8
|
-
const events = [
|
|
9
|
-
// Products
|
|
10
|
-
{ id: 'catalog.product.created', label: 'Product Created', entity: 'product', category: 'crud' },
|
|
11
|
-
{ id: 'catalog.product.updated', label: 'Product Updated', entity: 'product', category: 'crud' },
|
|
12
|
-
{ id: 'catalog.product.deleted', label: 'Product Deleted', entity: 'product', category: 'crud' },
|
|
13
|
-
|
|
14
|
-
// Categories
|
|
15
|
-
{ id: 'catalog.category.created', label: 'Category Created', entity: 'category', category: 'crud' },
|
|
16
|
-
{ id: 'catalog.category.updated', label: 'Category Updated', entity: 'category', category: 'crud' },
|
|
17
|
-
{ id: 'catalog.category.deleted', label: 'Category Deleted', entity: 'category', category: 'crud' },
|
|
18
|
-
|
|
19
|
-
// Variants
|
|
20
|
-
{ id: 'catalog.variant.created', label: 'Variant Created', entity: 'variant', category: 'crud' },
|
|
21
|
-
{ id: 'catalog.variant.updated', label: 'Variant Updated', entity: 'variant', category: 'crud' },
|
|
22
|
-
{ id: 'catalog.variant.deleted', label: 'Variant Deleted', entity: 'variant', category: 'crud' },
|
|
23
|
-
|
|
24
|
-
// Prices
|
|
25
|
-
{ id: 'catalog.price.created', label: 'Price Created', entity: 'price', category: 'crud' },
|
|
26
|
-
{ id: 'catalog.price.updated', label: 'Price Updated', entity: 'price', category: 'crud' },
|
|
27
|
-
{ id: 'catalog.price.deleted', label: 'Price Deleted', entity: 'price', category: 'crud' },
|
|
28
|
-
|
|
29
|
-
// Lifecycle events - Pricing resolution
|
|
30
|
-
{ id: 'catalog.pricing.resolve.before', label: 'Before Pricing Resolve', category: 'lifecycle', excludeFromTriggers: true },
|
|
31
|
-
{ id: 'catalog.pricing.resolve.after', label: 'After Pricing Resolve', category: 'lifecycle', excludeFromTriggers: true },
|
|
32
|
-
] as const
|
|
33
|
-
|
|
34
|
-
export const eventsConfig = createModuleEvents({
|
|
35
|
-
moduleId: 'catalog',
|
|
36
|
-
events,
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
/** Type-safe event emitter for catalog module */
|
|
40
|
-
export const emitCatalogEvent = eventsConfig.emit
|
|
41
|
-
|
|
42
|
-
/** Event IDs that can be emitted by the catalog module */
|
|
43
|
-
export type CatalogEventId = typeof events[number]['id']
|
|
44
|
-
|
|
45
|
-
export default eventsConfig
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Customers Module Events
|
|
5
|
-
*
|
|
6
|
-
* Declares all events that can be emitted by the customers module.
|
|
7
|
-
*/
|
|
8
|
-
const events = [
|
|
9
|
-
// People
|
|
10
|
-
{ id: 'customers.people.created', label: 'Customer (Person) Created', entity: 'people', category: 'crud' },
|
|
11
|
-
{ id: 'customers.people.updated', label: 'Customer (Person) Updated', entity: 'people', category: 'crud' },
|
|
12
|
-
{ id: 'customers.people.deleted', label: 'Customer (Person) Deleted', entity: 'people', category: 'crud' },
|
|
13
|
-
|
|
14
|
-
// Companies
|
|
15
|
-
{ id: 'customers.companies.created', label: 'Customer (Company) Created', entity: 'companies', category: 'crud' },
|
|
16
|
-
{ id: 'customers.companies.updated', label: 'Customer (Company) Updated', entity: 'companies', category: 'crud' },
|
|
17
|
-
{ id: 'customers.companies.deleted', label: 'Customer (Company) Deleted', entity: 'companies', category: 'crud' },
|
|
18
|
-
|
|
19
|
-
// Deals
|
|
20
|
-
{ id: 'customers.deals.created', label: 'Deal Created', entity: 'deals', category: 'crud' },
|
|
21
|
-
{ id: 'customers.deals.updated', label: 'Deal Updated', entity: 'deals', category: 'crud' },
|
|
22
|
-
{ id: 'customers.deals.deleted', label: 'Deal Deleted', entity: 'deals', category: 'crud' },
|
|
23
|
-
|
|
24
|
-
// Comments
|
|
25
|
-
{ id: 'customers.comments.created', label: 'Comment Created', entity: 'comments', category: 'crud' },
|
|
26
|
-
{ id: 'customers.comments.updated', label: 'Comment Updated', entity: 'comments', category: 'crud' },
|
|
27
|
-
{ id: 'customers.comments.deleted', label: 'Comment Deleted', entity: 'comments', category: 'crud' },
|
|
28
|
-
|
|
29
|
-
// Addresses
|
|
30
|
-
{ id: 'customers.addresses.created', label: 'Address Created', entity: 'addresses', category: 'crud' },
|
|
31
|
-
{ id: 'customers.addresses.updated', label: 'Address Updated', entity: 'addresses', category: 'crud' },
|
|
32
|
-
{ id: 'customers.addresses.deleted', label: 'Address Deleted', entity: 'addresses', category: 'crud' },
|
|
33
|
-
|
|
34
|
-
// Activities
|
|
35
|
-
{ id: 'customers.activities.created', label: 'Activity Created', entity: 'activities', category: 'crud' },
|
|
36
|
-
{ id: 'customers.activities.updated', label: 'Activity Updated', entity: 'activities', category: 'crud' },
|
|
37
|
-
{ id: 'customers.activities.deleted', label: 'Activity Deleted', entity: 'activities', category: 'crud' },
|
|
38
|
-
|
|
39
|
-
// Tags
|
|
40
|
-
{ id: 'customers.tags.created', label: 'Tag Created', entity: 'tags', category: 'crud' },
|
|
41
|
-
{ id: 'customers.tags.updated', label: 'Tag Updated', entity: 'tags', category: 'crud' },
|
|
42
|
-
{ id: 'customers.tags.deleted', label: 'Tag Deleted', entity: 'tags', category: 'crud' },
|
|
43
|
-
{ id: 'customers.tags.assigned', label: 'Tag Assigned', entity: 'tags', category: 'crud' },
|
|
44
|
-
{ id: 'customers.tags.removed', label: 'Tag Removed', entity: 'tags', category: 'crud' },
|
|
45
|
-
|
|
46
|
-
// Todos
|
|
47
|
-
{ id: 'customers.todos.created', label: 'Todo Created', entity: 'todos', category: 'crud' },
|
|
48
|
-
{ id: 'customers.todos.updated', label: 'Todo Updated', entity: 'todos', category: 'crud' },
|
|
49
|
-
{ id: 'customers.todos.deleted', label: 'Todo Deleted', entity: 'todos', category: 'crud' },
|
|
50
|
-
] as const
|
|
51
|
-
|
|
52
|
-
export const eventsConfig = createModuleEvents({
|
|
53
|
-
moduleId: 'customers',
|
|
54
|
-
events,
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
/** Type-safe event emitter for customers module */
|
|
58
|
-
export const emitCustomersEvent = eventsConfig.emit
|
|
59
|
-
|
|
60
|
-
/** Event IDs that can be emitted by the customers module */
|
|
61
|
-
export type CustomersEventId = typeof events[number]['id']
|
|
62
|
-
|
|
63
|
-
export default eventsConfig
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Directory Module Events
|
|
5
|
-
*
|
|
6
|
-
* Declares all events that can be emitted by the directory module.
|
|
7
|
-
*/
|
|
8
|
-
const events = [
|
|
9
|
-
// Tenants
|
|
10
|
-
{ id: 'directory.tenants.created', label: 'Tenant Created', entity: 'tenants', category: 'crud' },
|
|
11
|
-
{ id: 'directory.tenants.updated', label: 'Tenant Updated', entity: 'tenants', category: 'crud' },
|
|
12
|
-
{ id: 'directory.tenants.deleted', label: 'Tenant Deleted', entity: 'tenants', category: 'crud' },
|
|
13
|
-
|
|
14
|
-
// Organizations
|
|
15
|
-
{ id: 'directory.organizations.created', label: 'Organization Created', entity: 'organizations', category: 'crud' },
|
|
16
|
-
{ id: 'directory.organizations.updated', label: 'Organization Updated', entity: 'organizations', category: 'crud' },
|
|
17
|
-
{ id: 'directory.organizations.deleted', label: 'Organization Deleted', entity: 'organizations', category: 'crud' },
|
|
18
|
-
] as const
|
|
19
|
-
|
|
20
|
-
export const eventsConfig = createModuleEvents({
|
|
21
|
-
moduleId: 'directory',
|
|
22
|
-
events,
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
/** Type-safe event emitter for directory module */
|
|
26
|
-
export const emitDirectoryEvent = eventsConfig.emit
|
|
27
|
-
|
|
28
|
-
/** Event IDs that can be emitted by the directory module */
|
|
29
|
-
export type DirectoryEventId = typeof events[number]['id']
|
|
30
|
-
|
|
31
|
-
export default eventsConfig
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Sales Module Events
|
|
5
|
-
*
|
|
6
|
-
* Declares all events that can be emitted by the sales module.
|
|
7
|
-
*/
|
|
8
|
-
const events = [
|
|
9
|
-
// Orders
|
|
10
|
-
{ id: 'sales.orders.created', label: 'Sales Order Created', entity: 'orders', category: 'crud' },
|
|
11
|
-
{ id: 'sales.orders.updated', label: 'Sales Order Updated', entity: 'orders', category: 'crud' },
|
|
12
|
-
{ id: 'sales.orders.deleted', label: 'Sales Order Deleted', entity: 'orders', category: 'crud' },
|
|
13
|
-
|
|
14
|
-
// Quotes
|
|
15
|
-
{ id: 'sales.quotes.created', label: 'Quote Created', entity: 'quotes', category: 'crud' },
|
|
16
|
-
{ id: 'sales.quotes.updated', label: 'Quote Updated', entity: 'quotes', category: 'crud' },
|
|
17
|
-
{ id: 'sales.quotes.deleted', label: 'Quote Deleted', entity: 'quotes', category: 'crud' },
|
|
18
|
-
|
|
19
|
-
// Invoices
|
|
20
|
-
{ id: 'sales.invoices.created', label: 'Invoice Created', entity: 'invoices', category: 'crud' },
|
|
21
|
-
{ id: 'sales.invoices.updated', label: 'Invoice Updated', entity: 'invoices', category: 'crud' },
|
|
22
|
-
{ id: 'sales.invoices.deleted', label: 'Invoice Deleted', entity: 'invoices', category: 'crud' },
|
|
23
|
-
|
|
24
|
-
// Order Lines
|
|
25
|
-
{ id: 'sales.lines.created', label: 'Order Line Created', entity: 'lines', category: 'crud' },
|
|
26
|
-
{ id: 'sales.lines.updated', label: 'Order Line Updated', entity: 'lines', category: 'crud' },
|
|
27
|
-
{ id: 'sales.lines.deleted', label: 'Order Line Deleted', entity: 'lines', category: 'crud' },
|
|
28
|
-
|
|
29
|
-
// Payments
|
|
30
|
-
{ id: 'sales.payments.created', label: 'Payment Created', entity: 'payments', category: 'crud' },
|
|
31
|
-
{ id: 'sales.payments.updated', label: 'Payment Updated', entity: 'payments', category: 'crud' },
|
|
32
|
-
{ id: 'sales.payments.deleted', label: 'Payment Deleted', entity: 'payments', category: 'crud' },
|
|
33
|
-
|
|
34
|
-
// Shipments
|
|
35
|
-
{ id: 'sales.shipments.created', label: 'Shipment Created', entity: 'shipments', category: 'crud' },
|
|
36
|
-
{ id: 'sales.shipments.updated', label: 'Shipment Updated', entity: 'shipments', category: 'crud' },
|
|
37
|
-
{ id: 'sales.shipments.deleted', label: 'Shipment Deleted', entity: 'shipments', category: 'crud' },
|
|
38
|
-
|
|
39
|
-
// Notes
|
|
40
|
-
{ id: 'sales.notes.created', label: 'Note Created', entity: 'notes', category: 'crud' },
|
|
41
|
-
{ id: 'sales.notes.updated', label: 'Note Updated', entity: 'notes', category: 'crud' },
|
|
42
|
-
{ id: 'sales.notes.deleted', label: 'Note Deleted', entity: 'notes', category: 'crud' },
|
|
43
|
-
|
|
44
|
-
// Configuration
|
|
45
|
-
{ id: 'sales.configuration.created', label: 'Configuration Created', entity: 'configuration', category: 'crud' },
|
|
46
|
-
{ id: 'sales.configuration.updated', label: 'Configuration Updated', entity: 'configuration', category: 'crud' },
|
|
47
|
-
{ id: 'sales.configuration.deleted', label: 'Configuration Deleted', entity: 'configuration', category: 'crud' },
|
|
48
|
-
|
|
49
|
-
// Lifecycle events - Document calculations
|
|
50
|
-
{ id: 'sales.document.totals.calculated', label: 'Document Totals Calculated', category: 'lifecycle' },
|
|
51
|
-
{ id: 'sales.document.calculate.before', label: 'Before Document Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
52
|
-
{ id: 'sales.document.calculate.after', label: 'After Document Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
53
|
-
|
|
54
|
-
// Lifecycle events - Line calculations
|
|
55
|
-
{ id: 'sales.line.calculate.before', label: 'Before Line Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
56
|
-
{ id: 'sales.line.calculate.after', label: 'After Line Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
57
|
-
|
|
58
|
-
// Lifecycle events - Tax calculations
|
|
59
|
-
{ id: 'sales.tax.calculate.before', label: 'Before Tax Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
60
|
-
{ id: 'sales.tax.calculate.after', label: 'After Tax Calculate', category: 'lifecycle', excludeFromTriggers: true },
|
|
61
|
-
|
|
62
|
-
// Lifecycle events - Shipping adjustments
|
|
63
|
-
{ id: 'sales.shipping.adjustments.apply.before', label: 'Before Shipping Adjustments', category: 'lifecycle', excludeFromTriggers: true },
|
|
64
|
-
{ id: 'sales.shipping.adjustments.apply.after', label: 'After Shipping Adjustments', category: 'lifecycle', excludeFromTriggers: true },
|
|
65
|
-
|
|
66
|
-
// Lifecycle events - Payment adjustments
|
|
67
|
-
{ id: 'sales.payment.adjustments.apply.before', label: 'Before Payment Adjustments', category: 'lifecycle', excludeFromTriggers: true },
|
|
68
|
-
{ id: 'sales.payment.adjustments.apply.after', label: 'After Payment Adjustments', category: 'lifecycle', excludeFromTriggers: true },
|
|
69
|
-
] as const
|
|
70
|
-
|
|
71
|
-
export const eventsConfig = createModuleEvents({
|
|
72
|
-
moduleId: 'sales',
|
|
73
|
-
events,
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
/** Type-safe event emitter for sales module */
|
|
77
|
-
export const emitSalesEvent = eventsConfig.emit
|
|
78
|
-
|
|
79
|
-
/** Event IDs that can be emitted by the sales module */
|
|
80
|
-
export type SalesEventId = typeof events[number]['id']
|
|
81
|
-
|
|
82
|
-
export default eventsConfig
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
export const SALES_DOCUMENT_DATA_REFRESH_EVENT = 'sales:document:data:refresh'
|
|
4
|
-
|
|
5
|
-
export type SalesDocumentDataRefreshDetail = {
|
|
6
|
-
documentId: string
|
|
7
|
-
kind?: 'order' | 'quote'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function emitSalesDocumentDataRefresh(detail: SalesDocumentDataRefreshDetail): void {
|
|
11
|
-
if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return
|
|
12
|
-
window.dispatchEvent(
|
|
13
|
-
new CustomEvent<SalesDocumentDataRefreshDetail>(SALES_DOCUMENT_DATA_REFRESH_EVENT, { detail }),
|
|
14
|
-
)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function subscribeSalesDocumentDataRefresh(
|
|
18
|
-
handler: (detail: SalesDocumentDataRefreshDetail) => void,
|
|
19
|
-
): () => void {
|
|
20
|
-
if (typeof window === 'undefined') return () => {}
|
|
21
|
-
const listener = (event: Event) => {
|
|
22
|
-
const detail = (event as CustomEvent<SalesDocumentDataRefreshDetail>).detail
|
|
23
|
-
if (!detail) return
|
|
24
|
-
handler(detail)
|
|
25
|
-
}
|
|
26
|
-
window.addEventListener(SALES_DOCUMENT_DATA_REFRESH_EVENT, listener as EventListener)
|
|
27
|
-
return () => window.removeEventListener(SALES_DOCUMENT_DATA_REFRESH_EVENT, listener as EventListener)
|
|
28
|
-
}
|