@hartl-services/medusa-base 2.4.0 → 2.6.0
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/.medusa/server/src/admin/admin-components/features/plugin-features/components/ImageSettingInput.js +48 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.js +3 -2
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +17 -0
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginPageShell.js +20 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.js +16 -3
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.js +3 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.d.ts +17 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.js +33 -1
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.d.ts +3 -0
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.js +3 -0
- package/.medusa/server/src/admin/admin-components/index.d.ts +36 -0
- package/.medusa/server/src/admin/admin-components/index.js +37 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/errors.d.ts +9 -0
- package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/errors.js +4 -6
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.js +18 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.d.ts +32 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.js +77 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.js +31 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.d.ts +2 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.js +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.js +5 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.js +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.js +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.js +12 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.js +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.d.ts +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.js +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.js +23 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.d.ts +63 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.js +84 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.js +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.js +26 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.js +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.d.ts +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.js +49 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.d.ts +11 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.js +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.js +161 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.d.ts +30 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.js +46 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.d.ts +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.js +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.js +21 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.js +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.js +60 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.d.ts +25 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.d.ts +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.d.ts +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.js +37 -0
- package/.medusa/server/src/admin/index.js +4513 -1447
- package/.medusa/server/src/admin/index.mjs +4515 -1452
- package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +15 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/[version_id]/download/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +41 -0
- package/.medusa/server/src/api/admin/email/attachments/route.js +21 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +31 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +28 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +179 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +19 -0
- package/.medusa/server/src/api/admin/email/templates/route.js +15 -0
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
- package/.medusa/server/src/api/attachment-download-response.js +12 -0
- package/.medusa/server/src/api/email-template-response.js +43 -0
- package/.medusa/server/src/api/middlewares.js +75 -17
- package/.medusa/server/src/api/plugin-actions.js +6 -5
- package/.medusa/server/src/api/plugin-features-http.js +4 -9
- package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +15 -0
- package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
- package/.medusa/server/src/documents/plugin-features.js +1 -7
- package/.medusa/server/src/documents/templates/financial-document.js +12 -11
- package/.medusa/server/src/documents/templates/html-factory.js +1 -1
- package/.medusa/server/src/documents/templates/html-utils.js +4 -10
- package/.medusa/server/src/documents/templates/layout.js +30 -11
- package/.medusa/server/src/documents/templates/packing-list.js +8 -7
- package/.medusa/server/src/documents/utils/document-render-settings.js +9 -6
- package/.medusa/server/src/email/application/handle-customer-verification-event.js +8 -3
- package/.medusa/server/src/email/application/handle-invite-event.js +8 -3
- package/.medusa/server/src/email/application/handle-password-reset-event.js +8 -3
- package/.medusa/server/src/email/application/notification-attachments.js +86 -0
- package/.medusa/server/src/email/application/template-data-from-order.js +339 -0
- package/.medusa/server/src/email/config/index.js +5 -29
- package/.medusa/server/src/email/domain/business-keys.js +5 -5
- package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +3 -3
- package/.medusa/server/src/email/domain/order-summary.js +21 -27
- package/.medusa/server/src/email/domain/refund-summary.js +7 -12
- package/.medusa/server/src/email/domain/return-summary.js +32 -38
- package/.medusa/server/src/email/domain/shipment-summary.js +22 -28
- package/.medusa/server/src/email/plugin-features.js +2 -10
- package/.medusa/server/src/email/rendering/calendar-dates.js +19 -0
- package/.medusa/server/src/email/rendering/default-templates.js +99 -682
- package/.medusa/server/src/email/rendering/email-html.js +189 -0
- package/.medusa/server/src/email/rendering/load-email-shop-details.js +14 -12
- package/.medusa/server/src/email/rendering/render-email.js +46 -13
- package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +3 -14
- package/.medusa/server/src/email/templates/blocks/dynamic-blocks.js +427 -0
- package/.medusa/server/src/email/templates/blocks/placeholders.js +71 -0
- package/.medusa/server/src/email/templates/blocks/render-document.js +137 -0
- package/.medusa/server/src/email/templates/code-override.js +18 -0
- package/.medusa/server/src/email/templates/defaults/documents.js +129 -0
- package/.medusa/server/src/email/templates/defaults/subjects.js +62 -0
- package/.medusa/server/src/email/templates/defaults/texts.js +42 -0
- package/.medusa/server/src/email/templates/index.js +22 -0
- package/.medusa/server/src/email/templates/load-template.js +39 -0
- package/.medusa/server/src/email/templates/preview.js +33 -0
- package/.medusa/server/src/email/templates/render.js +70 -0
- package/.medusa/server/src/email/templates/sample-data.js +165 -0
- package/.medusa/server/src/email/templates/types.js +3 -0
- package/.medusa/server/src/email/templates/validate.js +113 -0
- package/.medusa/server/src/files/config/index.js +6 -9
- package/.medusa/server/src/migration-scripts/move-logo-to-shop-appearance.js +53 -0
- package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +4 -3
- package/.medusa/server/src/modules/documents/domain/merchant.js +4 -3
- package/.medusa/server/src/modules/documents/domain/options.js +3 -5
- package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +4 -7
- package/.medusa/server/src/modules/documents/service.js +12 -33
- package/.medusa/server/src/modules/email/domain/attachment.js +22 -8
- package/.medusa/server/src/modules/email/migrations/Migration20261009083539.js +80 -0
- package/.medusa/server/src/modules/email/migrations/Migration20261009100654.js +17 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document-version.js +39 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document.js +27 -0
- package/.medusa/server/src/modules/email/models/email-template.js +25 -0
- package/.medusa/server/src/modules/email/service.js +370 -93
- package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +9 -11
- package/.medusa/server/src/modules/plugin-features/service.js +2 -1
- package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +3 -3
- package/.medusa/server/src/providers/s3-cache/s3-object-store.js +3 -9
- package/.medusa/server/src/providers/smtp/service.js +13 -13
- package/.medusa/server/src/public/descriptor.js +16 -18
- package/.medusa/server/src/public/enforcement.js +29 -1
- package/.medusa/server/src/public/index.js +8 -2
- package/.medusa/server/src/public/module-access.js +9 -2
- package/.medusa/server/src/public/shop-master-data.js +109 -18
- package/.medusa/server/src/shared/lib/coerce.js +26 -0
- package/.medusa/server/src/shared/lib/collections.js +19 -0
- package/.medusa/server/src/shared/lib/dates.js +43 -0
- package/.medusa/server/src/shared/lib/errors.js +11 -0
- package/.medusa/server/src/shared/lib/hash.js +8 -0
- package/.medusa/server/src/shared/lib/index.js +29 -0
- package/.medusa/server/src/shared/lib/logging.js +61 -0
- package/.medusa/server/src/shared/lib/money.js +47 -0
- package/.medusa/server/src/shared/lib/text.js +53 -0
- package/.medusa/server/src/shared/lib/transaction.js +58 -0
- package/.medusa/server/src/{api → shared/lib}/wire-response.js +1 -1
- package/.medusa/server/src/shop-config/options.js +3 -5
- package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +4 -6
- package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +10 -12
- package/.medusa/server/src/workflows/documents/issue-packing-list.js +5 -6
- package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +6 -8
- package/.medusa/server/src/workflows/email/dispatch-email-message.js +11 -41
- package/.medusa/server/src/workflows/email/prepare-order-received-email.js +2 -2
- package/.medusa/server/src/workflows/hooks/check-cart-completion.js +32 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-fields.js +30 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-participants.js +4 -8
- package/.medusa/server/src/workflows/hooks/complete-cart.js +6 -2
- package/.medusa/server/src/workflows/hooks/refunded-cart-payment.js +23 -0
- package/README.md +446 -54
- package/dist/documents/templates/financial-document.js +11 -10
- package/dist/documents/templates/html-factory.d.ts +1 -1
- package/dist/documents/templates/html-factory.js +1 -1
- package/dist/documents/templates/html-utils.d.ts +0 -1
- package/dist/documents/templates/html-utils.js +3 -9
- package/dist/documents/templates/layout.js +29 -10
- package/dist/documents/templates/packing-list.js +7 -6
- package/dist/documents/types/documents.d.ts +7 -1
- package/dist/email/config/index.js +4 -28
- package/dist/email/types/shop-configuration.d.ts +6 -5
- package/dist/files/config/index.js +5 -8
- package/dist/modules/documents/domain/options.js +2 -4
- package/dist/public/descriptor.js +15 -17
- package/dist/public/enforcement.d.ts +21 -1
- package/dist/public/enforcement.js +28 -0
- package/dist/public/index.d.ts +3 -2
- package/dist/public/index.js +7 -1
- package/dist/public/module-access.d.ts +8 -0
- package/dist/public/module-access.js +8 -1
- package/dist/public/shop-master-data.d.ts +22 -5
- package/dist/public/shop-master-data.js +108 -17
- package/dist/public/types.d.ts +10 -2
- package/dist/shared/lib/coerce.d.ts +19 -0
- package/dist/shared/lib/coerce.js +25 -0
- package/dist/shared/lib/collections.d.ts +3 -0
- package/dist/shared/lib/collections.js +18 -0
- package/dist/shared/lib/dates.d.ts +12 -0
- package/dist/shared/lib/dates.js +42 -0
- package/dist/shared/lib/errors.d.ts +2 -0
- package/dist/shared/lib/errors.js +10 -0
- package/dist/shared/lib/hash.d.ts +2 -0
- package/dist/shared/lib/hash.js +7 -0
- package/dist/shared/lib/index.d.ts +10 -0
- package/dist/shared/lib/index.js +28 -0
- package/dist/shared/lib/logging.d.ts +26 -0
- package/dist/shared/lib/logging.js +60 -0
- package/dist/shared/lib/money.d.ts +13 -0
- package/dist/shared/lib/money.js +46 -0
- package/dist/shared/lib/text.d.ts +19 -0
- package/dist/shared/lib/text.js +52 -0
- package/dist/shared/lib/transaction.d.ts +26 -0
- package/dist/shared/lib/transaction.js +57 -0
- package/dist/shared/lib/wire-response.d.ts +6 -0
- package/dist/shared/lib/wire-response.js +9 -0
- package/dist/shop-config/options.js +2 -4
- package/package.json +19 -4
- package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +0 -16
- package/.medusa/server/src/api/admin/email/terms-versions/route.js +0 -47
- package/.medusa/server/src/api/terms-download-response.js +0 -12
- package/.medusa/server/src/modules/email/models/email-terms-version.js +0 -37
- package/dist/admin-components/features/plugin-features/components/ImageSettingInput.js +0 -42
- package/dist/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +0 -16
- package/dist/admin-components/features/plugin-features/components/PluginPageShell.js +0 -20
- package/dist/admin-components/features/plugin-features/lib/image-upload.d.ts +0 -6
- package/dist/admin-components/features/plugin-features/lib/image-upload.js +0 -17
- package/dist/admin-components/index.d.ts +0 -14
- package/dist/admin-components/index.js +0 -14
- package/dist/admin-components/lib/errors.d.ts +0 -6
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/ImageSettingInput.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginPageShell.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.js +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.d.ts +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.js +0 -0
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dispatchEmailMessageWorkflow = exports.deliverEmailClaim = exports.findAttemptNotification = void 0;
|
|
4
|
-
const node_crypto_1 = require("node:crypto");
|
|
5
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
6
|
const failure_classification_1 = require("../../email/domain/failure-classification");
|
|
7
|
+
const notification_attachments_1 = require("../../email/application/notification-attachments");
|
|
8
8
|
const email_1 = require("../../modules/email");
|
|
9
9
|
const attachment_1 = require("../../modules/email/domain/attachment");
|
|
10
10
|
const load_email_shop_details_1 = require("../../email/rendering/load-email-shop-details");
|
|
11
11
|
const render_email_1 = require("../../email/rendering/render-email");
|
|
12
|
+
const templates_1 = require("../../email/templates");
|
|
12
13
|
const types_1 = require("../../email/types");
|
|
13
14
|
const emailAddressPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
14
|
-
class TermsAttachmentIntegrityError extends Error {
|
|
15
|
-
}
|
|
16
15
|
const resolveEmailService = (container) => container.resolve(email_1.EMAIL_MODULE);
|
|
17
16
|
const resolveNow = (value) => {
|
|
18
17
|
const date = value ? new Date(value) : new Date();
|
|
@@ -39,23 +38,6 @@ const asNotificationRecord = (value) => {
|
|
|
39
38
|
status: record.status,
|
|
40
39
|
};
|
|
41
40
|
};
|
|
42
|
-
const isMissingAttachmentError = (error) => {
|
|
43
|
-
if (utils_1.MedusaError.isMedusaError(error) &&
|
|
44
|
-
error.type === utils_1.MedusaError.Types.NOT_FOUND) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (!error || typeof error !== "object") {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
const record = error;
|
|
51
|
-
if (record.code === "ENOENT" || record.name === "NoSuchKey") {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
const metadata = record.$metadata;
|
|
55
|
-
return (Boolean(metadata) &&
|
|
56
|
-
typeof metadata === "object" &&
|
|
57
|
-
metadata.httpStatusCode === 404);
|
|
58
|
-
};
|
|
59
41
|
const findAttemptNotification = async (container, attemptId) => {
|
|
60
42
|
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
61
43
|
const result = await query.graph({
|
|
@@ -175,39 +157,27 @@ const deliverEmailClaim = async (container, claim, clock) => {
|
|
|
175
157
|
let attachments;
|
|
176
158
|
try {
|
|
177
159
|
const files = container.resolve(utils_1.Modules.FILE);
|
|
178
|
-
attachments = await
|
|
179
|
-
const content = await files.getAsBuffer(descriptor.file_id);
|
|
180
|
-
if ("source" in descriptor &&
|
|
181
|
-
(content.byteLength !== descriptor.byte_size ||
|
|
182
|
-
(0, node_crypto_1.createHash)("sha256").update(content).digest("hex") !==
|
|
183
|
-
descriptor.sha256)) {
|
|
184
|
-
throw new TermsAttachmentIntegrityError();
|
|
185
|
-
}
|
|
186
|
-
return {
|
|
187
|
-
content: content.toString("binary"),
|
|
188
|
-
content_type: descriptor.content_type,
|
|
189
|
-
disposition: "attachment",
|
|
190
|
-
filename: descriptor.filename,
|
|
191
|
-
id: (0, attachment_1.emailAttachmentId)(descriptor),
|
|
192
|
-
};
|
|
193
|
-
}));
|
|
160
|
+
attachments = await (0, notification_attachments_1.loadNotificationAttachments)(files, attachmentDescriptors.data);
|
|
194
161
|
}
|
|
195
162
|
catch (error) {
|
|
196
|
-
if (error instanceof
|
|
163
|
+
if (error instanceof notification_attachments_1.NotificationAttachmentIntegrityError) {
|
|
197
164
|
return await failPreparation(email, logger, claim, "attachment_invalid", getNow());
|
|
198
165
|
}
|
|
199
|
-
if (
|
|
166
|
+
if (error instanceof notification_attachments_1.NotificationAttachmentMissingError) {
|
|
200
167
|
return await failPreparation(email, logger, claim, "attachment_unavailable", getNow());
|
|
201
168
|
}
|
|
202
169
|
return await completeDeliveryFailure(email, logger, claim, { code: "resource_unavailable", outcome: "retryable" }, null, getNow());
|
|
203
170
|
}
|
|
204
|
-
const shop = await
|
|
171
|
+
const [shop, template] = await Promise.all([
|
|
172
|
+
(0, load_email_shop_details_1.loadEmailShopDetails)(container),
|
|
173
|
+
(0, templates_1.loadEmailTemplate)(container, email, message.kind),
|
|
174
|
+
]);
|
|
205
175
|
let rendered;
|
|
206
176
|
try {
|
|
207
177
|
rendered = (0, render_email_1.renderEmail)(email.getDispatchConfiguration(), {
|
|
208
178
|
kind: message.kind,
|
|
209
179
|
data: templateData.data,
|
|
210
|
-
}, shop);
|
|
180
|
+
}, shop, template);
|
|
211
181
|
}
|
|
212
182
|
catch {
|
|
213
183
|
return await failPreparation(email, logger, claim, "render_failed", getNow());
|
|
@@ -300,4 +270,4 @@ const dispatchEmailMessageStep = (0, workflows_sdk_1.createStep)("email-dispatch
|
|
|
300
270
|
return new workflows_sdk_1.StepResponse(await (0, exports.deliverEmailClaim)(container, claim, clock));
|
|
301
271
|
});
|
|
302
272
|
exports.dispatchEmailMessageWorkflow = (0, workflows_sdk_1.createWorkflow)("email-dispatch-message", (input) => new workflows_sdk_1.WorkflowResponse(dispatchEmailMessageStep(input)));
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtZW1haWwtbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZW1haWwvZGlzcGF0Y2gtZW1haWwtbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUM7QUFRekMscURBSW1DO0FBQ25DLHFFQUsyQztBQUUzQyxzRkFNbUQ7QUFDbkQsK0NBQW1EO0FBQ25ELHNFQUcrQztBQUcvQywyRkFBcUY7QUFDckYscUVBQWlFO0FBQ2pFLDZDQUcyQjtBQUUzQixNQUFNLG1CQUFtQixHQUFHLDRCQUE0QixDQUFDO0FBRXpELE1BQU0sNkJBQThCLFNBQVEsS0FBSztDQUFHO0FBOEJwRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBMEIsRUFBc0IsRUFBRSxDQUM3RSxTQUFTLENBQUMsT0FBTyxDQUFxQixvQkFBWSxDQUFDLENBQUM7QUFFdEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFjLEVBQVEsRUFBRTtJQUMxQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2xELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxTQUFTLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYyxFQUE2QixFQUFFO0lBQ3pFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztJQUNo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
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtZW1haWwtbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZW1haWwvZGlzcGF0Y2gtZW1haWwtbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxxREFHbUM7QUFDbkMscUVBSzJDO0FBRTNDLHNGQU1tRDtBQUNuRCwrRkFJMEQ7QUFDMUQsK0NBQW1EO0FBQ25ELHNFQUE4RTtBQUc5RSwyRkFBcUY7QUFDckYscUVBQWlFO0FBQ2pFLHFEQUEwRDtBQUMxRCw2Q0FJMkI7QUFFM0IsTUFBTSxtQkFBbUIsR0FBRyw0QkFBNEIsQ0FBQztBQThCekQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQTBCLEVBQXNCLEVBQUUsQ0FDN0UsU0FBUyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0FBRXRELE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFRLEVBQUU7SUFDMUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksU0FBUyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWMsRUFBNkIsRUFBRTtJQUN6RSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEtBQWdDLENBQUM7SUFDaEQsSUFDRSxPQUFPLE1BQU0sQ0FB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
|
|
@@ -46,7 +46,7 @@ const prepareOrderReceivedEmail = async (container, input) => {
|
|
|
46
46
|
fact: "placed",
|
|
47
47
|
template_data: { order_id: order.id, ...summaryData },
|
|
48
48
|
suppression_code: order.no_notification === true ? "notifications_disabled" : null,
|
|
49
|
-
|
|
49
|
+
attachments_effective_at: new Date(order.created_at),
|
|
50
50
|
});
|
|
51
51
|
const adminMessage = await email.upsertMessageFact({
|
|
52
52
|
kind: "order.received.admin",
|
|
@@ -79,4 +79,4 @@ const prepareOrderReceivedEmail = async (container, input) => {
|
|
|
79
79
|
exports.prepareOrderReceivedEmail = prepareOrderReceivedEmail;
|
|
80
80
|
const prepareOrderReceivedEmailStep = (0, workflows_sdk_1.createStep)("email-prepare-order-received", async (input, { container }) => new workflows_sdk_1.StepResponse(await (0, exports.prepareOrderReceivedEmail)(container, input)));
|
|
81
81
|
exports.prepareOrderReceivedEmailWorkflow = (0, workflows_sdk_1.createWorkflow)("email-prepare-order-received", (input) => new workflows_sdk_1.WorkflowResponse(prepareOrderReceivedEmailStep(input)));
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1vcmRlci1yZWNlaXZlZC1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZW1haWwvcHJlcGFyZS1vcmRlci1yZWNlaXZlZC1lbWFpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFHbUM7QUFDbkMscUVBSzJDO0FBQzNDLDREQUFxRTtBQUVyRSxvRUFHMEM7QUFDMUMsb0VBRzBDO0FBRTFDLCtDQUFtRDtBQUVuRCxxRUFBd0U7QUFtQnhFOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsU0FBMEIsRUFDMUIsS0FBYyxFQUNjLEVBQUU7SUFDOUIsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFBLDhCQUFjLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsU0FBUzthQUNOLE9BQU8sQ0FBUyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUM7YUFDakQsSUFBSSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDcEUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUssTUFBTSx5QkFBeUIsR0FBRyxLQUFLLEVBQzVDLFNBQTBCLEVBQzFCLEtBQXFDLEVBQ0ssRUFBRTtJQUM1QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLG1DQUFzQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM3RCxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsb0NBQW9CLENBQUM7U0FDM0Q7S0FDRixDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxL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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkCartCompletion = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const complete_cart_fields_1 = require("./complete-cart-fields");
|
|
6
|
+
const complete_cart_participants_1 = require("./complete-cart-participants");
|
|
7
|
+
const refunded_cart_payment_1 = require("./refunded-cart-payment");
|
|
8
|
+
/**
|
|
9
|
+
* Runs the checks complete-cart's `validate` hook runs (refunded payment,
|
|
10
|
+
* every plugin's validate participant) without completing the cart. Stripe
|
|
11
|
+
* captures on confirmation, so a Storefront asks this right before it
|
|
12
|
+
* confirms a payment instead of learning about a refusal after the money was
|
|
13
|
+
* taken (which Medusa then refunds). Throws the same errors; writes nothing.
|
|
14
|
+
*/
|
|
15
|
+
const checkCartCompletion = async (container, cartId) => {
|
|
16
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
17
|
+
const { data: [cart], } = await query.graph({
|
|
18
|
+
entity: "cart",
|
|
19
|
+
fields: (0, complete_cart_fields_1.loadCompleteCartFields)(),
|
|
20
|
+
filters: { id: cartId },
|
|
21
|
+
});
|
|
22
|
+
if (!cart) {
|
|
23
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Cart with id: ${cartId} was not found`);
|
|
24
|
+
}
|
|
25
|
+
if (cart.completed_at) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Dieser Warenkorb wurde bereits abgeschlossen.");
|
|
27
|
+
}
|
|
28
|
+
(0, refunded_cart_payment_1.assertCartPaymentNotRefunded)(cart);
|
|
29
|
+
await (0, complete_cart_participants_1.runCompleteCartValidateParticipants)({ input: { id: cartId }, cart }, { container, context: {}, eventGroupId: undefined });
|
|
30
|
+
};
|
|
31
|
+
exports.checkCartCompletion = checkCartCompletion;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY2FydC1jb21wbGV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9jaGVjay1jYXJ0LWNvbXBsZXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBR2tDO0FBRWxDLGlFQUErRDtBQUMvRCw2RUFBa0Y7QUFDbEYsbUVBQXNFO0FBRXRFOzs7Ozs7R0FNRztBQUNJLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUN0QyxTQUEwQixFQUMxQixNQUFjLEVBQ0MsRUFBRTtJQUNqQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FDYixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRSxJQUFBLDZDQUFzQixHQUFFO1FBQ2hDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7S0FDeEIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsaUJBQWlCLE1BQU0sZ0JBQWdCLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsK0NBQStDLENBQ2hELENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBQSxvREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUNsQyxNQUFNLElBQUEsZ0VBQW1DLEVBQ3ZDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFFekIsRUFDSixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FDcEQsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQWxDWSxRQUFBLG1CQUFtQix1QkFrQy9CIn0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadCompleteCartFields = void 0;
|
|
4
|
+
const node_module_1 = require("node:module");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
let cachedFields;
|
|
8
|
+
/**
|
|
9
|
+
* The fields complete-cart loads its cart with (Medusa 2.19.0
|
|
10
|
+
* `completeCartFields`, core-flows dist/cart/utils/fields.js), so the
|
|
11
|
+
* completion check hands the validate participants exactly the cart shape
|
|
12
|
+
* the completion does. core-flows does not export it, so it is read from the
|
|
13
|
+
* core-flows copy `@medusajs/medusa` itself uses. A Medusa upgrade that moves
|
|
14
|
+
* the file fails here loudly instead of checking a different cart shape.
|
|
15
|
+
*/
|
|
16
|
+
const loadCompleteCartFields = () => {
|
|
17
|
+
if (cachedFields) {
|
|
18
|
+
return cachedFields;
|
|
19
|
+
}
|
|
20
|
+
const coreFlowsEntry = (0, node_module_1.createRequire)(require.resolve("@medusajs/medusa/core-flows")).resolve("@medusajs/core-flows");
|
|
21
|
+
const { completeCartFields } = require((0, node_path_1.join)((0, node_path_1.dirname)(coreFlowsEntry), "cart", "utils", "fields.js"));
|
|
22
|
+
if (!Array.isArray(completeCartFields) ||
|
|
23
|
+
!completeCartFields.every((field) => typeof field === "string")) {
|
|
24
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Medusa's complete-cart field list could not be read.");
|
|
25
|
+
}
|
|
26
|
+
cachedFields = completeCartFields;
|
|
27
|
+
return cachedFields;
|
|
28
|
+
};
|
|
29
|
+
exports.loadCompleteCartFields = loadCompleteCartFields;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL2NvbXBsZXRlLWNhcnQtZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEyQztBQUMzQyx5Q0FBeUM7QUFFekMscURBQXVEO0FBRXZELElBQUksWUFBa0MsQ0FBQTtBQUV0Qzs7Ozs7OztHQU9HO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxHQUFhLEVBQUU7SUFDbkQsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBQSwyQkFBYSxFQUNsQyxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQy9DLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDakMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsT0FBTyxDQUNwQyxJQUFBLGdCQUFJLEVBQUMsSUFBQSxtQkFBTyxFQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQ3hCLENBQUE7SUFFckMsSUFDRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDbEMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUMvRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyxzREFBc0QsQ0FDdkQsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLEdBQUcsa0JBQThCLENBQUE7SUFDN0MsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQyxDQUFBO0FBeEJZLFFBQUEsc0JBQXNCLDBCQXdCbEMifQ==
|
|
@@ -4,6 +4,7 @@ exports.compensateCompleteCartOrderCreatedParticipants = exports.runCompleteCart
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
6
|
const discover_complete_cart_participants_1 = require("../../utils/discover-complete-cart-participants");
|
|
7
|
+
const lib_1 = require("../../shared/lib");
|
|
7
8
|
const participantsFor = (hook, container, modules) => modules
|
|
8
9
|
? (0, discover_complete_cart_participants_1.selectCompleteCartParticipants)(modules, hook)
|
|
9
10
|
: (0, discover_complete_cart_participants_1.listCompleteCartParticipants)(container, hook);
|
|
@@ -60,11 +61,6 @@ const participantContext = (context) => {
|
|
|
60
61
|
preventReleaseEvents: true,
|
|
61
62
|
};
|
|
62
63
|
};
|
|
63
|
-
const describeError = (error) => error instanceof Error
|
|
64
|
-
? error.message
|
|
65
|
-
: typeof error?.message === "string"
|
|
66
|
-
? error.message
|
|
67
|
-
: String(error);
|
|
68
64
|
/**
|
|
69
65
|
* Runs every `validate` participant in order. No transaction id: validation
|
|
70
66
|
* writes nothing, so there is nothing to compensate. The first error is
|
|
@@ -126,7 +122,7 @@ const runCompleteCartOrderCreatedParticipants = async (input, context, modules)
|
|
|
126
122
|
await cancelParticipant(done.workflow_id, transactionId, container, participantContext(context));
|
|
127
123
|
}
|
|
128
124
|
catch (rollbackError) {
|
|
129
|
-
logError(container, `Complete-cart orderCreated rollback failed for module "${done.module_key}", workflow "${done.workflow_id}" (cart ${input.cart_id}, order ${input.order_id}, transaction ${transactionId}) after "${participant.workflow_id}" failed: ${describeError(rollbackError)}`);
|
|
125
|
+
logError(container, `Complete-cart orderCreated rollback failed for module "${done.module_key}", workflow "${done.workflow_id}" (cart ${input.cart_id}, order ${input.order_id}, transaction ${transactionId}) after "${participant.workflow_id}" failed: ${(0, lib_1.describeError)(rollbackError)}`);
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
128
|
throw error;
|
|
@@ -160,7 +156,7 @@ const compensateCompleteCartOrderCreatedParticipants = async (compensation, cont
|
|
|
160
156
|
await cancelParticipant(workflowId, compensation.transaction_id, container, participantContext(context));
|
|
161
157
|
}
|
|
162
158
|
catch (error) {
|
|
163
|
-
logError(container, `Complete-cart orderCreated compensation failed for workflow "${workflowId}" (transaction ${compensation.transaction_id}): ${describeError(error)}`);
|
|
159
|
+
logError(container, `Complete-cart orderCreated compensation failed for workflow "${workflowId}" (transaction ${compensation.transaction_id}): ${(0, lib_1.describeError)(error)}`);
|
|
164
160
|
if (!failed) {
|
|
165
161
|
failed = true;
|
|
166
162
|
firstFailure = error;
|
|
@@ -172,4 +168,4 @@ const compensateCompleteCartOrderCreatedParticipants = async (compensation, cont
|
|
|
172
168
|
}
|
|
173
169
|
};
|
|
174
170
|
exports.compensateCompleteCartOrderCreatedParticipants = compensateCompleteCartOrderCreatedParticipants;
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1wYXJ0aWNpcGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL2NvbXBsZXRlLWNhcnQtcGFydGljaXBhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUtrQztBQUNsQyxxRUFBZ0Y7QUFRaEYseUdBSXdEO0FBRXhELDBDQUFnRDtBQTJCaEQsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsSUFBMEIsRUFDMUIsU0FBMEIsRUFDMUIsT0FBZ0QsRUFDaEIsRUFBRSxDQUNsQyxPQUFPO0lBQ0wsQ0FBQyxDQUFDLElBQUEsb0VBQThCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUMvQyxDQUFDLENBQUMsSUFBQSxrRUFBNEIsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxTQUEwQixFQUFFLE9BQWUsRUFBUSxFQUFFO0lBQ3JFLElBQUksQ0FBQztRQUNILFNBQVM7YUFDTixPQUFPLENBQ04saUNBQXlCLENBQUMsTUFBTSxDQUNqQzthQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsMERBQTBEO0lBQzVELENBQUM7QUFDSCxDQUFDLENBQUE7QUFnQkQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUM3QixVQUFrQixFQUNsQixhQUFxQixFQUNyQixTQUEwQixFQUMxQixPQUFnQyxFQUNqQixFQUFFO0lBQ2pCLE1BQU0sUUFBUSxHQUNaLDhCQUdELENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGFBQWEsVUFBVSxzQkFBc0IsQ0FDOUMsQ0FB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
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
4
4
|
const complete_cart_participants_1 = require("./complete-cart-participants");
|
|
5
|
+
const refunded_cart_payment_1 = require("./refunded-cart-payment");
|
|
5
6
|
/**
|
|
6
7
|
* The ONLY registrations of these two hooks in the whole shop. Medusa 2.19.0
|
|
7
8
|
* throws "Cannot define multiple hook handlers" for a second handler
|
|
@@ -9,9 +10,12 @@ const complete_cart_participants_1 = require("./complete-cart-participants");
|
|
|
9
10
|
* `completeCartHooks()` on their module service instead and the base runs
|
|
10
11
|
* their workflows. The cart path never reads feature toggles.
|
|
11
12
|
*/
|
|
12
|
-
core_flows_1.completeCartWorkflow.hooks.validate((input, context) =>
|
|
13
|
+
core_flows_1.completeCartWorkflow.hooks.validate(async (input, context) => {
|
|
14
|
+
(0, refunded_cart_payment_1.assertCartPaymentNotRefunded)(input.cart);
|
|
15
|
+
return await (0, complete_cart_participants_1.runCompleteCartValidateParticipants)(input, context);
|
|
16
|
+
});
|
|
13
17
|
// Medusa 2.19.0 creates this hook internally but omits it from complete cart's
|
|
14
18
|
// public declaration. Keep the cast isolated to this version-specific edge.
|
|
15
19
|
const { orderCreated } = core_flows_1.completeCartWorkflow.hooks;
|
|
16
20
|
orderCreated((input, context) => (0, complete_cart_participants_1.runCompleteCartOrderCreatedParticipants)(input, context), complete_cart_participants_1.compensateCompleteCartOrderCreatedParticipants);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaG9va3MvY29tcGxldGUtY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDREQUFrRTtBQUdsRSw2RUFNcUM7QUFDckMsbUVBQXNFO0FBRXRFOzs7Ozs7R0FNRztBQUVILGlDQUFvQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxJQUFBLG9EQUE0QixFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxPQUFPLE1BQU0sSUFBQSxnRUFBbUMsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDbEUsQ0FBQyxDQUFDLENBQUE7QUFhRiwrRUFBK0U7QUFDL0UsNEVBQTRFO0FBQzVFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxpQ0FBb0IsQ0FBQyxLQUU3QyxDQUFBO0FBRUQsWUFBWSxDQUNWLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBQSxvRUFBdUMsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQzNFLDJFQUE4QyxDQUMvQyxDQUFBIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertCartPaymentNotRefunded = exports.REFUNDED_CART_PAYMENT_MESSAGE = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
exports.REFUNDED_CART_PAYMENT_MESSAGE = "Die Zahlung für diesen Warenkorb wurde bereits erstattet. Bitte bestelle erneut.";
|
|
6
|
+
/**
|
|
7
|
+
* Refuses to complete a cart whose payment was already refunded. A completion
|
|
8
|
+
* that fails after the provider captured (Stripe with `capture: true` captures
|
|
9
|
+
* on confirmation) makes Medusa 2.19.0 refund the payment
|
|
10
|
+
* (`compensate-payment-if-needed`) and then fail to recreate the session,
|
|
11
|
+
* because a succeeded PaymentIntent cannot be cancelled. The cart stays open
|
|
12
|
+
* with the captured session, and a later completion would authorize that
|
|
13
|
+
* refunded payment again and place an order nobody paid for. Storefronts
|
|
14
|
+
* replace such a cart; this check is the backstop for every caller.
|
|
15
|
+
*/
|
|
16
|
+
const assertCartPaymentNotRefunded = (cart) => {
|
|
17
|
+
const refundedAmount = cart.payment_collection?.refunded_amount;
|
|
18
|
+
if (refundedAmount != null && utils_1.MathBN.gt(refundedAmount, 0)) {
|
|
19
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, exports.REFUNDED_CART_PAYMENT_MESSAGE);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.assertCartPaymentNotRefunded = assertCartPaymentNotRefunded;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kZWQtY2FydC1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9yZWZ1bmRlZC1jYXJ0LXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStEO0FBRWxELFFBQUEsNkJBQTZCLEdBQ3hDLGtGQUFrRixDQUFBO0FBUXBGOzs7Ozs7Ozs7R0FTRztBQUNJLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxJQUFxQixFQUFRLEVBQUU7SUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQTtJQUUvRCxJQUFJLGNBQWMsSUFBSSxJQUFJLElBQUksY0FBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3QixxQ0FBNkIsQ0FDOUIsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUFUWSxRQUFBLDRCQUE0QixnQ0FTeEMifQ==
|