@open-mercato/core 0.6.6-develop.6094.1.28b081ea16 → 0.6.6-develop.6126.1.0b9392fdae
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/.turbo/turbo-build.log +1 -1
- package/dist/generated/entities/catalog_product/index.js +52 -0
- package/dist/generated/entities/catalog_product/index.js.map +2 -2
- package/dist/generated/entities/catalog_product_variant/index.js +4 -0
- package/dist/generated/entities/catalog_product_variant/index.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +28 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/catalog/api/products/route.js +103 -33
- package/dist/modules/catalog/api/products/route.js.map +2 -2
- package/dist/modules/catalog/api/variants/route.js +4 -0
- package/dist/modules/catalog/api/variants/route.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js +46 -2
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js +4 -0
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/create/page.js +2 -0
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/create/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/create/page.js +42 -2
- package/dist/modules/catalog/backend/catalog/products/create/page.js.map +2 -2
- package/dist/modules/catalog/commands/products.js +251 -14
- package/dist/modules/catalog/commands/products.js.map +2 -2
- package/dist/modules/catalog/commands/variants.js +72 -1
- package/dist/modules/catalog/commands/variants.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductComplianceSection.js +500 -0
- package/dist/modules/catalog/components/products/ProductComplianceSection.js.map +7 -0
- package/dist/modules/catalog/components/products/VariantBuilder.js +39 -1
- package/dist/modules/catalog/components/products/VariantBuilder.js.map +2 -2
- package/dist/modules/catalog/components/products/productForm.js +164 -2
- package/dist/modules/catalog/components/products/productForm.js.map +2 -2
- package/dist/modules/catalog/components/products/variantForm.js +2 -0
- package/dist/modules/catalog/components/products/variantForm.js.map +2 -2
- package/dist/modules/catalog/data/entities.js +93 -0
- package/dist/modules/catalog/data/entities.js.map +2 -2
- package/dist/modules/catalog/data/types.js +28 -0
- package/dist/modules/catalog/data/types.js.map +2 -2
- package/dist/modules/catalog/data/validators.js +100 -5
- package/dist/modules/catalog/data/validators.js.map +2 -2
- package/dist/modules/catalog/lib/gtin.js +61 -0
- package/dist/modules/catalog/lib/gtin.js.map +7 -0
- package/dist/modules/catalog/migrations/Migration20260611090000.js +17 -0
- package/dist/modules/catalog/migrations/Migration20260611090000.js.map +7 -0
- package/dist/modules/catalog/translations.js +1 -1
- package/dist/modules/catalog/translations.js.map +2 -2
- package/dist/modules/configs/api/cache/route.js +60 -10
- package/dist/modules/configs/api/cache/route.js.map +3 -3
- package/dist/modules/configs/components/CachePanel.js +52 -29
- package/dist/modules/configs/components/CachePanel.js.map +2 -2
- package/dist/modules/currencies/api/currencies/options/route.js +18 -4
- package/dist/modules/currencies/api/currencies/options/route.js.map +2 -2
- package/dist/modules/currencies/services/rateFetchingService.js +35 -18
- package/dist/modules/currencies/services/rateFetchingService.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js +16 -16
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +1 -1
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
- package/dist/modules/customers/backend/calendar/page.js +10 -0
- package/dist/modules/customers/backend/calendar/page.js.map +7 -0
- package/dist/modules/customers/backend/calendar/page.meta.js +25 -0
- package/dist/modules/customers/backend/calendar/page.meta.js.map +7 -0
- package/dist/modules/customers/cli.js +1 -0
- package/dist/modules/customers/cli.js.map +2 -2
- package/dist/modules/customers/components/calendar/AgendaList.js +182 -0
- package/dist/modules/customers/components/calendar/AgendaList.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js +331 -0
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarFooter.js +48 -0
- package/dist/modules/customers/components/calendar/CalendarFooter.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarHeader.js +36 -0
- package/dist/modules/customers/components/calendar/CalendarHeader.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarScreen.js +516 -0
- package/dist/modules/customers/components/calendar/CalendarScreen.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js +163 -0
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarTabs.js +60 -0
- package/dist/modules/customers/components/calendar/CalendarTabs.js.map +7 -0
- package/dist/modules/customers/components/calendar/CalendarToolbar.js +262 -0
- package/dist/modules/customers/components/calendar/CalendarToolbar.js.map +7 -0
- package/dist/modules/customers/components/calendar/EventBlock.js +149 -0
- package/dist/modules/customers/components/calendar/EventBlock.js.map +7 -0
- package/dist/modules/customers/components/calendar/EventPeekPopover.js +72 -0
- package/dist/modules/customers/components/calendar/EventPeekPopover.js.map +7 -0
- package/dist/modules/customers/components/calendar/MonthGrid.js +214 -0
- package/dist/modules/customers/components/calendar/MonthGrid.js.map +7 -0
- package/dist/modules/customers/components/calendar/ShortcutsDialog.js +44 -0
- package/dist/modules/customers/components/calendar/ShortcutsDialog.js.map +7 -0
- package/dist/modules/customers/components/calendar/TimeGrid.js +410 -0
- package/dist/modules/customers/components/calendar/TimeGrid.js.map +7 -0
- package/dist/modules/customers/components/calendar/UpcomingCards.js +175 -0
- package/dist/modules/customers/components/calendar/UpcomingCards.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/CategoryField.js +75 -0
- package/dist/modules/customers/components/calendar/editor/CategoryField.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/LocationField.js +30 -0
- package/dist/modules/customers/components/calendar/editor/LocationField.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/PeopleField.js +135 -0
- package/dist/modules/customers/components/calendar/editor/PeopleField.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/RelatedToField.js +218 -0
- package/dist/modules/customers/components/calendar/editor/RelatedToField.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/RepeatField.js +119 -0
- package/dist/modules/customers/components/calendar/editor/RepeatField.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/ScheduleSection.js +83 -0
- package/dist/modules/customers/components/calendar/editor/ScheduleSection.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/SegmentGroup.js +44 -0
- package/dist/modules/customers/components/calendar/editor/SegmentGroup.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/hooks.js +132 -0
- package/dist/modules/customers/components/calendar/editor/hooks.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/inputs.js +160 -0
- package/dist/modules/customers/components/calendar/editor/inputs.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/lookups.js +107 -0
- package/dist/modules/customers/components/calendar/editor/lookups.js.map +7 -0
- package/dist/modules/customers/components/calendar/types.js +30 -0
- package/dist/modules/customers/components/calendar/types.js.map +7 -0
- package/dist/modules/customers/components/calendar/useCalendarItems.js +131 -0
- package/dist/modules/customers/components/calendar/useCalendarItems.js.map +7 -0
- package/dist/modules/customers/components/calendar/useCalendarPreferences.js +41 -0
- package/dist/modules/customers/components/calendar/useCalendarPreferences.js.map +7 -0
- package/dist/modules/customers/lib/calendar/categories.js +28 -0
- package/dist/modules/customers/lib/calendar/categories.js.map +7 -0
- package/dist/modules/customers/lib/calendar/conflicts.js +72 -0
- package/dist/modules/customers/lib/calendar/conflicts.js.map +7 -0
- package/dist/modules/customers/lib/calendar/editorPayload.js +271 -0
- package/dist/modules/customers/lib/calendar/editorPayload.js.map +7 -0
- package/dist/modules/customers/lib/calendar/grid.js +48 -0
- package/dist/modules/customers/lib/calendar/grid.js.map +7 -0
- package/dist/modules/customers/lib/calendar/layout.js +39 -0
- package/dist/modules/customers/lib/calendar/layout.js.map +7 -0
- package/dist/modules/customers/lib/calendar/mapItem.js +79 -0
- package/dist/modules/customers/lib/calendar/mapItem.js.map +7 -0
- package/dist/modules/customers/lib/calendar/preferences.js +71 -0
- package/dist/modules/customers/lib/calendar/preferences.js.map +7 -0
- package/dist/modules/customers/lib/calendar/range.js +46 -0
- package/dist/modules/customers/lib/calendar/range.js.map +7 -0
- package/dist/modules/customers/lib/calendar/recurrence.js +113 -0
- package/dist/modules/customers/lib/calendar/recurrence.js.map +7 -0
- package/dist/modules/dashboards/services/widgetDataService.js +5 -5
- package/dist/modules/dashboards/services/widgetDataService.js.map +2 -2
- package/dist/modules/dictionaries/api/[dictionaryId]/entries/[entryId]/route.js +61 -1
- package/dist/modules/dictionaries/api/[dictionaryId]/entries/[entryId]/route.js.map +2 -2
- package/dist/modules/dictionaries/api/[dictionaryId]/entries/route.js +33 -1
- package/dist/modules/dictionaries/api/[dictionaryId]/entries/route.js.map +2 -2
- package/dist/modules/dictionaries/api/[dictionaryId]/route.js +61 -1
- package/dist/modules/dictionaries/api/[dictionaryId]/route.js.map +2 -2
- package/dist/modules/dictionaries/api/route.js +33 -1
- package/dist/modules/dictionaries/api/route.js.map +2 -2
- package/dist/modules/feature_toggles/lib/queries.js +36 -52
- package/dist/modules/feature_toggles/lib/queries.js.map +2 -2
- package/dist/modules/perspectives/api/[tableId]/[perspectiveId]/route.js +32 -1
- package/dist/modules/perspectives/api/[tableId]/[perspectiveId]/route.js.map +2 -2
- package/dist/modules/perspectives/api/[tableId]/roles/[roleId]/route.js +32 -1
- package/dist/modules/perspectives/api/[tableId]/roles/[roleId]/route.js.map +2 -2
- package/dist/modules/perspectives/api/[tableId]/route.js +73 -2
- package/dist/modules/perspectives/api/[tableId]/route.js.map +2 -2
- package/dist/modules/perspectives/services/perspectiveService.js +5 -3
- package/dist/modules/perspectives/services/perspectiveService.js.map +2 -2
- package/dist/modules/planner/api/access.js +9 -0
- package/dist/modules/planner/api/access.js.map +2 -2
- package/dist/modules/planner/api/availability-date-specific.js +22 -1
- package/dist/modules/planner/api/availability-date-specific.js.map +2 -2
- package/dist/modules/planner/api/availability-weekly.js +22 -1
- package/dist/modules/planner/api/availability-weekly.js.map +2 -2
- package/dist/modules/resources/api/resources/tags/assign/route.js +39 -0
- package/dist/modules/resources/api/resources/tags/assign/route.js.map +2 -2
- package/dist/modules/resources/api/resources/tags/unassign/route.js +39 -0
- package/dist/modules/resources/api/resources/tags/unassign/route.js.map +2 -2
- package/dist/modules/sales/api/settings/document-numbers/route.js +33 -1
- package/dist/modules/sales/api/settings/document-numbers/route.js.map +2 -2
- package/dist/modules/sales/api/settings/order-editing/route.js +35 -3
- package/dist/modules/sales/api/settings/order-editing/route.js.map +2 -2
- package/dist/modules/staff/api/leave-requests/accept/route.js +41 -0
- package/dist/modules/staff/api/leave-requests/accept/route.js.map +2 -2
- package/dist/modules/staff/api/leave-requests/reject/route.js +41 -0
- package/dist/modules/staff/api/leave-requests/reject/route.js.map +2 -2
- package/dist/modules/staff/api/team-members/self/route.js +40 -0
- package/dist/modules/staff/api/team-members/self/route.js.map +2 -2
- package/dist/modules/staff/api/team-members/tags/assign/route.js +41 -0
- package/dist/modules/staff/api/team-members/tags/assign/route.js.map +2 -2
- package/dist/modules/staff/api/team-members/tags/unassign/route.js +41 -0
- package/dist/modules/staff/api/team-members/tags/unassign/route.js.map +2 -2
- package/dist/modules/translations/api/[entityType]/[entityId]/route.js +61 -1
- package/dist/modules/translations/api/[entityType]/[entityId]/route.js.map +2 -2
- package/dist/modules/translations/api/context.js +7 -0
- package/dist/modules/translations/api/context.js.map +2 -2
- package/dist/modules/translations/api/put/locales.js +33 -1
- package/dist/modules/translations/api/put/locales.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +6 -7
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/backend/instances/[id]/page.js.map +1 -1
- package/dist/modules/workflows/components/EdgeEditDialog.js.map +1 -1
- package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js.map +1 -1
- package/dist/modules/workflows/components/NodeEditDialog.js.map +1 -1
- package/dist/modules/workflows/components/NodeEditDialogCrudForm.js.map +1 -1
- package/dist/modules/workflows/components/WorkflowGraph.js.map +1 -1
- package/dist/modules/workflows/components/WorkflowGraphImpl.js +17 -9
- package/dist/modules/workflows/components/WorkflowGraphImpl.js.map +2 -2
- package/dist/modules/workflows/components/mobile/MobileVisualEditor.js.map +1 -1
- package/dist/modules/workflows/frontend/checkout-demo/deriveCurrentStep.js +8 -0
- package/dist/modules/workflows/frontend/checkout-demo/deriveCurrentStep.js.map +7 -0
- package/dist/modules/workflows/frontend/checkout-demo/page.js +2 -20
- package/dist/modules/workflows/frontend/checkout-demo/page.js.map +2 -2
- package/dist/modules/workflows/lib/graph-utils.js +8 -0
- package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
- package/generated/entities/catalog_product/index.ts +26 -0
- package/generated/entities/catalog_product_variant/index.ts +2 -0
- package/generated/entity-fields-registry.ts +28 -0
- package/package.json +7 -7
- package/src/modules/catalog/api/products/route.ts +123 -39
- package/src/modules/catalog/api/variants/route.ts +4 -0
- package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +43 -0
- package/src/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.tsx +14 -0
- package/src/modules/catalog/backend/catalog/products/[productId]/variants/create/page.tsx +2 -0
- package/src/modules/catalog/backend/catalog/products/create/page.tsx +41 -0
- package/src/modules/catalog/commands/products.ts +307 -2
- package/src/modules/catalog/commands/variants.ts +90 -1
- package/src/modules/catalog/components/products/ProductComplianceSection.tsx +497 -0
- package/src/modules/catalog/components/products/VariantBuilder.tsx +43 -0
- package/src/modules/catalog/components/products/productForm.ts +262 -0
- package/src/modules/catalog/components/products/variantForm.ts +4 -0
- package/src/modules/catalog/data/entities.ts +97 -0
- package/src/modules/catalog/data/types.ts +36 -0
- package/src/modules/catalog/data/validators.ts +159 -3
- package/src/modules/catalog/i18n/de.json +64 -0
- package/src/modules/catalog/i18n/en.json +64 -0
- package/src/modules/catalog/i18n/es.json +64 -0
- package/src/modules/catalog/i18n/pl.json +64 -0
- package/src/modules/catalog/lib/gtin.ts +66 -0
- package/src/modules/catalog/migrations/.snapshot-open-mercato.json +457 -0
- package/src/modules/catalog/migrations/Migration20260611090000.ts +17 -0
- package/src/modules/catalog/translations.ts +1 -1
- package/src/modules/configs/api/cache/route.ts +72 -10
- package/src/modules/configs/components/CachePanel.tsx +59 -29
- package/src/modules/currencies/api/currencies/options/route.ts +22 -4
- package/src/modules/currencies/services/rateFetchingService.ts +63 -26
- package/src/modules/customer_accounts/backend/customer_accounts/users/[id]/page.tsx +18 -18
- package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +1 -1
- package/src/modules/customer_accounts/i18n/de.json +1 -1
- package/src/modules/customer_accounts/i18n/en.json +1 -1
- package/src/modules/customer_accounts/i18n/es.json +1 -1
- package/src/modules/customer_accounts/i18n/pl.json +1 -1
- package/src/modules/customers/backend/calendar/page.meta.ts +23 -0
- package/src/modules/customers/backend/calendar/page.tsx +12 -0
- package/src/modules/customers/cli.ts +1 -0
- package/src/modules/customers/components/calendar/AgendaList.tsx +219 -0
- package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +386 -0
- package/src/modules/customers/components/calendar/CalendarFooter.tsx +61 -0
- package/src/modules/customers/components/calendar/CalendarHeader.tsx +40 -0
- package/src/modules/customers/components/calendar/CalendarScreen.tsx +590 -0
- package/src/modules/customers/components/calendar/CalendarSettingsModal.tsx +207 -0
- package/src/modules/customers/components/calendar/CalendarTabs.tsx +63 -0
- package/src/modules/customers/components/calendar/CalendarToolbar.tsx +295 -0
- package/src/modules/customers/components/calendar/EventBlock.tsx +205 -0
- package/src/modules/customers/components/calendar/EventPeekPopover.tsx +100 -0
- package/src/modules/customers/components/calendar/MonthGrid.tsx +236 -0
- package/src/modules/customers/components/calendar/ShortcutsDialog.tsx +57 -0
- package/src/modules/customers/components/calendar/TimeGrid.tsx +510 -0
- package/src/modules/customers/components/calendar/UpcomingCards.tsx +220 -0
- package/src/modules/customers/components/calendar/editor/CategoryField.tsx +79 -0
- package/src/modules/customers/components/calendar/editor/LocationField.tsx +37 -0
- package/src/modules/customers/components/calendar/editor/PeopleField.tsx +148 -0
- package/src/modules/customers/components/calendar/editor/RelatedToField.tsx +242 -0
- package/src/modules/customers/components/calendar/editor/RepeatField.tsx +132 -0
- package/src/modules/customers/components/calendar/editor/ScheduleSection.tsx +110 -0
- package/src/modules/customers/components/calendar/editor/SegmentGroup.tsx +50 -0
- package/src/modules/customers/components/calendar/editor/hooks.ts +162 -0
- package/src/modules/customers/components/calendar/editor/inputs.tsx +158 -0
- package/src/modules/customers/components/calendar/editor/lookups.ts +160 -0
- package/src/modules/customers/components/calendar/types.ts +163 -0
- package/src/modules/customers/components/calendar/useCalendarItems.ts +162 -0
- package/src/modules/customers/components/calendar/useCalendarPreferences.ts +52 -0
- package/src/modules/customers/i18n/de.json +195 -0
- package/src/modules/customers/i18n/en.json +195 -0
- package/src/modules/customers/i18n/es.json +195 -0
- package/src/modules/customers/i18n/pl.json +195 -0
- package/src/modules/customers/lib/calendar/categories.ts +26 -0
- package/src/modules/customers/lib/calendar/conflicts.ts +117 -0
- package/src/modules/customers/lib/calendar/editorPayload.ts +388 -0
- package/src/modules/customers/lib/calendar/grid.ts +50 -0
- package/src/modules/customers/lib/calendar/layout.ts +47 -0
- package/src/modules/customers/lib/calendar/mapItem.ts +94 -0
- package/src/modules/customers/lib/calendar/preferences.ts +95 -0
- package/src/modules/customers/lib/calendar/range.ts +45 -0
- package/src/modules/customers/lib/calendar/recurrence.ts +137 -0
- package/src/modules/dashboards/services/widgetDataService.ts +8 -6
- package/src/modules/dictionaries/api/[dictionaryId]/entries/[entryId]/route.ts +61 -1
- package/src/modules/dictionaries/api/[dictionaryId]/entries/route.ts +33 -1
- package/src/modules/dictionaries/api/[dictionaryId]/route.ts +65 -1
- package/src/modules/dictionaries/api/route.ts +36 -1
- package/src/modules/feature_toggles/lib/queries.ts +41 -60
- package/src/modules/perspectives/api/[tableId]/[perspectiveId]/route.ts +34 -1
- package/src/modules/perspectives/api/[tableId]/roles/[roleId]/route.ts +34 -1
- package/src/modules/perspectives/api/[tableId]/route.ts +107 -32
- package/src/modules/perspectives/services/perspectiveService.ts +9 -5
- package/src/modules/planner/api/access.ts +9 -0
- package/src/modules/planner/api/availability-date-specific.ts +22 -1
- package/src/modules/planner/api/availability-weekly.ts +22 -1
- package/src/modules/resources/api/resources/tags/assign/route.ts +42 -0
- package/src/modules/resources/api/resources/tags/unassign/route.ts +42 -0
- package/src/modules/sales/api/settings/document-numbers/route.ts +35 -1
- package/src/modules/sales/api/settings/order-editing/route.ts +37 -3
- package/src/modules/staff/api/leave-requests/accept/route.ts +45 -0
- package/src/modules/staff/api/leave-requests/reject/route.ts +45 -0
- package/src/modules/staff/api/team-members/self/route.ts +43 -0
- package/src/modules/staff/api/team-members/tags/assign/route.ts +45 -0
- package/src/modules/staff/api/team-members/tags/unassign/route.ts +45 -0
- package/src/modules/translations/api/[entityType]/[entityId]/route.ts +65 -1
- package/src/modules/translations/api/context.ts +7 -0
- package/src/modules/translations/api/put/locales.ts +35 -1
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +11 -9
- package/src/modules/workflows/backend/instances/[id]/page.tsx +1 -1
- package/src/modules/workflows/components/EdgeEditDialog.tsx +1 -1
- package/src/modules/workflows/components/EdgeEditDialogCrudForm.tsx +1 -1
- package/src/modules/workflows/components/NodeEditDialog.tsx +1 -1
- package/src/modules/workflows/components/NodeEditDialogCrudForm.tsx +1 -1
- package/src/modules/workflows/components/WorkflowGraph.tsx +2 -2
- package/src/modules/workflows/components/WorkflowGraphImpl.tsx +27 -13
- package/src/modules/workflows/components/mobile/MobileVisualEditor.tsx +3 -3
- package/src/modules/workflows/frontend/checkout-demo/deriveCurrentStep.ts +12 -0
- package/src/modules/workflows/frontend/checkout-demo/page.tsx +3 -23
- package/src/modules/workflows/lib/graph-utils.ts +21 -1
|
@@ -73,6 +73,11 @@ let CatalogProduct = class {
|
|
|
73
73
|
this.uomRoundingScale = 4;
|
|
74
74
|
this.uomRoundingMode = "half_up";
|
|
75
75
|
this.unitPriceEnabled = false;
|
|
76
|
+
this.isExciseGood = false;
|
|
77
|
+
this.requiresPrescription = false;
|
|
78
|
+
this.containsLithiumBattery = false;
|
|
79
|
+
this.requiresShipping = true;
|
|
80
|
+
this.isQuoteOnly = false;
|
|
76
81
|
this.isConfigurable = false;
|
|
77
82
|
this.isActive = true;
|
|
78
83
|
this.createdAt = /* @__PURE__ */ new Date();
|
|
@@ -162,6 +167,84 @@ __decorateClass([
|
|
|
162
167
|
__decorateClass([
|
|
163
168
|
Property({ name: "dimensions", type: "jsonb", nullable: true })
|
|
164
169
|
], CatalogProduct.prototype, "dimensions", 2);
|
|
170
|
+
__decorateClass([
|
|
171
|
+
Property({ name: "country_of_origin_code", type: "text", nullable: true })
|
|
172
|
+
], CatalogProduct.prototype, "countryOfOriginCode", 2);
|
|
173
|
+
__decorateClass([
|
|
174
|
+
Property({ name: "pkwiu_code", type: "text", nullable: true })
|
|
175
|
+
], CatalogProduct.prototype, "pkwiuCode", 2);
|
|
176
|
+
__decorateClass([
|
|
177
|
+
Property({ name: "cn_code", type: "text", nullable: true })
|
|
178
|
+
], CatalogProduct.prototype, "cnCode", 2);
|
|
179
|
+
__decorateClass([
|
|
180
|
+
Property({ name: "hs_code", type: "text", nullable: true })
|
|
181
|
+
], CatalogProduct.prototype, "hsCode", 2);
|
|
182
|
+
__decorateClass([
|
|
183
|
+
Property({ name: "tax_classification_code", type: "text", nullable: true })
|
|
184
|
+
], CatalogProduct.prototype, "taxClassificationCode", 2);
|
|
185
|
+
__decorateClass([
|
|
186
|
+
Property({ name: "gtu_codes", type: "text[]", nullable: true })
|
|
187
|
+
], CatalogProduct.prototype, "gtuCodes", 2);
|
|
188
|
+
__decorateClass([
|
|
189
|
+
Property({ name: "age_min", type: "smallint", nullable: true })
|
|
190
|
+
], CatalogProduct.prototype, "ageMin", 2);
|
|
191
|
+
__decorateClass([
|
|
192
|
+
Property({ name: "is_excise_good", type: "boolean", default: false })
|
|
193
|
+
], CatalogProduct.prototype, "isExciseGood", 2);
|
|
194
|
+
__decorateClass([
|
|
195
|
+
Property({ name: "excise_category", type: "text", nullable: true })
|
|
196
|
+
], CatalogProduct.prototype, "exciseCategory", 2);
|
|
197
|
+
__decorateClass([
|
|
198
|
+
Property({ name: "requires_prescription", type: "boolean", default: false })
|
|
199
|
+
], CatalogProduct.prototype, "requiresPrescription", 2);
|
|
200
|
+
__decorateClass([
|
|
201
|
+
Property({ name: "hazmat_class", type: "text", nullable: true })
|
|
202
|
+
], CatalogProduct.prototype, "hazmatClass", 2);
|
|
203
|
+
__decorateClass([
|
|
204
|
+
Property({ name: "un_number", type: "text", nullable: true })
|
|
205
|
+
], CatalogProduct.prototype, "unNumber", 2);
|
|
206
|
+
__decorateClass([
|
|
207
|
+
Property({ name: "hazmat_packing_group", type: "text", nullable: true })
|
|
208
|
+
], CatalogProduct.prototype, "hazmatPackingGroup", 2);
|
|
209
|
+
__decorateClass([
|
|
210
|
+
Property({ name: "contains_lithium_battery", type: "boolean", default: false })
|
|
211
|
+
], CatalogProduct.prototype, "containsLithiumBattery", 2);
|
|
212
|
+
__decorateClass([
|
|
213
|
+
Property({ name: "launch_at", type: Date, nullable: true })
|
|
214
|
+
], CatalogProduct.prototype, "launchAt", 2);
|
|
215
|
+
__decorateClass([
|
|
216
|
+
Property({ name: "end_of_life_at", type: Date, nullable: true })
|
|
217
|
+
], CatalogProduct.prototype, "endOfLifeAt", 2);
|
|
218
|
+
__decorateClass([
|
|
219
|
+
Property({ name: "available_from", type: Date, nullable: true })
|
|
220
|
+
], CatalogProduct.prototype, "availableFrom", 2);
|
|
221
|
+
__decorateClass([
|
|
222
|
+
Property({ name: "available_until", type: Date, nullable: true })
|
|
223
|
+
], CatalogProduct.prototype, "availableUntil", 2);
|
|
224
|
+
__decorateClass([
|
|
225
|
+
Property({ name: "min_order_qty", type: "integer", nullable: true })
|
|
226
|
+
], CatalogProduct.prototype, "minOrderQty", 2);
|
|
227
|
+
__decorateClass([
|
|
228
|
+
Property({ name: "max_order_qty", type: "integer", nullable: true })
|
|
229
|
+
], CatalogProduct.prototype, "maxOrderQty", 2);
|
|
230
|
+
__decorateClass([
|
|
231
|
+
Property({ name: "order_qty_increment", type: "integer", nullable: true })
|
|
232
|
+
], CatalogProduct.prototype, "orderQtyIncrement", 2);
|
|
233
|
+
__decorateClass([
|
|
234
|
+
Property({ name: "requires_shipping", type: "boolean", default: true })
|
|
235
|
+
], CatalogProduct.prototype, "requiresShipping", 2);
|
|
236
|
+
__decorateClass([
|
|
237
|
+
Property({ name: "is_quote_only", type: "boolean", default: false })
|
|
238
|
+
], CatalogProduct.prototype, "isQuoteOnly", 2);
|
|
239
|
+
__decorateClass([
|
|
240
|
+
Property({ name: "seo_title", type: "text", nullable: true })
|
|
241
|
+
], CatalogProduct.prototype, "seoTitle", 2);
|
|
242
|
+
__decorateClass([
|
|
243
|
+
Property({ name: "seo_description", type: "text", nullable: true })
|
|
244
|
+
], CatalogProduct.prototype, "seoDescription", 2);
|
|
245
|
+
__decorateClass([
|
|
246
|
+
Property({ name: "canonical_url", type: "text", nullable: true })
|
|
247
|
+
], CatalogProduct.prototype, "canonicalUrl", 2);
|
|
165
248
|
__decorateClass([
|
|
166
249
|
Property({ name: "metadata", type: "jsonb", nullable: true })
|
|
167
250
|
], CatalogProduct.prototype, "metadata", 2);
|
|
@@ -550,6 +633,12 @@ __decorateClass([
|
|
|
550
633
|
__decorateClass([
|
|
551
634
|
Property({ type: "text", nullable: true })
|
|
552
635
|
], CatalogProductVariant.prototype, "barcode", 2);
|
|
636
|
+
__decorateClass([
|
|
637
|
+
Property({ name: "gtin_type", type: "text", nullable: true })
|
|
638
|
+
], CatalogProductVariant.prototype, "gtinType", 2);
|
|
639
|
+
__decorateClass([
|
|
640
|
+
Property({ name: "hs_code", type: "text", nullable: true })
|
|
641
|
+
], CatalogProductVariant.prototype, "hsCode", 2);
|
|
553
642
|
__decorateClass([
|
|
554
643
|
Property({ type: "text", nullable: true })
|
|
555
644
|
], CatalogProductVariant.prototype, "statusEntryId", 2);
|
|
@@ -613,6 +702,10 @@ CatalogProductVariant = __decorateClass([
|
|
|
613
702
|
Unique({
|
|
614
703
|
name: "catalog_product_variants_sku_unique",
|
|
615
704
|
properties: ["organizationId", "tenantId", "sku"]
|
|
705
|
+
}),
|
|
706
|
+
Index({
|
|
707
|
+
name: "catalog_product_variants_gtin_scope_unique",
|
|
708
|
+
expression: `create unique index "catalog_product_variants_gtin_scope_unique" on "catalog_product_variants" ("tenant_id", "organization_id", "gtin_type", "barcode") where deleted_at is null and gtin_type is not null and barcode is not null`
|
|
616
709
|
})
|
|
617
710
|
], CatalogProductVariant);
|
|
618
711
|
OptionalProps;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/modules/catalog/data/entities.ts"],
|
|
4
|
-
"sourcesContent": ["import { Collection, OptionalProps } from '@mikro-orm/core'\nimport { Entity, Index, ManyToOne, OneToMany, PrimaryKey, Property, Unique } from '@mikro-orm/decorators/legacy'\nimport type {\n CatalogPriceDisplayMode,\n CatalogProductOptionSchema,\n CatalogProductRelationType,\n CatalogProductType,\n} from './types'\nimport type { ReferenceUnitCode } from '@open-mercato/shared/lib/units/unitCodes'\n\n@Entity({ tableName: 'catalog_product_option_schemas' })\n@Index({\n name: 'catalog_product_option_schemas_scope_idx',\n properties: ['organizationId', 'tenantId'],\n})\n@Unique({\n name: 'catalog_product_option_schemas_code_unique',\n properties: ['organizationId', 'tenantId', 'code'],\n})\nexport class CatalogOptionSchemaTemplate {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n name!: string\n\n @Property({ name: 'code', type: 'text' })\n code!: string\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'schema', type: 'jsonb' })\n schema!: CatalogProductOptionSchema\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n@Entity({ tableName: 'catalog_products' })\n@Index({ name: 'catalog_products_org_tenant_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_products_sku_scope_unique', properties: ['organizationId', 'tenantId', 'sku'] })\n@Unique({ name: 'catalog_products_handle_scope_unique', properties: ['organizationId', 'tenantId', 'handle'] })\nexport class CatalogProduct {\n [OptionalProps]?:\n | 'createdAt'\n | 'updatedAt'\n | 'deletedAt'\n | 'defaultSalesUnitQuantity'\n | 'uomRoundingScale'\n | 'uomRoundingMode'\n | 'unitPriceEnabled'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ type: 'text', nullable: true })\n subtitle?: string | null\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ type: 'text', nullable: true })\n sku?: string | null\n\n @Property({ type: 'text', nullable: true })\n handle?: string | null\n\n @Property({ name: 'tax_rate_id', type: 'uuid', nullable: true })\n taxRateId?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'product_type', type: 'text', default: 'simple' })\n productType: CatalogProductType = 'simple'\n\n @Property({ name: 'status_entry_id', type: 'uuid', nullable: true })\n statusEntryId?: string | null\n\n @Property({ name: 'primary_currency_code', type: 'text', nullable: true })\n primaryCurrencyCode?: string | null\n\n @Property({ name: 'default_unit', type: 'text', nullable: true })\n defaultUnit?: string | null\n\n @Property({ name: 'default_sales_unit', type: 'text', nullable: true })\n defaultSalesUnit?: string | null\n\n @Property({ name: 'default_sales_unit_quantity', type: 'numeric', precision: 18, scale: 6, default: '1' })\n defaultSalesUnitQuantity: string = '1'\n\n @Property({ name: 'uom_rounding_scale', type: 'smallint', default: 4 })\n uomRoundingScale: number = 4\n\n @Property({ name: 'uom_rounding_mode', type: 'text', default: 'half_up' })\n uomRoundingMode: 'half_up' | 'down' | 'up' = 'half_up'\n\n @Property({ name: 'unit_price_enabled', type: 'boolean', default: false })\n unitPriceEnabled: boolean = false\n\n @Property({ name: 'unit_price_reference_unit', type: 'text', nullable: true })\n unitPriceReferenceUnit?: ReferenceUnitCode | null\n\n @Property({ name: 'unit_price_base_quantity', type: 'numeric', precision: 18, scale: 6, nullable: true })\n unitPriceBaseQuantity?: string | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'weight_value', type: 'numeric', precision: 16, scale: 4, nullable: true })\n weightValue?: string | null\n\n @Property({ name: 'weight_unit', type: 'text', nullable: true })\n weightUnit?: string | null\n\n @Property({ name: 'dimensions', type: 'jsonb', nullable: true })\n dimensions?: {\n width?: number | null\n height?: number | null\n depth?: number | null\n unit?: string | null\n } | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'custom_fieldset_code', type: 'text', nullable: true })\n customFieldsetCode?: string | null\n\n @ManyToOne(() => CatalogOptionSchemaTemplate, {\n fieldName: 'option_schema_id',\n nullable: true,\n deleteRule: 'set null',\n })\n optionSchemaTemplate?: CatalogOptionSchemaTemplate | null\n\n @Property({ name: 'is_configurable', type: 'boolean', default: false })\n isConfigurable: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductVariant, (variant) => variant.product)\n variants = new Collection<CatalogProductVariant>(this)\n\n @OneToMany(() => CatalogOffer, (offer) => offer.product)\n offers = new Collection<CatalogOffer>(this)\n\n @OneToMany(() => CatalogProductCategoryAssignment, (assignment) => assignment.product)\n categoryAssignments = new Collection<CatalogProductCategoryAssignment>(this)\n\n @OneToMany(() => CatalogProductTagAssignment, (assignment) => assignment.product)\n tagAssignments = new Collection<CatalogProductTagAssignment>(this)\n\n @OneToMany(() => CatalogProductUnitConversion, (conversion) => conversion.product)\n unitConversions = new Collection<CatalogProductUnitConversion>(this)\n}\n\n@Entity({ tableName: 'catalog_product_unit_conversions' })\n@Index({\n name: 'catalog_product_unit_conversions_scope_idx',\n properties: ['organizationId', 'tenantId', 'product'],\n})\n@Unique({\n name: 'catalog_product_unit_conversions_unique',\n properties: ['product', 'unitCode'],\n})\nexport class CatalogProductUnitConversion {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt' | 'sortOrder' | 'isActive'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'unit_code', type: 'text' })\n unitCode!: string\n\n @Property({ name: 'to_base_factor', type: 'numeric', precision: 24, scale: 12 })\n toBaseFactor!: string\n\n @Property({ name: 'sort_order', type: 'integer', default: 0 })\n sortOrder: number = 0\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n@Entity({ tableName: 'catalog_product_categories' })\n@Index({ name: 'catalog_product_categories_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_categories_slug_unique', properties: ['organizationId', 'tenantId', 'slug'] })\nexport class CatalogProductCategory {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n name!: string\n\n @Property({ type: 'text', nullable: true })\n slug?: string | null\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'parent_id', type: 'uuid', nullable: true })\n parentId?: string | null\n\n @Property({ name: 'root_id', type: 'uuid', nullable: true })\n rootId?: string | null\n\n @Property({ name: 'tree_path', type: 'text', nullable: true })\n treePath?: string | null\n\n @Property({ type: 'int', default: 0 })\n depth: number = 0\n\n @Property({ name: 'ancestor_ids', type: 'jsonb', default: [], nullable: false })\n ancestorIds: string[] = []\n\n @Property({ name: 'child_ids', type: 'jsonb', default: [], nullable: false })\n childIds: string[] = []\n\n @Property({ name: 'descendant_ids', type: 'jsonb', default: [], nullable: false })\n descendantIds: string[] = []\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductCategoryAssignment, (assignment) => assignment.category)\n assignments = new Collection<CatalogProductCategoryAssignment>(this)\n}\n\n@Entity({ tableName: 'catalog_product_category_assignments' })\n@Index({\n name: 'catalog_product_category_assignments_scope_idx',\n properties: ['organizationId', 'tenantId'],\n})\n@Unique({\n name: 'catalog_product_category_assignments_unique',\n properties: ['product', 'category'],\n})\nexport class CatalogProductCategoryAssignment {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @ManyToOne(() => CatalogProductCategory, { fieldName: 'category_id', deleteRule: 'cascade' })\n category!: CatalogProductCategory\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'position', type: 'int', default: 0 })\n position: number = 0\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_product_tags' })\n@Index({ name: 'catalog_product_tags_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_tags_slug_unique', properties: ['organizationId', 'tenantId', 'slug'] })\nexport class CatalogProductTag {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n label!: string\n\n @Property({ type: 'text' })\n slug!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @OneToMany(() => CatalogProductTagAssignment, (assignment) => assignment.tag)\n assignments = new Collection<CatalogProductTagAssignment>(this)\n}\n\n@Entity({ tableName: 'catalog_product_tag_assignments' })\n@Index({ name: 'catalog_product_tag_assignments_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_tag_assignments_unique', properties: ['product', 'tag'] })\nexport class CatalogProductTagAssignment {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @ManyToOne(() => CatalogProductTag, { fieldName: 'tag_id', deleteRule: 'cascade' })\n tag!: CatalogProductTag\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_product_offers' })\n@Index({ name: 'catalog_product_offers_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({\n name: 'catalog_product_offers_product_channel_unique',\n properties: ['product', 'organizationId', 'tenantId', 'channelId'],\n})\nexport class CatalogOffer {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'channel_id', type: 'uuid' })\n channelId!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.offer)\n prices = new Collection<CatalogProductPrice>(this)\n}\n\n@Entity({ tableName: 'catalog_product_variants' })\n@Index({ name: 'catalog_product_variants_scope_idx', properties: ['product', 'organizationId', 'tenantId'] })\n@Unique({\n name: 'catalog_product_variants_sku_unique',\n properties: ['organizationId', 'tenantId', 'sku'],\n})\nexport class CatalogProductVariant {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text', nullable: true })\n name?: string | null\n\n @Property({ type: 'text', nullable: true })\n sku?: string | null\n\n @Property({ type: 'text', nullable: true })\n barcode?: string | null\n\n @Property({ type: 'text', nullable: true })\n statusEntryId?: string | null\n\n @Property({ name: 'is_default', type: 'boolean', default: false })\n isDefault: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'weight_value', type: 'numeric', precision: 16, scale: 4, nullable: true })\n weightValue?: string | null\n\n @Property({ name: 'weight_unit', type: 'text', nullable: true })\n weightUnit?: string | null\n\n @Property({ name: 'dimensions', type: 'jsonb', nullable: true })\n dimensions?: {\n width?: number | null\n height?: number | null\n depth?: number | null\n unit?: string | null\n } | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'tax_rate_id', type: 'uuid', nullable: true })\n taxRateId?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'option_values', type: 'jsonb', nullable: true })\n optionValues?: Record<string, string> | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'custom_fieldset_code', type: 'text', nullable: true })\n customFieldsetCode?: string | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.variant)\n prices = new Collection<CatalogProductPrice>(this)\n\n\n @OneToMany(() => CatalogProductVariantRelation, (relation) => relation.parentVariant)\n componentRelations = new Collection<CatalogProductVariantRelation>(this)\n\n @OneToMany(() => CatalogProductVariantRelation, (relation) => relation.childVariant)\n parentRelations = new Collection<CatalogProductVariantRelation>(this)\n\n}\n\n@Entity({ tableName: 'catalog_product_variant_relations' })\n@Index({\n name: 'catalog_product_variant_relations_parent_idx',\n properties: ['parentVariant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_relations_child_idx',\n properties: ['childVariant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_relations_child_product_idx',\n properties: ['childProduct', 'organizationId', 'tenantId'],\n})\nexport class CatalogProductVariantRelation {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProductVariant, {\n fieldName: 'parent_variant_id',\n deleteRule: 'cascade',\n })\n parentVariant!: CatalogProductVariant\n\n @ManyToOne(() => CatalogProductVariant, {\n fieldName: 'child_variant_id',\n deleteRule: 'cascade',\n nullable: true,\n })\n childVariant?: CatalogProductVariant | null\n\n @ManyToOne(() => CatalogProduct, {\n fieldName: 'child_product_id',\n nullable: true,\n deleteRule: 'cascade',\n })\n childProduct?: CatalogProduct | null\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'relation_type', type: 'text' })\n relationType: CatalogProductRelationType = 'grouped'\n\n @Property({ name: 'is_required', type: 'boolean', default: false })\n isRequired: boolean = false\n\n @Property({ name: 'min_quantity', type: 'integer', nullable: true })\n minQuantity?: number | null\n\n @Property({ name: 'max_quantity', type: 'integer', nullable: true })\n maxQuantity?: number | null\n\n @Property({ type: 'integer', default: 0 })\n position: number = 0\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_price_kinds' })\n@Index({\n name: 'catalog_price_kinds_tenant_idx',\n properties: ['tenantId'],\n})\n@Unique({\n name: 'catalog_price_kinds_code_tenant_unique',\n properties: ['tenantId', 'code'],\n})\nexport class CatalogPriceKind {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid', nullable: true })\n organizationId?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n code!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ name: 'display_mode', type: 'text', default: 'excluding-tax' })\n displayMode: CatalogPriceDisplayMode = 'excluding-tax'\n\n @Property({ name: 'currency_code', type: 'text', nullable: true })\n currencyCode?: string | null\n\n @Property({ name: 'is_promotion', type: 'boolean', default: false })\n isPromotion: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.priceKind)\n prices = new Collection<CatalogProductPrice>(this)\n}\n\n@Entity({ tableName: 'catalog_product_variant_prices' })\n@Index({\n name: 'catalog_product_variant_prices_variant_scope_idx',\n properties: ['variant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_prices_product_scope_idx',\n properties: ['product', 'organizationId', 'tenantId'],\n})\nexport class CatalogProductPrice {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProductVariant, { fieldName: 'variant_id', nullable: true })\n variant?: CatalogProductVariant | null\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', nullable: true })\n product?: CatalogProduct | null\n\n @ManyToOne(() => CatalogOffer, { fieldName: 'offer_id', nullable: true })\n offer?: CatalogOffer | null\n\n @ManyToOne(() => CatalogPriceKind, { fieldName: 'price_kind_id', deleteRule: 'restrict' })\n priceKind!: CatalogPriceKind\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'currency_code', type: 'text' })\n currencyCode!: string\n\n @Property({ name: 'kind', type: 'text', default: 'regular' })\n kind: string = 'regular'\n\n @Property({ name: 'min_quantity', type: 'integer', default: 1 })\n minQuantity: number = 1\n\n @Property({ name: 'max_quantity', type: 'integer', nullable: true })\n maxQuantity?: number | null\n\n @Property({ name: 'unit_price_net', type: 'numeric', precision: 16, scale: 4, nullable: true })\n unitPriceNet?: string | null\n\n @Property({ name: 'unit_price_gross', type: 'numeric', precision: 16, scale: 4, nullable: true })\n unitPriceGross?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'tax_amount', type: 'numeric', precision: 16, scale: 4, nullable: true })\n taxAmount?: string | null\n\n @Property({ name: 'channel_id', type: 'uuid', nullable: true })\n channelId?: string | null\n\n @Property({ name: 'user_id', type: 'uuid', nullable: true })\n userId?: string | null\n\n @Property({ name: 'user_group_id', type: 'uuid', nullable: true })\n userGroupId?: string | null\n\n @Property({ name: 'customer_id', type: 'uuid', nullable: true })\n customerId?: string | null\n\n @Property({ name: 'customer_group_id', type: 'uuid', nullable: true })\n customerGroupId?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'starts_at', type: Date, nullable: true })\n startsAt?: Date | null\n\n @Property({ name: 'ends_at', type: Date, nullable: true })\n endsAt?: Date | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { Collection, OptionalProps } from '@mikro-orm/core'\nimport { Entity, Index, ManyToOne, OneToMany, PrimaryKey, Property, Unique } from '@mikro-orm/decorators/legacy'\nimport type {\n CatalogExciseCategory,\n CatalogGtinType,\n CatalogHazmatPackingGroup,\n CatalogPriceDisplayMode,\n CatalogProductOptionSchema,\n CatalogProductRelationType,\n CatalogProductType,\n} from './types'\nimport type { ReferenceUnitCode } from '@open-mercato/shared/lib/units/unitCodes'\n\n@Entity({ tableName: 'catalog_product_option_schemas' })\n@Index({\n name: 'catalog_product_option_schemas_scope_idx',\n properties: ['organizationId', 'tenantId'],\n})\n@Unique({\n name: 'catalog_product_option_schemas_code_unique',\n properties: ['organizationId', 'tenantId', 'code'],\n})\nexport class CatalogOptionSchemaTemplate {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n name!: string\n\n @Property({ name: 'code', type: 'text' })\n code!: string\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'schema', type: 'jsonb' })\n schema!: CatalogProductOptionSchema\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n@Entity({ tableName: 'catalog_products' })\n@Index({ name: 'catalog_products_org_tenant_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_products_sku_scope_unique', properties: ['organizationId', 'tenantId', 'sku'] })\n@Unique({ name: 'catalog_products_handle_scope_unique', properties: ['organizationId', 'tenantId', 'handle'] })\nexport class CatalogProduct {\n [OptionalProps]?:\n | 'createdAt'\n | 'updatedAt'\n | 'deletedAt'\n | 'defaultSalesUnitQuantity'\n | 'uomRoundingScale'\n | 'uomRoundingMode'\n | 'unitPriceEnabled'\n | 'isExciseGood'\n | 'requiresPrescription'\n | 'containsLithiumBattery'\n | 'requiresShipping'\n | 'isQuoteOnly'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ type: 'text', nullable: true })\n subtitle?: string | null\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ type: 'text', nullable: true })\n sku?: string | null\n\n @Property({ type: 'text', nullable: true })\n handle?: string | null\n\n @Property({ name: 'tax_rate_id', type: 'uuid', nullable: true })\n taxRateId?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'product_type', type: 'text', default: 'simple' })\n productType: CatalogProductType = 'simple'\n\n @Property({ name: 'status_entry_id', type: 'uuid', nullable: true })\n statusEntryId?: string | null\n\n @Property({ name: 'primary_currency_code', type: 'text', nullable: true })\n primaryCurrencyCode?: string | null\n\n @Property({ name: 'default_unit', type: 'text', nullable: true })\n defaultUnit?: string | null\n\n @Property({ name: 'default_sales_unit', type: 'text', nullable: true })\n defaultSalesUnit?: string | null\n\n @Property({ name: 'default_sales_unit_quantity', type: 'numeric', precision: 18, scale: 6, default: '1' })\n defaultSalesUnitQuantity: string = '1'\n\n @Property({ name: 'uom_rounding_scale', type: 'smallint', default: 4 })\n uomRoundingScale: number = 4\n\n @Property({ name: 'uom_rounding_mode', type: 'text', default: 'half_up' })\n uomRoundingMode: 'half_up' | 'down' | 'up' = 'half_up'\n\n @Property({ name: 'unit_price_enabled', type: 'boolean', default: false })\n unitPriceEnabled: boolean = false\n\n @Property({ name: 'unit_price_reference_unit', type: 'text', nullable: true })\n unitPriceReferenceUnit?: ReferenceUnitCode | null\n\n @Property({ name: 'unit_price_base_quantity', type: 'numeric', precision: 18, scale: 6, nullable: true })\n unitPriceBaseQuantity?: string | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'weight_value', type: 'numeric', precision: 16, scale: 4, nullable: true })\n weightValue?: string | null\n\n @Property({ name: 'weight_unit', type: 'text', nullable: true })\n weightUnit?: string | null\n\n @Property({ name: 'dimensions', type: 'jsonb', nullable: true })\n dimensions?: {\n width?: number | null\n height?: number | null\n depth?: number | null\n unit?: string | null\n } | null\n\n @Property({ name: 'country_of_origin_code', type: 'text', nullable: true })\n countryOfOriginCode?: string | null\n\n @Property({ name: 'pkwiu_code', type: 'text', nullable: true })\n pkwiuCode?: string | null\n\n @Property({ name: 'cn_code', type: 'text', nullable: true })\n cnCode?: string | null\n\n @Property({ name: 'hs_code', type: 'text', nullable: true })\n hsCode?: string | null\n\n @Property({ name: 'tax_classification_code', type: 'text', nullable: true })\n taxClassificationCode?: string | null\n\n @Property({ name: 'gtu_codes', type: 'text[]', nullable: true })\n gtuCodes?: string[] | null\n\n @Property({ name: 'age_min', type: 'smallint', nullable: true })\n ageMin?: number | null\n\n @Property({ name: 'is_excise_good', type: 'boolean', default: false })\n isExciseGood: boolean = false\n\n @Property({ name: 'excise_category', type: 'text', nullable: true })\n exciseCategory?: CatalogExciseCategory | null\n\n @Property({ name: 'requires_prescription', type: 'boolean', default: false })\n requiresPrescription: boolean = false\n\n @Property({ name: 'hazmat_class', type: 'text', nullable: true })\n hazmatClass?: string | null\n\n @Property({ name: 'un_number', type: 'text', nullable: true })\n unNumber?: string | null\n\n @Property({ name: 'hazmat_packing_group', type: 'text', nullable: true })\n hazmatPackingGroup?: CatalogHazmatPackingGroup | null\n\n @Property({ name: 'contains_lithium_battery', type: 'boolean', default: false })\n containsLithiumBattery: boolean = false\n\n @Property({ name: 'launch_at', type: Date, nullable: true })\n launchAt?: Date | null\n\n @Property({ name: 'end_of_life_at', type: Date, nullable: true })\n endOfLifeAt?: Date | null\n\n @Property({ name: 'available_from', type: Date, nullable: true })\n availableFrom?: Date | null\n\n @Property({ name: 'available_until', type: Date, nullable: true })\n availableUntil?: Date | null\n\n @Property({ name: 'min_order_qty', type: 'integer', nullable: true })\n minOrderQty?: number | null\n\n @Property({ name: 'max_order_qty', type: 'integer', nullable: true })\n maxOrderQty?: number | null\n\n @Property({ name: 'order_qty_increment', type: 'integer', nullable: true })\n orderQtyIncrement?: number | null\n\n @Property({ name: 'requires_shipping', type: 'boolean', default: true })\n requiresShipping: boolean = true\n\n @Property({ name: 'is_quote_only', type: 'boolean', default: false })\n isQuoteOnly: boolean = false\n\n @Property({ name: 'seo_title', type: 'text', nullable: true })\n seoTitle?: string | null\n\n @Property({ name: 'seo_description', type: 'text', nullable: true })\n seoDescription?: string | null\n\n @Property({ name: 'canonical_url', type: 'text', nullable: true })\n canonicalUrl?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'custom_fieldset_code', type: 'text', nullable: true })\n customFieldsetCode?: string | null\n\n @ManyToOne(() => CatalogOptionSchemaTemplate, {\n fieldName: 'option_schema_id',\n nullable: true,\n deleteRule: 'set null',\n })\n optionSchemaTemplate?: CatalogOptionSchemaTemplate | null\n\n @Property({ name: 'is_configurable', type: 'boolean', default: false })\n isConfigurable: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductVariant, (variant) => variant.product)\n variants = new Collection<CatalogProductVariant>(this)\n\n @OneToMany(() => CatalogOffer, (offer) => offer.product)\n offers = new Collection<CatalogOffer>(this)\n\n @OneToMany(() => CatalogProductCategoryAssignment, (assignment) => assignment.product)\n categoryAssignments = new Collection<CatalogProductCategoryAssignment>(this)\n\n @OneToMany(() => CatalogProductTagAssignment, (assignment) => assignment.product)\n tagAssignments = new Collection<CatalogProductTagAssignment>(this)\n\n @OneToMany(() => CatalogProductUnitConversion, (conversion) => conversion.product)\n unitConversions = new Collection<CatalogProductUnitConversion>(this)\n}\n\n@Entity({ tableName: 'catalog_product_unit_conversions' })\n@Index({\n name: 'catalog_product_unit_conversions_scope_idx',\n properties: ['organizationId', 'tenantId', 'product'],\n})\n@Unique({\n name: 'catalog_product_unit_conversions_unique',\n properties: ['product', 'unitCode'],\n})\nexport class CatalogProductUnitConversion {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt' | 'sortOrder' | 'isActive'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'unit_code', type: 'text' })\n unitCode!: string\n\n @Property({ name: 'to_base_factor', type: 'numeric', precision: 24, scale: 12 })\n toBaseFactor!: string\n\n @Property({ name: 'sort_order', type: 'integer', default: 0 })\n sortOrder: number = 0\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n}\n\n@Entity({ tableName: 'catalog_product_categories' })\n@Index({ name: 'catalog_product_categories_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_categories_slug_unique', properties: ['organizationId', 'tenantId', 'slug'] })\nexport class CatalogProductCategory {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n name!: string\n\n @Property({ type: 'text', nullable: true })\n slug?: string | null\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'parent_id', type: 'uuid', nullable: true })\n parentId?: string | null\n\n @Property({ name: 'root_id', type: 'uuid', nullable: true })\n rootId?: string | null\n\n @Property({ name: 'tree_path', type: 'text', nullable: true })\n treePath?: string | null\n\n @Property({ type: 'int', default: 0 })\n depth: number = 0\n\n @Property({ name: 'ancestor_ids', type: 'jsonb', default: [], nullable: false })\n ancestorIds: string[] = []\n\n @Property({ name: 'child_ids', type: 'jsonb', default: [], nullable: false })\n childIds: string[] = []\n\n @Property({ name: 'descendant_ids', type: 'jsonb', default: [], nullable: false })\n descendantIds: string[] = []\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductCategoryAssignment, (assignment) => assignment.category)\n assignments = new Collection<CatalogProductCategoryAssignment>(this)\n}\n\n@Entity({ tableName: 'catalog_product_category_assignments' })\n@Index({\n name: 'catalog_product_category_assignments_scope_idx',\n properties: ['organizationId', 'tenantId'],\n})\n@Unique({\n name: 'catalog_product_category_assignments_unique',\n properties: ['product', 'category'],\n})\nexport class CatalogProductCategoryAssignment {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @ManyToOne(() => CatalogProductCategory, { fieldName: 'category_id', deleteRule: 'cascade' })\n category!: CatalogProductCategory\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'position', type: 'int', default: 0 })\n position: number = 0\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_product_tags' })\n@Index({ name: 'catalog_product_tags_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_tags_slug_unique', properties: ['organizationId', 'tenantId', 'slug'] })\nexport class CatalogProductTag {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n label!: string\n\n @Property({ type: 'text' })\n slug!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @OneToMany(() => CatalogProductTagAssignment, (assignment) => assignment.tag)\n assignments = new Collection<CatalogProductTagAssignment>(this)\n}\n\n@Entity({ tableName: 'catalog_product_tag_assignments' })\n@Index({ name: 'catalog_product_tag_assignments_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({ name: 'catalog_product_tag_assignments_unique', properties: ['product', 'tag'] })\nexport class CatalogProductTagAssignment {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @ManyToOne(() => CatalogProductTag, { fieldName: 'tag_id', deleteRule: 'cascade' })\n tag!: CatalogProductTag\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_product_offers' })\n@Index({ name: 'catalog_product_offers_scope_idx', properties: ['organizationId', 'tenantId'] })\n@Unique({\n name: 'catalog_product_offers_product_channel_unique',\n properties: ['product', 'organizationId', 'tenantId', 'channelId'],\n})\nexport class CatalogOffer {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', deleteRule: 'cascade' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'channel_id', type: 'uuid' })\n channelId!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ type: 'text', nullable: true })\n description?: string | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.offer)\n prices = new Collection<CatalogProductPrice>(this)\n}\n\n@Entity({ tableName: 'catalog_product_variants' })\n@Index({ name: 'catalog_product_variants_scope_idx', properties: ['product', 'organizationId', 'tenantId'] })\n@Unique({\n name: 'catalog_product_variants_sku_unique',\n properties: ['organizationId', 'tenantId', 'sku'],\n})\n@Index({\n name: 'catalog_product_variants_gtin_scope_unique',\n expression:\n `create unique index \"catalog_product_variants_gtin_scope_unique\" on \"catalog_product_variants\" (\"tenant_id\", \"organization_id\", \"gtin_type\", \"barcode\") where deleted_at is null and gtin_type is not null and barcode is not null`,\n})\nexport class CatalogProductVariant {\n [OptionalProps]?: 'createdAt' | 'updatedAt' | 'deletedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id' })\n product!: CatalogProduct\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text', nullable: true })\n name?: string | null\n\n @Property({ type: 'text', nullable: true })\n sku?: string | null\n\n @Property({ type: 'text', nullable: true })\n barcode?: string | null\n\n @Property({ name: 'gtin_type', type: 'text', nullable: true })\n gtinType?: CatalogGtinType | null\n\n @Property({ name: 'hs_code', type: 'text', nullable: true })\n hsCode?: string | null\n\n @Property({ type: 'text', nullable: true })\n statusEntryId?: string | null\n\n @Property({ name: 'is_default', type: 'boolean', default: false })\n isDefault: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'weight_value', type: 'numeric', precision: 16, scale: 4, nullable: true })\n weightValue?: string | null\n\n @Property({ name: 'weight_unit', type: 'text', nullable: true })\n weightUnit?: string | null\n\n @Property({ name: 'dimensions', type: 'jsonb', nullable: true })\n dimensions?: {\n width?: number | null\n height?: number | null\n depth?: number | null\n unit?: string | null\n } | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'tax_rate_id', type: 'uuid', nullable: true })\n taxRateId?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'option_values', type: 'jsonb', nullable: true })\n optionValues?: Record<string, string> | null\n\n @Property({ name: 'default_media_id', type: 'uuid', nullable: true })\n defaultMediaId?: string | null\n\n @Property({ name: 'default_media_url', type: 'text', nullable: true })\n defaultMediaUrl?: string | null\n\n @Property({ name: 'custom_fieldset_code', type: 'text', nullable: true })\n customFieldsetCode?: string | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.variant)\n prices = new Collection<CatalogProductPrice>(this)\n\n\n @OneToMany(() => CatalogProductVariantRelation, (relation) => relation.parentVariant)\n componentRelations = new Collection<CatalogProductVariantRelation>(this)\n\n @OneToMany(() => CatalogProductVariantRelation, (relation) => relation.childVariant)\n parentRelations = new Collection<CatalogProductVariantRelation>(this)\n\n}\n\n@Entity({ tableName: 'catalog_product_variant_relations' })\n@Index({\n name: 'catalog_product_variant_relations_parent_idx',\n properties: ['parentVariant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_relations_child_idx',\n properties: ['childVariant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_relations_child_product_idx',\n properties: ['childProduct', 'organizationId', 'tenantId'],\n})\nexport class CatalogProductVariantRelation {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProductVariant, {\n fieldName: 'parent_variant_id',\n deleteRule: 'cascade',\n })\n parentVariant!: CatalogProductVariant\n\n @ManyToOne(() => CatalogProductVariant, {\n fieldName: 'child_variant_id',\n deleteRule: 'cascade',\n nullable: true,\n })\n childVariant?: CatalogProductVariant | null\n\n @ManyToOne(() => CatalogProduct, {\n fieldName: 'child_product_id',\n nullable: true,\n deleteRule: 'cascade',\n })\n childProduct?: CatalogProduct | null\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'relation_type', type: 'text' })\n relationType: CatalogProductRelationType = 'grouped'\n\n @Property({ name: 'is_required', type: 'boolean', default: false })\n isRequired: boolean = false\n\n @Property({ name: 'min_quantity', type: 'integer', nullable: true })\n minQuantity?: number | null\n\n @Property({ name: 'max_quantity', type: 'integer', nullable: true })\n maxQuantity?: number | null\n\n @Property({ type: 'integer', default: 0 })\n position: number = 0\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n\n@Entity({ tableName: 'catalog_price_kinds' })\n@Index({\n name: 'catalog_price_kinds_tenant_idx',\n properties: ['tenantId'],\n})\n@Unique({\n name: 'catalog_price_kinds_code_tenant_unique',\n properties: ['tenantId', 'code'],\n})\nexport class CatalogPriceKind {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @Property({ name: 'organization_id', type: 'uuid', nullable: true })\n organizationId?: string | null\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ type: 'text' })\n code!: string\n\n @Property({ type: 'text' })\n title!: string\n\n @Property({ name: 'display_mode', type: 'text', default: 'excluding-tax' })\n displayMode: CatalogPriceDisplayMode = 'excluding-tax'\n\n @Property({ name: 'currency_code', type: 'text', nullable: true })\n currencyCode?: string | null\n\n @Property({ name: 'is_promotion', type: 'boolean', default: false })\n isPromotion: boolean = false\n\n @Property({ name: 'is_active', type: 'boolean', default: true })\n isActive: boolean = true\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n\n @Property({ name: 'deleted_at', type: Date, nullable: true })\n deletedAt?: Date | null\n\n @OneToMany(() => CatalogProductPrice, (price) => price.priceKind)\n prices = new Collection<CatalogProductPrice>(this)\n}\n\n@Entity({ tableName: 'catalog_product_variant_prices' })\n@Index({\n name: 'catalog_product_variant_prices_variant_scope_idx',\n properties: ['variant', 'organizationId', 'tenantId'],\n})\n@Index({\n name: 'catalog_product_variant_prices_product_scope_idx',\n properties: ['product', 'organizationId', 'tenantId'],\n})\nexport class CatalogProductPrice {\n [OptionalProps]?: 'createdAt' | 'updatedAt'\n\n @PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })\n id!: string\n\n @ManyToOne(() => CatalogProductVariant, { fieldName: 'variant_id', nullable: true })\n variant?: CatalogProductVariant | null\n\n @ManyToOne(() => CatalogProduct, { fieldName: 'product_id', nullable: true })\n product?: CatalogProduct | null\n\n @ManyToOne(() => CatalogOffer, { fieldName: 'offer_id', nullable: true })\n offer?: CatalogOffer | null\n\n @ManyToOne(() => CatalogPriceKind, { fieldName: 'price_kind_id', deleteRule: 'restrict' })\n priceKind!: CatalogPriceKind\n\n @Property({ name: 'organization_id', type: 'uuid' })\n organizationId!: string\n\n @Property({ name: 'tenant_id', type: 'uuid' })\n tenantId!: string\n\n @Property({ name: 'currency_code', type: 'text' })\n currencyCode!: string\n\n @Property({ name: 'kind', type: 'text', default: 'regular' })\n kind: string = 'regular'\n\n @Property({ name: 'min_quantity', type: 'integer', default: 1 })\n minQuantity: number = 1\n\n @Property({ name: 'max_quantity', type: 'integer', nullable: true })\n maxQuantity?: number | null\n\n @Property({ name: 'unit_price_net', type: 'numeric', precision: 16, scale: 4, nullable: true })\n unitPriceNet?: string | null\n\n @Property({ name: 'unit_price_gross', type: 'numeric', precision: 16, scale: 4, nullable: true })\n unitPriceGross?: string | null\n\n @Property({ name: 'tax_rate', type: 'numeric', precision: 7, scale: 4, nullable: true })\n taxRate?: string | null\n\n @Property({ name: 'tax_amount', type: 'numeric', precision: 16, scale: 4, nullable: true })\n taxAmount?: string | null\n\n @Property({ name: 'channel_id', type: 'uuid', nullable: true })\n channelId?: string | null\n\n @Property({ name: 'user_id', type: 'uuid', nullable: true })\n userId?: string | null\n\n @Property({ name: 'user_group_id', type: 'uuid', nullable: true })\n userGroupId?: string | null\n\n @Property({ name: 'customer_id', type: 'uuid', nullable: true })\n customerId?: string | null\n\n @Property({ name: 'customer_group_id', type: 'uuid', nullable: true })\n customerGroupId?: string | null\n\n @Property({ name: 'metadata', type: 'jsonb', nullable: true })\n metadata?: Record<string, unknown> | null\n\n @Property({ name: 'starts_at', type: Date, nullable: true })\n startsAt?: Date | null\n\n @Property({ name: 'ends_at', type: Date, nullable: true })\n endsAt?: Date | null\n\n @Property({ name: 'created_at', type: Date, onCreate: () => new Date() })\n createdAt: Date = new Date()\n\n @Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })\n updatedAt: Date = new Date()\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -9,9 +9,37 @@ const CATALOG_PRODUCT_TYPES = [
|
|
|
9
9
|
const CATALOG_CONFIGURABLE_PRODUCT_TYPES = ["configurable", "virtual", "downloadable"];
|
|
10
10
|
const CATALOG_SUBPRODUCT_PRODUCT_TYPES = ["bundle", "grouped"];
|
|
11
11
|
const CATALOG_PRODUCT_RELATION_TYPES = ["bundle", "grouped"];
|
|
12
|
+
const CATALOG_GTU_CODES = [
|
|
13
|
+
"GTU_01",
|
|
14
|
+
"GTU_02",
|
|
15
|
+
"GTU_03",
|
|
16
|
+
"GTU_04",
|
|
17
|
+
"GTU_05",
|
|
18
|
+
"GTU_06",
|
|
19
|
+
"GTU_07",
|
|
20
|
+
"GTU_08",
|
|
21
|
+
"GTU_09",
|
|
22
|
+
"GTU_10",
|
|
23
|
+
"GTU_11",
|
|
24
|
+
"GTU_12",
|
|
25
|
+
"GTU_13"
|
|
26
|
+
];
|
|
27
|
+
const CATALOG_EXCISE_CATEGORIES = [
|
|
28
|
+
"alcohol",
|
|
29
|
+
"tobacco",
|
|
30
|
+
"energy_drink",
|
|
31
|
+
"fuel",
|
|
32
|
+
"other"
|
|
33
|
+
];
|
|
34
|
+
const CATALOG_HAZMAT_PACKING_GROUPS = ["I", "II", "III"];
|
|
35
|
+
const CATALOG_GTIN_TYPES = ["ean13", "ean8", "upc", "isbn", "asin", "mpn"];
|
|
12
36
|
const CATALOG_PRICE_DISPLAY_MODES = ["including-tax", "excluding-tax"];
|
|
13
37
|
export {
|
|
14
38
|
CATALOG_CONFIGURABLE_PRODUCT_TYPES,
|
|
39
|
+
CATALOG_EXCISE_CATEGORIES,
|
|
40
|
+
CATALOG_GTIN_TYPES,
|
|
41
|
+
CATALOG_GTU_CODES,
|
|
42
|
+
CATALOG_HAZMAT_PACKING_GROUPS,
|
|
15
43
|
CATALOG_PRICE_DISPLAY_MODES,
|
|
16
44
|
CATALOG_PRODUCT_RELATION_TYPES,
|
|
17
45
|
CATALOG_PRODUCT_TYPES,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/modules/catalog/data/types.ts"],
|
|
4
|
-
"sourcesContent": ["export const CATALOG_PRODUCT_TYPES = [\n 'simple',\n 'configurable',\n 'virtual',\n 'downloadable',\n 'bundle',\n 'grouped',\n] as const\n\nexport type CatalogProductType = (typeof CATALOG_PRODUCT_TYPES)[number]\n\nexport const CATALOG_CONFIGURABLE_PRODUCT_TYPES = ['configurable', 'virtual', 'downloadable'] as const\n\nexport const CATALOG_SUBPRODUCT_PRODUCT_TYPES = ['bundle', 'grouped'] as const\n\nexport type CatalogConfigurableProductType = (typeof CATALOG_CONFIGURABLE_PRODUCT_TYPES)[number]\n\nexport const CATALOG_PRODUCT_RELATION_TYPES = ['bundle', 'grouped'] as const\n\nexport type CatalogProductRelationType = (typeof CATALOG_PRODUCT_RELATION_TYPES)[number]\n\nexport type CatalogProductOptionChoice = {\n code: string\n label?: string | null\n}\n\nexport type CatalogProductOptionDefinition = {\n code: string\n label: string\n description?: string | null\n inputType: 'select' | 'text' | 'textarea' | 'number'\n isRequired?: boolean\n isMultiple?: boolean\n choices?: CatalogProductOptionChoice[]\n}\n\nexport type CatalogProductOptionSchema = {\n version?: number\n name?: string | null\n description?: string | null\n options: CatalogProductOptionDefinition[]\n}\n\nexport type CatalogPricingScope = {\n channelId?: string | null\n offerId?: string | null\n userId?: string | null\n userGroupId?: string | null\n customerId?: string | null\n customerGroupId?: string | null\n}\n\nexport const CATALOG_PRICE_DISPLAY_MODES = ['including-tax', 'excluding-tax'] as const\n\nexport type CatalogPriceDisplayMode = (typeof CATALOG_PRICE_DISPLAY_MODES)[number]\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,qCAAqC,CAAC,gBAAgB,WAAW,cAAc;AAErF,MAAM,mCAAmC,CAAC,UAAU,SAAS;AAI7D,MAAM,iCAAiC,CAAC,UAAU,SAAS;
|
|
4
|
+
"sourcesContent": ["export const CATALOG_PRODUCT_TYPES = [\n 'simple',\n 'configurable',\n 'virtual',\n 'downloadable',\n 'bundle',\n 'grouped',\n] as const\n\nexport type CatalogProductType = (typeof CATALOG_PRODUCT_TYPES)[number]\n\nexport const CATALOG_CONFIGURABLE_PRODUCT_TYPES = ['configurable', 'virtual', 'downloadable'] as const\n\nexport const CATALOG_SUBPRODUCT_PRODUCT_TYPES = ['bundle', 'grouped'] as const\n\nexport type CatalogConfigurableProductType = (typeof CATALOG_CONFIGURABLE_PRODUCT_TYPES)[number]\n\nexport const CATALOG_PRODUCT_RELATION_TYPES = ['bundle', 'grouped'] as const\n\nexport type CatalogProductRelationType = (typeof CATALOG_PRODUCT_RELATION_TYPES)[number]\n\nexport const CATALOG_GTU_CODES = [\n 'GTU_01',\n 'GTU_02',\n 'GTU_03',\n 'GTU_04',\n 'GTU_05',\n 'GTU_06',\n 'GTU_07',\n 'GTU_08',\n 'GTU_09',\n 'GTU_10',\n 'GTU_11',\n 'GTU_12',\n 'GTU_13',\n] as const\n\nexport type CatalogGtuCode = (typeof CATALOG_GTU_CODES)[number]\n\nexport const CATALOG_EXCISE_CATEGORIES = [\n 'alcohol',\n 'tobacco',\n 'energy_drink',\n 'fuel',\n 'other',\n] as const\n\nexport type CatalogExciseCategory = (typeof CATALOG_EXCISE_CATEGORIES)[number]\n\nexport const CATALOG_HAZMAT_PACKING_GROUPS = ['I', 'II', 'III'] as const\n\nexport type CatalogHazmatPackingGroup = (typeof CATALOG_HAZMAT_PACKING_GROUPS)[number]\n\nexport const CATALOG_GTIN_TYPES = ['ean13', 'ean8', 'upc', 'isbn', 'asin', 'mpn'] as const\n\nexport type CatalogGtinType = (typeof CATALOG_GTIN_TYPES)[number]\n\nexport type CatalogProductOptionChoice = {\n code: string\n label?: string | null\n}\n\nexport type CatalogProductOptionDefinition = {\n code: string\n label: string\n description?: string | null\n inputType: 'select' | 'text' | 'textarea' | 'number'\n isRequired?: boolean\n isMultiple?: boolean\n choices?: CatalogProductOptionChoice[]\n}\n\nexport type CatalogProductOptionSchema = {\n version?: number\n name?: string | null\n description?: string | null\n options: CatalogProductOptionDefinition[]\n}\n\nexport type CatalogPricingScope = {\n channelId?: string | null\n offerId?: string | null\n userId?: string | null\n userGroupId?: string | null\n customerId?: string | null\n customerGroupId?: string | null\n}\n\nexport const CATALOG_PRICE_DISPLAY_MODES = ['including-tax', 'excluding-tax'] as const\n\nexport type CatalogPriceDisplayMode = (typeof CATALOG_PRICE_DISPLAY_MODES)[number]\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,qCAAqC,CAAC,gBAAgB,WAAW,cAAc;AAErF,MAAM,mCAAmC,CAAC,UAAU,SAAS;AAI7D,MAAM,iCAAiC,CAAC,UAAU,SAAS;AAI3D,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gCAAgC,CAAC,KAAK,MAAM,KAAK;AAIvD,MAAM,qBAAqB,CAAC,SAAS,QAAQ,OAAO,QAAQ,QAAQ,KAAK;AAmCzE,MAAM,8BAA8B,CAAC,iBAAiB,eAAe;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
CATALOG_EXCISE_CATEGORIES,
|
|
4
|
+
CATALOG_GTIN_TYPES,
|
|
5
|
+
CATALOG_GTU_CODES,
|
|
6
|
+
CATALOG_HAZMAT_PACKING_GROUPS,
|
|
7
|
+
CATALOG_PRICE_DISPLAY_MODES,
|
|
8
|
+
CATALOG_PRODUCT_TYPES
|
|
9
|
+
} from "./types.js";
|
|
10
|
+
import { isValidGtin, normalizeGtinValue } from "../lib/gtin.js";
|
|
3
11
|
import { REFERENCE_UNIT_CODES } from "../lib/unitCodes.js";
|
|
4
12
|
import {
|
|
5
13
|
getCatalogPriceAmountValidationMessage,
|
|
@@ -147,22 +155,76 @@ const productBaseSchema = scoped.extend({
|
|
|
147
155
|
customFieldsetCode: slugSchema.nullable().optional(),
|
|
148
156
|
isConfigurable: z.boolean().optional(),
|
|
149
157
|
isActive: z.boolean().optional(),
|
|
158
|
+
countryOfOriginCode: z.string().trim().toUpperCase().regex(/^[A-Z]{2}$/, "catalog.products.validation.countryCodeInvalid").nullable().optional(),
|
|
159
|
+
pkwiuCode: z.string().trim().min(1).max(32).nullable().optional(),
|
|
160
|
+
cnCode: z.string().trim().min(1).max(32).nullable().optional(),
|
|
161
|
+
hsCode: z.string().trim().min(1).max(32).nullable().optional(),
|
|
162
|
+
taxClassificationCode: z.string().trim().min(1).max(64).nullable().optional(),
|
|
163
|
+
gtuCodes: z.array(z.enum(CATALOG_GTU_CODES)).max(13).transform((codes) => Array.from(new Set(codes)).sort()).nullable().optional(),
|
|
164
|
+
ageMin: z.coerce.number().int().min(0).max(120).nullable().optional(),
|
|
165
|
+
isExciseGood: z.boolean().optional(),
|
|
166
|
+
exciseCategory: z.enum(CATALOG_EXCISE_CATEGORIES).nullable().optional(),
|
|
167
|
+
requiresPrescription: z.boolean().optional(),
|
|
168
|
+
hazmatClass: z.string().trim().min(1).max(32).nullable().optional(),
|
|
169
|
+
unNumber: z.string().trim().regex(/^(?:UN)?[0-9]{4}$/i, "catalog.products.validation.unNumberInvalid").transform((value) => {
|
|
170
|
+
const upper = value.toUpperCase();
|
|
171
|
+
return upper.startsWith("UN") ? upper : `UN${upper}`;
|
|
172
|
+
}).nullable().optional(),
|
|
173
|
+
hazmatPackingGroup: z.enum(CATALOG_HAZMAT_PACKING_GROUPS).nullable().optional(),
|
|
174
|
+
containsLithiumBattery: z.boolean().optional(),
|
|
175
|
+
launchAt: z.coerce.date().nullable().optional(),
|
|
176
|
+
endOfLifeAt: z.coerce.date().nullable().optional(),
|
|
177
|
+
availableFrom: z.coerce.date().nullable().optional(),
|
|
178
|
+
availableUntil: z.coerce.date().nullable().optional(),
|
|
179
|
+
minOrderQty: z.coerce.number().int().min(1).nullable().optional(),
|
|
180
|
+
maxOrderQty: z.coerce.number().int().min(1).nullable().optional(),
|
|
181
|
+
orderQtyIncrement: z.coerce.number().int().min(1).nullable().optional(),
|
|
182
|
+
requiresShipping: z.boolean().optional(),
|
|
183
|
+
isQuoteOnly: z.boolean().optional(),
|
|
184
|
+
seoTitle: z.string().trim().min(1).max(255).nullable().optional(),
|
|
185
|
+
seoDescription: z.string().trim().min(1).max(1e3).nullable().optional(),
|
|
186
|
+
canonicalUrl: z.string().trim().max(500).regex(/^https?:\/\/\S+$/, "catalog.products.validation.canonicalUrlInvalid").nullable().optional(),
|
|
150
187
|
metadata: metadataSchema,
|
|
151
188
|
offers: z.array(offerInputSchema.omit({ id: true })).optional(),
|
|
152
189
|
categoryIds: z.array(uuid()).max(100).optional(),
|
|
153
190
|
tags: z.array(tagLabelSchema).max(100).optional()
|
|
154
191
|
});
|
|
155
|
-
const
|
|
192
|
+
const productComplianceCrossFieldRefinement = (input, ctx) => {
|
|
193
|
+
if (input.minOrderQty != null && input.maxOrderQty != null && input.maxOrderQty < input.minOrderQty) {
|
|
194
|
+
ctx.addIssue({
|
|
195
|
+
code: z.ZodIssueCode.custom,
|
|
196
|
+
path: ["maxOrderQty"],
|
|
197
|
+
message: "catalog.products.validation.orderQtyRange"
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
if (input.launchAt && input.endOfLifeAt && input.endOfLifeAt < input.launchAt) {
|
|
201
|
+
ctx.addIssue({
|
|
202
|
+
code: z.ZodIssueCode.custom,
|
|
203
|
+
path: ["endOfLifeAt"],
|
|
204
|
+
message: "catalog.products.validation.lifecycleDateRange"
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
if (input.availableFrom && input.availableUntil && input.availableUntil < input.availableFrom) {
|
|
208
|
+
ctx.addIssue({
|
|
209
|
+
code: z.ZodIssueCode.custom,
|
|
210
|
+
path: ["availableUntil"],
|
|
211
|
+
message: "catalog.products.validation.availabilityDateRange"
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
const productCreateSchema = productBaseSchema.superRefine(productUomCrossFieldRefinement).superRefine(productComplianceCrossFieldRefinement);
|
|
156
216
|
const productUpdateSchema = z.object({
|
|
157
217
|
id: uuid()
|
|
158
218
|
}).merge(productBaseSchema.partial()).extend({
|
|
159
219
|
productType: productTypeSchema.optional()
|
|
160
|
-
}).superRefine(productUomCrossFieldRefinement);
|
|
161
|
-
const
|
|
220
|
+
}).superRefine(productUomCrossFieldRefinement).superRefine(productComplianceCrossFieldRefinement);
|
|
221
|
+
const variantBaseSchema = scoped.extend({
|
|
162
222
|
productId: uuid(),
|
|
163
223
|
name: z.string().trim().max(255).optional(),
|
|
164
224
|
sku: z.string().trim().regex(/^[A-Za-z0-9\-_\.]+$/).max(191).optional(),
|
|
165
225
|
barcode: z.string().trim().max(191).optional(),
|
|
226
|
+
gtinType: z.enum(CATALOG_GTIN_TYPES).nullable().optional(),
|
|
227
|
+
hsCode: z.string().trim().min(1).max(32).nullable().optional(),
|
|
166
228
|
statusEntryId: uuid().optional(),
|
|
167
229
|
isDefault: z.boolean().optional(),
|
|
168
230
|
isActive: z.boolean().optional(),
|
|
@@ -182,9 +244,42 @@ const variantCreateSchema = scoped.extend({
|
|
|
182
244
|
optionValues: variantOptionValuesSchema,
|
|
183
245
|
customFieldsetCode: slugSchema.nullable().optional()
|
|
184
246
|
});
|
|
247
|
+
const variantGtinRefinement = (mode) => (input, ctx) => {
|
|
248
|
+
const gtinType = input.gtinType;
|
|
249
|
+
if (!gtinType) return;
|
|
250
|
+
const barcode = input.barcode;
|
|
251
|
+
if (barcode === void 0) {
|
|
252
|
+
if (mode === "create") {
|
|
253
|
+
ctx.addIssue({
|
|
254
|
+
code: z.ZodIssueCode.custom,
|
|
255
|
+
path: ["barcode"],
|
|
256
|
+
message: "catalog.variants.validation.gtinBarcodeRequired"
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (!barcode.trim().length) {
|
|
262
|
+
ctx.addIssue({
|
|
263
|
+
code: z.ZodIssueCode.custom,
|
|
264
|
+
path: ["barcode"],
|
|
265
|
+
message: "catalog.variants.validation.gtinBarcodeRequired"
|
|
266
|
+
});
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
if (!isValidGtin(gtinType, normalizeGtinValue(gtinType, barcode))) {
|
|
270
|
+
ctx.addIssue({
|
|
271
|
+
code: z.ZodIssueCode.custom,
|
|
272
|
+
path: ["barcode"],
|
|
273
|
+
message: "catalog.variants.validation.gtinChecksum"
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const variantCreateSchema = variantBaseSchema.superRefine(
|
|
278
|
+
variantGtinRefinement("create")
|
|
279
|
+
);
|
|
185
280
|
const variantUpdateSchema = z.object({
|
|
186
281
|
id: uuid()
|
|
187
|
-
}).merge(
|
|
282
|
+
}).merge(variantBaseSchema.partial()).superRefine(variantGtinRefinement("update"));
|
|
188
283
|
const optionSchemaTemplateCreateSchema = scoped.extend({
|
|
189
284
|
name: z.string().trim().min(1).max(255),
|
|
190
285
|
code: slugSchema.optional(),
|