@medusajs/loyalty-plugin 0.0.1
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/components/action-menu.js +63 -0
- package/.medusa/server/src/admin/components/chip-group.js +82 -0
- package/.medusa/server/src/admin/components/chip-input.js +157 -0
- package/.medusa/server/src/admin/components/combobox.js +324 -0
- package/.medusa/server/src/admin/components/conditional-tooltip.js +15 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-boolean-cell.js +66 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-cell-container.js +77 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-currency-cell.js +110 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-duplicate-cell.js +16 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-keyboard-shortcut-modal.js +214 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-number-cell.js +77 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-readonly-cell.js +32 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-root.js +743 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-row-error-indicator.js +37 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-skeleton.js +54 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-text-cell.js +66 -0
- package/.medusa/server/src/admin/components/data-grid/components/data-grid-toggleable-number-cell.js +166 -0
- package/.medusa/server/src/admin/components/data-grid/components/index.js +16 -0
- package/.medusa/server/src/admin/components/data-grid/context/data-grid-context.js +7 -0
- package/.medusa/server/src/admin/components/data-grid/context/index.js +6 -0
- package/.medusa/server/src/admin/components/data-grid/context/use-data-grid-context.js +14 -0
- package/.medusa/server/src/admin/components/data-grid/data-grid.js +31 -0
- package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-column-helper.js +28 -0
- package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-price-columns.js +85 -0
- package/.medusa/server/src/admin/components/data-grid/helpers/index.js +6 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/index.js +31 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-error.js +50 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-handlers.js +123 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-metadata.js +52 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-snapshot.js +43 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell.js +191 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-clipboard-events.js +70 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-column-visibility.js +51 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-duplicate-cell.js +15 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-error-highlighting.js +86 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-form-handlers.js +149 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-keydown-event.js +482 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-mouse-up-event.js +64 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-navigation.js +81 -0
- package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-query-tool.js +14 -0
- package/.medusa/server/src/admin/components/data-grid/index.js +8 -0
- package/.medusa/server/src/admin/components/data-grid/models/data-grid-bulk-update-command.js +27 -0
- package/.medusa/server/src/admin/components/data-grid/models/data-grid-matrix.js +296 -0
- package/.medusa/server/src/admin/components/data-grid/models/data-grid-query-tool.js +62 -0
- package/.medusa/server/src/admin/components/data-grid/models/data-grid-update-command.js +25 -0
- package/.medusa/server/src/admin/components/data-grid/models/index.js +10 -0
- package/.medusa/server/src/admin/components/data-grid/types.js +1 -0
- package/.medusa/server/src/admin/components/data-grid/utils.js +18 -0
- package/.medusa/server/src/admin/components/data-table/components/data-table-status-cell/data-table-status-cell.js +36 -0
- package/.medusa/server/src/admin/components/data-table/data-table.js +271 -0
- package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-columns.js +51 -0
- package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-filters.js +90 -0
- package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/index.js +10 -0
- package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-columns.js +48 -0
- package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-empty-state.js +19 -0
- package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-filters.js +30 -0
- package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-query.js +23 -0
- package/.medusa/server/src/admin/components/data-table/index.js +4 -0
- package/.medusa/server/src/admin/components/data-table.js +249 -0
- package/.medusa/server/src/admin/components/display-id.js +18 -0
- package/.medusa/server/src/admin/components/file-upload.js +116 -0
- package/.medusa/server/src/admin/components/form.js +151 -0
- package/.medusa/server/src/admin/components/handle-input.js +22 -0
- package/.medusa/server/src/admin/components/header.js +41 -0
- package/.medusa/server/src/admin/components/icon-avatar.js +27 -0
- package/.medusa/server/src/admin/components/json-view-section.js +139 -0
- package/.medusa/server/src/admin/components/keybound-form.js +32 -0
- package/.medusa/server/src/admin/components/layouts/single-column.js +7 -0
- package/.medusa/server/src/admin/components/layouts/two-column.js +13 -0
- package/.medusa/server/src/admin/components/listicle.js +20 -0
- package/.medusa/server/src/admin/components/modals/index.js +19 -0
- package/.medusa/server/src/admin/components/modals/route-drawer/index.js +4 -0
- package/.medusa/server/src/admin/components/modals/route-drawer/route-drawer.js +57 -0
- package/.medusa/server/src/admin/components/modals/route-focus-modal/index.js +4 -0
- package/.medusa/server/src/admin/components/modals/route-focus-modal/route-focus-modal.js +71 -0
- package/.medusa/server/src/admin/components/modals/route-modal-form/index.js +4 -0
- package/.medusa/server/src/admin/components/modals/route-modal-form/route-modal-form.js +60 -0
- package/.medusa/server/src/admin/components/modals/route-modal-provider/index.js +6 -0
- package/.medusa/server/src/admin/components/modals/route-modal-provider/route-modal-context.js +5 -0
- package/.medusa/server/src/admin/components/modals/route-modal-provider/route-provider.js +30 -0
- package/.medusa/server/src/admin/components/modals/route-modal-provider/use-route-modal.js +12 -0
- package/.medusa/server/src/admin/components/modals/stacked-drawer/index.js +5 -0
- package/.medusa/server/src/admin/components/modals/stacked-drawer/stacked-drawer.js +55 -0
- package/.medusa/server/src/admin/components/modals/stacked-focus-modal/index.js +5 -0
- package/.medusa/server/src/admin/components/modals/stacked-focus-modal/stacked-focus-modal.js +63 -0
- package/.medusa/server/src/admin/components/modals/stacked-modal-provider/index.js +6 -0
- package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-context.js +5 -0
- package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-provider.js +47 -0
- package/.medusa/server/src/admin/components/modals/stacked-modal-provider/use-stacked-modal.js +14 -0
- package/.medusa/server/src/admin/components/placeholder-cell.js +7 -0
- package/.medusa/server/src/admin/components/product/product-cell/index.js +5 -0
- package/.medusa/server/src/admin/components/product/product-cell/product-cell.js +15 -0
- package/.medusa/server/src/admin/components/product/product-status-cell/index.js +5 -0
- package/.medusa/server/src/admin/components/product/product-status-cell/product-status-cell.js +18 -0
- package/.medusa/server/src/admin/components/product/sales-channels-cell/index.js +5 -0
- package/.medusa/server/src/admin/components/product/sales-channels-cell/sales-channels-cell.js +31 -0
- package/.medusa/server/src/admin/components/product/variant-cell/index.js +5 -0
- package/.medusa/server/src/admin/components/product/variant-cell/variant-cell.js +15 -0
- package/.medusa/server/src/admin/components/section-row.js +32 -0
- package/.medusa/server/src/admin/components/sidebar-link.js +31 -0
- package/.medusa/server/src/admin/components/sortable-list.js +152 -0
- package/.medusa/server/src/admin/components/switch-box.js +43 -0
- package/.medusa/server/src/admin/components/tax-badge.js +18 -0
- package/.medusa/server/src/admin/components/thumbnail.js +28 -0
- package/.medusa/server/src/admin/components/upload-media-form-item.js +83 -0
- package/.medusa/server/src/admin/hooks/api/customers.js +26 -0
- package/.medusa/server/src/admin/hooks/api/gift-cards.js +107 -0
- package/.medusa/server/src/admin/hooks/api/order.js +16 -0
- package/.medusa/server/src/admin/hooks/api/price-preferences.js +19 -0
- package/.medusa/server/src/admin/hooks/api/products.js +127 -0
- package/.medusa/server/src/admin/hooks/api/regions.js +17 -0
- package/.medusa/server/src/admin/hooks/api/sales-channels.js +28 -0
- package/.medusa/server/src/admin/hooks/api/store-credit-accounts.js +41 -0
- package/.medusa/server/src/admin/hooks/api/store.js +31 -0
- package/.medusa/server/src/admin/hooks/api/transaction-groups.js +23 -0
- package/.medusa/server/src/admin/hooks/api/transactions.js +23 -0
- package/.medusa/server/src/admin/hooks/commands/use-command-history.js +45 -0
- package/.medusa/server/src/admin/hooks/common/use-combobox-data.js +59 -0
- package/.medusa/server/src/admin/hooks/common/use-data-table-date-filters.js +89 -0
- package/.medusa/server/src/admin/hooks/common/use-date.js +32 -0
- package/.medusa/server/src/admin/hooks/common/use-debounced-search.js +22 -0
- package/.medusa/server/src/admin/hooks/common/use-query-params.js +14 -0
- package/.medusa/server/src/admin/hooks/query/use-customers-filters.js +30 -0
- package/.medusa/server/src/admin/hooks/query/use-transaction-groups-filters.js +30 -0
- package/.medusa/server/src/admin/hooks/sales-channels/index.js +10 -0
- package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-columns.js +48 -0
- package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-empty-state.js +19 -0
- package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-filters.js +30 -0
- package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-query.js +23 -0
- package/.medusa/server/src/admin/lib/currencies.js +729 -0
- package/.medusa/server/src/admin/lib/query-key.js +17 -0
- package/.medusa/server/src/admin/lib/sdk.js +10 -0
- package/.medusa/server/src/admin/routes/gift-card-products/@create/page.js +75 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/components/gift-card-product-edit-denominations-form.js +172 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/page.js +30 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/components/gift-card-product-edit-form.js +180 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/page.js +30 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-general-section.js +97 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-media-section.js +162 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-sales-channel-section.js +89 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-variant-section.js +199 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/edit-product-media-form.js +353 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/index.js +5 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/index.js +4 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/product-media-gallery.js +247 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/index.js +4 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view-context.js +5 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view.js +48 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/use-product-media-view.js +14 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/page.js +28 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/page.js +40 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/prices-edit.js +121 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/variant-pricing-form.js +72 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/page.js +23 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/components/edit-sales-channel-form.js +123 -0
- package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/page.js +23 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/general-form-section.js +1 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-denominations-form.js +98 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-details-form.js +28 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-denominations.js +96 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-general.js +90 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-media.js +288 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-organize-section.js +111 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-organize.js +23 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form.js +285 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-sales-channel-stacked-modal.js +124 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/index.js +4 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/schema.js +112 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/types.js +1 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/columns.js +35 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/filters.js +11 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/gift-card-products-table.js +61 -0
- package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/query.js +23 -0
- package/.medusa/server/src/admin/routes/gift-card-products/page.js +18 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/@expiration/page.js +137 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/@note/page.js +87 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/components/transfer-icon.js +352 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/page.js +116 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-balance-section.js +49 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-general-section.js +177 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-note-section.js +27 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-order-section.js +33 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-owner-section.js +33 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-transactions-section.js +18 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/columns.js +50 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/query.js +23 -0
- package/.medusa/server/src/admin/routes/gift-cards/_id_/page.js +78 -0
- package/.medusa/server/src/admin/routes/gift-cards/components/gift-card-products-section.js +40 -0
- package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/columns.js +57 -0
- package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/filters.js +13 -0
- package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/gift-cards-table.js +61 -0
- package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/query.js +23 -0
- package/.medusa/server/src/admin/routes/gift-cards/page.js +27 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/credit-card-icon.js +126 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-balance-section.js +31 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-details-section.js +43 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/columns.js +44 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/filters.js +18 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/query.js +37 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/table.js +58 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/page.js +39 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/columns.js +58 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/filters.js +13 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/query.js +31 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/table.js +56 -0
- package/.medusa/server/src/admin/routes/store-credit-accounts/page.js +19 -0
- package/.medusa/server/src/admin/utils/date-utils.js +27 -0
- package/.medusa/server/src/admin/utils/format-amount.js +9 -0
- package/.medusa/server/src/admin/utils/format-date.js +21 -0
- package/.medusa/server/src/admin/utils/refs.js +20 -0
- package/.medusa/server/src/admin/utils/statuses.js +23 -0
- package/.medusa/server/src/admin/utils/validations.js +71 -0
- package/.medusa/server/src/admin/utils/variants.js +92 -0
- package/.medusa/server/src/admin/widgets/customer-gift-cards-widget.js +67 -0
- package/.medusa/server/src/admin/widgets/customer-store-credit-widget.js +42 -0
- package/.medusa/server/src/admin/widgets/order-gift-cards-widget.js +58 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/redeem/route.js +25 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/route.js +41 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/transfer/route.js +24 -0
- package/.medusa/server/src/api/admin/gift-cards/middlewares.js +55 -0
- package/.medusa/server/src/api/admin/gift-cards/query-config.js +29 -0
- package/.medusa/server/src/api/admin/gift-cards/route.js +42 -0
- package/.medusa/server/src/api/admin/gift-cards/validators.js +69 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.js +24 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.js +23 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.js +38 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/query-config.js +43 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/route.js +52 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/validators.js +51 -0
- package/.medusa/server/src/api/admin/transaction-groups/middlewares.js +16 -0
- package/.medusa/server/src/api/admin/transaction-groups/query-config.js +13 -0
- package/.medusa/server/src/api/admin/transaction-groups/route.js +27 -0
- package/.medusa/server/src/api/admin/transaction-groups/validators.js +19 -0
- package/.medusa/server/src/api/middlewares.js +22 -0
- package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.js +43 -0
- package/.medusa/server/src/api/store/carts/middlewares.js +26 -0
- package/.medusa/server/src/api/store/carts/query-config.js +9 -0
- package/.medusa/server/src/api/store/carts/validators.js +15 -0
- package/.medusa/server/src/api/store/gift-card-invitations/[code]/accept/route.js +24 -0
- package/.medusa/server/src/api/store/gift-card-invitations/[code]/reject/route.js +24 -0
- package/.medusa/server/src/api/store/gift-card-invitations/middlewares.js +30 -0
- package/.medusa/server/src/api/store/gift-card-invitations/query-config.js +17 -0
- package/.medusa/server/src/api/store/gift-card-invitations/validators.js +14 -0
- package/.medusa/server/src/api/store/gift-cards/[id]/invitation/route.js +26 -0
- package/.medusa/server/src/api/store/gift-cards/[id]/redeem/route.js +24 -0
- package/.medusa/server/src/api/store/gift-cards/[id]/route.js +16 -0
- package/.medusa/server/src/api/store/gift-cards/middlewares.js +46 -0
- package/.medusa/server/src/api/store/gift-cards/query-config.js +26 -0
- package/.medusa/server/src/api/store/gift-cards/route.js +28 -0
- package/.medusa/server/src/api/store/gift-cards/validators.js +26 -0
- package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.js +31 -0
- package/.medusa/server/src/api/store/store-credit-accounts/middlewares.js +28 -0
- package/.medusa/server/src/api/store/store-credit-accounts/query-config.js +24 -0
- package/.medusa/server/src/api/store/store-credit-accounts/route.js +40 -0
- package/.medusa/server/src/api/store/store-credit-accounts/validators.js +17 -0
- package/.medusa/server/src/links/cart-gift-cards-link.js +13 -0
- package/.medusa/server/src/links/customer-gift-card-link.js +13 -0
- package/.medusa/server/src/links/customer-store-credit-account-link.js +13 -0
- package/.medusa/server/src/links/order-gift-cards-link.js +13 -0
- package/.medusa/server/src/links/order-line-item-gift-card-link.js +19 -0
- package/.medusa/server/src/modules/loyalty/index.js +12 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250123130553.js +17 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250127174331.js +19 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141026.js +19 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141429.js +14 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206144714.js +14 -0
- package/.medusa/server/src/modules/loyalty/models/gift-card-invitation.js +20 -0
- package/.medusa/server/src/modules/loyalty/models/gift-card.js +28 -0
- package/.medusa/server/src/modules/loyalty/service.js +15 -0
- package/.medusa/server/src/modules/store-credit/index.js +12 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250129115518.js +16 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130213237.js +18 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130220640.js +19 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250131205753.js +14 -0
- package/.medusa/server/src/modules/store-credit/models/account-transaction.js +27 -0
- package/.medusa/server/src/modules/store-credit/models/store-credit-account.js +29 -0
- package/.medusa/server/src/modules/store-credit/models/transaction-group.js +28 -0
- package/.medusa/server/src/modules/store-credit/service.js +412 -0
- package/.medusa/server/src/providers/index.js +12 -0
- package/.medusa/server/src/providers/store-credit-payment/index.js +12 -0
- package/.medusa/server/src/providers/store-credit-payment/service.js +181 -0
- package/.medusa/server/src/subscribers/create-gift-card.js +94 -0
- package/.medusa/server/src/types/cart/index.js +3 -0
- package/.medusa/server/src/types/http/gift-card.js +3 -0
- package/.medusa/server/src/types/http/index.js +21 -0
- package/.medusa/server/src/types/http/store-credit-account.js +3 -0
- package/.medusa/server/src/types/http/transaction-group.js +3 -0
- package/.medusa/server/src/types/http/transaction.js +3 -0
- package/.medusa/server/src/types/index.js +21 -0
- package/.medusa/server/src/types/loyalty/index.js +20 -0
- package/.medusa/server/src/types/loyalty/module.js +17 -0
- package/.medusa/server/src/types/loyalty/service.js +3 -0
- package/.medusa/server/src/types/loyalty/workflows.js +3 -0
- package/.medusa/server/src/types/modules.js +14 -0
- package/.medusa/server/src/types/store-credit/index.js +19 -0
- package/.medusa/server/src/types/store-credit/module.js +10 -0
- package/.medusa/server/src/types/store-credit/service.js +3 -0
- package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.js +167 -0
- package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.js +95 -0
- package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.js +136 -0
- package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.js +66 -0
- package/.medusa/server/src/workflows/common/steps/validate-presence-of.js +11 -0
- package/.medusa/server/src/workflows/gift-card-invitation/steps/create-gift-card-invitation.js +17 -0
- package/.medusa/server/src/workflows/gift-card-invitation/steps/delete-gift-card-invitation.js +20 -0
- package/.medusa/server/src/workflows/gift-card-invitation/steps/update-gift-card-invitation.js +31 -0
- package/.medusa/server/src/workflows/gift-card-invitation/workflows/accept-gift-card-invitation.js +79 -0
- package/.medusa/server/src/workflows/gift-card-invitation/workflows/create-gift-card-invitation.js +66 -0
- package/.medusa/server/src/workflows/gift-card-invitation/workflows/delete-gift-card-invitation.js +10 -0
- package/.medusa/server/src/workflows/gift-card-invitation/workflows/reject-gift-card-invitation.js +70 -0
- package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.js +17 -0
- package/.medusa/server/src/workflows/gift-cards/steps/delete-gift-cards.js +17 -0
- package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.js +20 -0
- package/.medusa/server/src/workflows/gift-cards/steps/update-gift-cards.js +34 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.js +12 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/delete-gift-card.js +19 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.js +90 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/transfer-gift-card.js +48 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/update-gift-cards.js +12 -0
- package/.medusa/server/src/workflows/hooks/after-order-created.js +31 -0
- package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.js +31 -0
- package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.js +26 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.js +27 -0
- package/.medusa/server/src/workflows/orders/workflows/link-gift-cards-to-order.js +58 -0
- package/.medusa/server/src/workflows/orders/workflows/refund-gift-card-credit-lines.js +96 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.js +17 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-transaction-groups.js +17 -0
- package/.medusa/server/src/workflows/store-credit/steps/credit-account.js +17 -0
- package/.medusa/server/src/workflows/store-credit/steps/debit-account.js +17 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.js +57 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-transaction-groups.js +12 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-accounts.js +12 -0
- package/.medusa/server/src/workflows/store-credit/workflows/debit-accounts.js +12 -0
- package/.medusa/server/types/loyalty/module.js +8 -0
- package/README.md +62 -0
- package/package.json +94 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const refresh_cart_gift_cards_1 = require("../carts/workflows/refresh-cart-gift-cards");
|
|
6
|
+
core_flows_1.refreshCartItemsWorkflow.hooks.beforeRefreshingPaymentCollection(async (data, stepContext) => {
|
|
7
|
+
const { container, ...sharedContext } = stepContext;
|
|
8
|
+
const transaction = await refresh_cart_gift_cards_1.refreshCartGiftCardsWorkflow.run({
|
|
9
|
+
input: { cart_id: data.input.cart_id },
|
|
10
|
+
container,
|
|
11
|
+
context: { ...sharedContext },
|
|
12
|
+
});
|
|
13
|
+
const { result } = transaction;
|
|
14
|
+
return new workflows_sdk_1.StepResponse(result, stepContext.transactionId);
|
|
15
|
+
}, async (transactionId, stepContext) => {
|
|
16
|
+
if (!transactionId) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const { container, ...sharedContext } = stepContext;
|
|
20
|
+
await (0, refresh_cart_gift_cards_1.refreshCartGiftCardsWorkflow)(container).cancel({
|
|
21
|
+
transactionId,
|
|
22
|
+
container,
|
|
23
|
+
context: { ...sharedContext },
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXBheW1lbnQtY29sbGVjdGlvbi1yZWZyZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9iZWZvcmUtcGF5bWVudC1jb2xsZWN0aW9uLXJlZnJlc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0REFBdUU7QUFDdkUsMkRBQXVEO0FBQ3ZELHdGQUEwRjtBQUUxRixxQ0FBd0IsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQzlELEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUU7SUFDMUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUVwRCxNQUFNLFdBQVcsR0FBRyxNQUFNLHNEQUE0QixDQUFDLEdBQUcsQ0FBQztRQUN6RCxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDdEMsU0FBUztRQUNULE9BQU8sRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFO0tBQzlCLENBQUMsQ0FBQztJQUVILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFL0IsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM3RCxDQUFDLEVBQ0QsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsRUFBRTtJQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsV0FBVyxDQUFDO0lBRXBELE1BQU0sSUFBQSxzREFBNEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkQsYUFBYTtRQUNiLFNBQVM7UUFDVCxPQUFPLEVBQUUsRUFBRSxHQUFHLGFBQWEsRUFBRTtLQUM5QixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
4
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
5
|
+
const confirm_cart_credit_lines_1 = require("../carts/workflows/confirm-cart-credit-lines");
|
|
6
|
+
core_flows_1.completeCartWorkflow.hooks.beforePaymentAuthorization(async (data, stepContext) => {
|
|
7
|
+
const { container, ...sharedContext } = stepContext;
|
|
8
|
+
const { input: { id: cart_id }, } = data;
|
|
9
|
+
const transaction = await confirm_cart_credit_lines_1.confirmCartCreditLinesWorkflow.run({
|
|
10
|
+
input: { cart_id },
|
|
11
|
+
container,
|
|
12
|
+
context: { ...sharedContext },
|
|
13
|
+
});
|
|
14
|
+
const { result } = transaction;
|
|
15
|
+
return new workflows_sdk_1.StepResponse(result, stepContext.transactionId);
|
|
16
|
+
}, async (transactionId, stepContext) => {
|
|
17
|
+
if (!transactionId) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const { container, ...sharedContext } = stepContext;
|
|
21
|
+
await (0, confirm_cart_credit_lines_1.confirmCartCreditLinesWorkflow)(container).cancel({
|
|
22
|
+
transactionId,
|
|
23
|
+
container,
|
|
24
|
+
context: { ...sharedContext },
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1iZWZvcmUtcGF5bWVudC1hdXRob3JpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9jb21wbGV0ZS1jYXJ0LWJlZm9yZS1wYXltZW50LWF1dGhvcml6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxRUFBaUU7QUFDakUsNERBQW1FO0FBQ25FLDRGQUE4RjtBQUU5RixpQ0FBb0IsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQ25ELEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUU7SUFDMUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUNwRCxNQUFNLEVBQ0osS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUN2QixHQUFHLElBQWlDLENBQUM7SUFFdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSwwREFBOEIsQ0FBQyxHQUFHLENBQUM7UUFDM0QsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ2xCLFNBQVM7UUFDVCxPQUFPLEVBQUUsRUFBRSxHQUFHLGFBQWEsRUFBRTtLQUM5QixDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDO0lBRS9CLE9BQU8sSUFBSSw0QkFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxFQUNELEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUU7SUFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUVwRCxNQUFNLElBQUEsMERBQThCLEVBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JELGFBQWE7UUFDYixTQUFTO1FBQ1QsT0FBTyxFQUFFLEVBQUUsR0FBRyxhQUFhLEVBQUU7S0FDOUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneCartGiftCardsToOrderWorkflow = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
/*
|
|
9
|
+
A workflow that clones gift cards from a cart to an order
|
|
10
|
+
*/
|
|
11
|
+
exports.cloneCartGiftCardsToOrderWorkflow = (0, workflows_sdk_1.createWorkflow)("clone-cart-gift-cards-to-order", function (input) {
|
|
12
|
+
const orderQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
13
|
+
entity: "order",
|
|
14
|
+
filters: { id: input.order_id },
|
|
15
|
+
fields: [
|
|
16
|
+
"id",
|
|
17
|
+
"currency_code",
|
|
18
|
+
"total",
|
|
19
|
+
"gift_cards.code",
|
|
20
|
+
"customer_id",
|
|
21
|
+
],
|
|
22
|
+
options: { throwIfKeyNotFound: true },
|
|
23
|
+
}).config({ name: "get-order-query" });
|
|
24
|
+
const order = (0, workflows_sdk_1.transform)({ orderQuery }, ({ orderQuery }) => {
|
|
25
|
+
return orderQuery.data[0];
|
|
26
|
+
});
|
|
27
|
+
const cartQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
28
|
+
entity: "cart",
|
|
29
|
+
filters: { id: input.cart_id },
|
|
30
|
+
fields: ["id", "currency_code", "total", "gift_cards.id", "customer_id"],
|
|
31
|
+
options: { throwIfKeyNotFound: true },
|
|
32
|
+
}).config({ name: "get-cart-query" });
|
|
33
|
+
const cart = (0, workflows_sdk_1.transform)({ cartQuery }, ({ cartQuery }) => {
|
|
34
|
+
return cartQuery.data[0];
|
|
35
|
+
});
|
|
36
|
+
const giftCardIds = (0, workflows_sdk_1.transform)({ cart }, ({ cart }) => {
|
|
37
|
+
return cart.gift_cards.map((giftCard) => giftCard.id);
|
|
38
|
+
});
|
|
39
|
+
const giftCardsQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
40
|
+
entity: "gift_card",
|
|
41
|
+
filters: { id: giftCardIds },
|
|
42
|
+
fields: ["id", "code", "status", "customer_id", "currency_code"],
|
|
43
|
+
options: { throwIfKeyNotFound: true },
|
|
44
|
+
}).config({ name: "get-gift-card-query" });
|
|
45
|
+
const giftCards = (0, workflows_sdk_1.transform)({ giftCardsQuery }, ({ giftCardsQuery }) => {
|
|
46
|
+
return giftCardsQuery.data;
|
|
47
|
+
});
|
|
48
|
+
const linksToCreate = (0, workflows_sdk_1.transform)({ giftCards, order }, ({ giftCards, order }) => {
|
|
49
|
+
const links = giftCards.map((giftCard) => ({
|
|
50
|
+
[utils_1.Modules.ORDER]: { order_id: order.id },
|
|
51
|
+
[types_1.PluginModule.LOYALTY]: { gift_card_id: giftCard.id },
|
|
52
|
+
}));
|
|
53
|
+
return links;
|
|
54
|
+
});
|
|
55
|
+
core_flows_1.createLinksWorkflow.runAsStep({ input: linksToCreate });
|
|
56
|
+
return new workflows_sdk_1.WorkflowResponse(null);
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1naWZ0LWNhcmRzLXRvLW9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlcnMvd29ya2Zsb3dzL2xpbmstZ2lmdC1jYXJkcy10by1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBb0Q7QUFDcEQsNERBR3FDO0FBQ3JDLDJEQUlpQztBQUNqQywwQ0FBOEM7QUFFOUM7O0VBRUU7QUFDVyxRQUFBLGlDQUFpQyxHQUFHLElBQUEsOEJBQWMsRUFDN0QsZ0NBQWdDLEVBQ2hDLFVBQVUsS0FBNEM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuQyxNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQy9CLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixlQUFlO1lBQ2YsT0FBTztZQUNQLGlCQUFpQjtZQUNqQixhQUFhO1NBQ2Q7UUFDRCxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7S0FDdEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFFdkMsTUFBTSxLQUFLLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7UUFDekQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNsQyxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQzlCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7UUFDeEUsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sSUFBSSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO1FBQ3RELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sY0FBYyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDdkMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO1FBQ2hFLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUUzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtRQUNyRSxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFBLHlCQUFTLEVBQzdCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUNwQixDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLENBQUMsb0JBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1NBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQ0YsQ0FBQztJQUVGLGdDQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refundGiftCardCreditLinesWorkflow = exports.creditAccountTransactionsStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
const credit_accounts_1 = require("../../../workflows/store-credit/workflows/credit-accounts");
|
|
9
|
+
exports.creditAccountTransactionsStep = (0, workflows_sdk_1.createStep)("credit-account-transactions", async function ({ giftCards, order, creditLines, }, { container }) {
|
|
10
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
11
|
+
const transactionGroupsMap = {};
|
|
12
|
+
const giftCardCodes = giftCards.map((giftCard) => giftCard.code);
|
|
13
|
+
const negativeCreditLines = creditLines.filter((creditLine) => utils_1.MathBN.convert(creditLine.amount).lt(0));
|
|
14
|
+
let totalCreditAmount = negativeCreditLines.reduce((acc, creditLine) => utils_1.MathBN.add(acc, utils_1.MathBN.convert(creditLine.amount).multipliedBy(-1)), utils_1.MathBN.convert(0));
|
|
15
|
+
const [storeCreditAccount] = await module.listStoreCreditAccounts({
|
|
16
|
+
customer_id: order.customer_id,
|
|
17
|
+
currency_code: order.currency_code,
|
|
18
|
+
});
|
|
19
|
+
if (!storeCreditAccount) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Store credit account not found");
|
|
21
|
+
}
|
|
22
|
+
const transactionGroups = await module.listTransactionGroups({
|
|
23
|
+
code: giftCardCodes,
|
|
24
|
+
});
|
|
25
|
+
for (const transactionGroup of transactionGroups) {
|
|
26
|
+
transactionGroupsMap[transactionGroup.code] = transactionGroup;
|
|
27
|
+
}
|
|
28
|
+
const creditTransactions = [];
|
|
29
|
+
for (const giftCard of giftCards) {
|
|
30
|
+
const transactionGroup = transactionGroupsMap[giftCard.code];
|
|
31
|
+
if (!transactionGroup) {
|
|
32
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Transaction group not found for gift card ${giftCard.code}`);
|
|
33
|
+
}
|
|
34
|
+
const stats = await module.retrieveAccountStats({
|
|
35
|
+
account_id: storeCreditAccount.id,
|
|
36
|
+
transaction_group_id: transactionGroup.id,
|
|
37
|
+
});
|
|
38
|
+
const giftCardValueDelta = utils_1.MathBN.convert(giftCard.value).minus(utils_1.MathBN.convert(stats.balance));
|
|
39
|
+
const maxCreditAmount = utils_1.MathBN.min(giftCardValueDelta, totalCreditAmount);
|
|
40
|
+
if (utils_1.MathBN.convert(maxCreditAmount).gt(0)) {
|
|
41
|
+
creditTransactions.push({
|
|
42
|
+
account_id: storeCreditAccount.id,
|
|
43
|
+
transaction_group_id: transactionGroup.id,
|
|
44
|
+
amount: maxCreditAmount,
|
|
45
|
+
reference: "gift-card",
|
|
46
|
+
reference_id: giftCard.code,
|
|
47
|
+
});
|
|
48
|
+
totalCreditAmount = utils_1.MathBN.sub(totalCreditAmount, maxCreditAmount);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return new workflows_sdk_1.StepResponse(creditTransactions);
|
|
52
|
+
});
|
|
53
|
+
/*
|
|
54
|
+
A workflow that debits from a store credit account
|
|
55
|
+
*/
|
|
56
|
+
exports.refundGiftCardCreditLinesWorkflow = (0, workflows_sdk_1.createWorkflow)("refund-gift-card-credit-lines", function (input) {
|
|
57
|
+
const orderQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
58
|
+
entity: "order",
|
|
59
|
+
filters: { id: input.order_id },
|
|
60
|
+
fields: [
|
|
61
|
+
"id",
|
|
62
|
+
"customer.*",
|
|
63
|
+
"gift_cards.*",
|
|
64
|
+
"customer_id",
|
|
65
|
+
"currency_code",
|
|
66
|
+
],
|
|
67
|
+
}).config({ name: "get-cart-query" });
|
|
68
|
+
const order = (0, workflows_sdk_1.transform)({ orderQuery }, ({ orderQuery }) => {
|
|
69
|
+
return orderQuery.data[0];
|
|
70
|
+
});
|
|
71
|
+
const giftCardCodes = (0, workflows_sdk_1.transform)({ order }, ({ order }) => {
|
|
72
|
+
return order.gift_cards.map((giftCard) => giftCard.code);
|
|
73
|
+
});
|
|
74
|
+
const giftCardQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
75
|
+
entity: "gift_card",
|
|
76
|
+
filters: { code: giftCardCodes },
|
|
77
|
+
fields: ["id", "code", "status", "customer_id", "currency_code", "value"],
|
|
78
|
+
}).config({ name: "get-gift-card-query" });
|
|
79
|
+
const giftCards = (0, workflows_sdk_1.transform)({ giftCardQuery }, ({ giftCardQuery }) => {
|
|
80
|
+
return giftCardQuery.data;
|
|
81
|
+
});
|
|
82
|
+
(0, workflows_sdk_1.when)({ giftCards, creditLines: input.credit_lines }, ({ giftCards, creditLines }) => {
|
|
83
|
+
const negativeCreditLines = creditLines.filter((creditLine) => utils_1.MathBN.convert(creditLine.amount).lt(0));
|
|
84
|
+
return giftCards.length > 0 && negativeCreditLines.length > 0;
|
|
85
|
+
}).then(() => {
|
|
86
|
+
const creditTransactions = (0, exports.creditAccountTransactionsStep)({
|
|
87
|
+
giftCards,
|
|
88
|
+
order,
|
|
89
|
+
creditLines: input.credit_lines,
|
|
90
|
+
});
|
|
91
|
+
credit_accounts_1.creditAccountsWorkflow.runAsStep({
|
|
92
|
+
input: creditTransactions,
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLWdpZnQtY2FyZC1jcmVkaXQtbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3MvcmVmdW5kLWdpZnQtY2FyZC1jcmVkaXQtbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQWdFO0FBQ2hFLDREQUFnRTtBQUNoRSwyREFNaUM7QUFDakMsMENBS3dCO0FBRXhCLCtGQUFtRztBQUV0RixRQUFBLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDckQsNkJBQTZCLEVBQzdCLEtBQUssV0FDSCxFQUNFLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxHQUtaLEVBQ0QsRUFBRSxTQUFTLEVBQUU7SUFFYixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM5QixvQkFBWSxDQUFDLFlBQVksQ0FDMUIsQ0FBQztJQUVGLE1BQU0sb0JBQW9CLEdBQTJDLEVBQUUsQ0FBQztJQUN4RSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDNUQsY0FBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0YsSUFBSSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQ2hELENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQ2xCLGNBQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGNBQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVB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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStoreCreditAccountsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
exports.createStoreCreditAccountsStep = (0, workflows_sdk_1.createStep)("create-store-credit-accounts", async (input, { container }) => {
|
|
7
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
8
|
+
const accounts = await module.createStoreCreditAccounts(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(accounts, accounts.map((gc) => gc.id));
|
|
10
|
+
}, async (ids, { container }) => {
|
|
11
|
+
if (!ids?.length) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
15
|
+
await module.deleteStoreCreditAccounts(ids);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN0b3JlLWNyZWRpdC1hY2NvdW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RvcmUtY3JlZGl0L3N0ZXBzL2NyZWF0ZS1zdG9yZS1jcmVkaXQtYWNjb3VudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLDBDQUl3QjtBQUVYLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUNyRCw4QkFBOEIsRUFDOUIsS0FBSyxFQUFFLEtBQXVDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQy9ELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzlCLG9CQUFZLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFL0QsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLFFBQVEsRUFDUixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQzVCLENBQUM7QUFDSixDQUFDLEVBQ0QsS0FBSyxFQUFFLEdBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNqQixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzlCLG9CQUFZLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBRUYsTUFBTSxNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTransactionGroupsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
exports.createTransactionGroupsStep = (0, workflows_sdk_1.createStep)("create-transaction-groups", async (input, { container }) => {
|
|
7
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
8
|
+
const transactionGroups = await module.createTransactionGroups(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(transactionGroups, transactionGroups.map((gc) => gc.id));
|
|
10
|
+
}, async (ids, { container }) => {
|
|
11
|
+
if (!ids?.length) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
15
|
+
await module.deleteTransactionGroups(ids);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRyYW5zYWN0aW9uLWdyb3Vwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RvcmUtY3JlZGl0L3N0ZXBzL2NyZWF0ZS10cmFuc2FjdGlvbi1ncm91cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLDBDQUt3QjtBQUVYLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCwyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQXFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzlCLG9CQUFZLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FDckIsTUFBTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUMsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLGlCQUFpQixFQUNqQixpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDckMsQ0FBQztBQUNKLENBQUMsRUFDRCxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDOUIsb0JBQVksQ0FBQyxZQUFZLENBQzFCLENBQUM7SUFFRixNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.creditAccountStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
exports.creditAccountStep = (0, workflows_sdk_1.createStep)("credit-account", async (input, { container }) => {
|
|
7
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
8
|
+
const transactions = await module.creditAccounts(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(transactions, transactions.map((t) => t.id));
|
|
10
|
+
}, async (ids, { container }) => {
|
|
11
|
+
if (!ids?.length) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
15
|
+
await module.deleteTransactions(ids);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0b3JlLWNyZWRpdC9zdGVwcy9jcmVkaXQtYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UsMENBSXdCO0FBRVgsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLGdCQUFnQixFQUNoQixLQUFLLEVBQUUsS0FBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDOUIsb0JBQVksQ0FBQyxZQUFZLENBQzFCLENBQUM7SUFFRixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEQsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLFlBQVksRUFDWixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzlCLENBQUM7QUFDSixDQUFDLEVBQ0QsS0FBSyxFQUFFLEdBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNqQixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzlCLG9CQUFZLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBRUYsTUFBTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debitAccountStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
exports.debitAccountStep = (0, workflows_sdk_1.createStep)("debit-account", async (input, { container }) => {
|
|
7
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
8
|
+
const transactions = await module.debitAccounts(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(transactions, transactions.map((t) => t.id));
|
|
10
|
+
}, async (ids, { container }) => {
|
|
11
|
+
if (!ids?.length) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
15
|
+
await module.deleteTransactions(ids);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGViaXQtYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RvcmUtY3JlZGl0L3N0ZXBzL2RlYml0LWFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLDBDQUl3QjtBQUVYLFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QyxlQUFlLEVBQ2YsS0FBSyxFQUFFLEtBQTJCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzlCLG9CQUFZLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXZELE9BQU8sSUFBSSw0QkFBWSxDQUNyQixZQUFZLEVBQ1osWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUM5QixDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxHQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDakIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM5QixvQkFBWSxDQUFDLFlBQVksQ0FDMUIsQ0FBQztJQUVGLE1BQU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStoreCreditAccountsWorkflow = exports.validateStoreCreditAccountInputStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
7
|
+
const create_store_credit_accounts_1 = require("../steps/create-store-credit-accounts");
|
|
8
|
+
exports.validateStoreCreditAccountInputStep = (0, workflows_sdk_1.createStep)("validate-store-credit-account-input", async function ({ input }) {
|
|
9
|
+
if (input.length === 0) {
|
|
10
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No input provided");
|
|
11
|
+
}
|
|
12
|
+
if (input.some((i) => !(0, utils_1.isPresent)(i.customer_id) || !(0, utils_1.isPresent)(i.currency_code))) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "customer_id and currency_code are both required to create a store credit account");
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
/*
|
|
17
|
+
A workflow that creates store credit accounts
|
|
18
|
+
*/
|
|
19
|
+
exports.createStoreCreditAccountsWorkflow = (0, workflows_sdk_1.createWorkflow)("create-store-credit-accounts", function (input) {
|
|
20
|
+
const storeCreditAccountFilters = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
|
|
21
|
+
return {
|
|
22
|
+
$or: input.map((i) => ({
|
|
23
|
+
customer_id: i.customer_id,
|
|
24
|
+
currency_code: i.currency_code,
|
|
25
|
+
})),
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
(0, exports.validateStoreCreditAccountInputStep)({ input });
|
|
29
|
+
const storeCreditAccountQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
30
|
+
entity: "store_credit_account",
|
|
31
|
+
filters: storeCreditAccountFilters,
|
|
32
|
+
fields: ["id", "customer_id", "currency_code"],
|
|
33
|
+
}).config({ name: "get-store-credit-account" });
|
|
34
|
+
const storeCreditAccountsDecisions = (0, workflows_sdk_1.transform)({ storeCreditAccountQuery, input }, ({ storeCreditAccountQuery, input }) => {
|
|
35
|
+
const existingStoreCreditAccounts = storeCreditAccountQuery.data;
|
|
36
|
+
const existingAccountsMap = {};
|
|
37
|
+
for (const existingStoreCreditAccount of existingStoreCreditAccounts) {
|
|
38
|
+
existingAccountsMap[existingStoreCreditAccount.customer_id] =
|
|
39
|
+
existingStoreCreditAccount;
|
|
40
|
+
}
|
|
41
|
+
const storeCreditAccountsToCreate = input.filter((i) => !(0, utils_1.isPresent)(existingAccountsMap[i.customer_id]));
|
|
42
|
+
const storeCreditAccountsToSkip = existingStoreCreditAccounts.filter((account) => (0, utils_1.isPresent)(existingAccountsMap[account.customer_id]));
|
|
43
|
+
return {
|
|
44
|
+
storeCreditAccountsToCreate,
|
|
45
|
+
storeCreditAccountsToSkip,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const createdStoreCreditAccounts = (0, create_store_credit_accounts_1.createStoreCreditAccountsStep)(storeCreditAccountsDecisions.storeCreditAccountsToCreate);
|
|
49
|
+
const allStoreCreditAccounts = (0, workflows_sdk_1.transform)({ createdStoreCreditAccounts, storeCreditAccountsDecisions }, ({ createdStoreCreditAccounts, storeCreditAccountsDecisions }) => {
|
|
50
|
+
return [
|
|
51
|
+
...createdStoreCreditAccounts,
|
|
52
|
+
...storeCreditAccountsDecisions.storeCreditAccountsToSkip,
|
|
53
|
+
];
|
|
54
|
+
});
|
|
55
|
+
return new workflows_sdk_1.WorkflowResponse(allStoreCreditAccounts);
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN0b3JlLWNyZWRpdC1hY2NvdW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RvcmUtY3JlZGl0L3dvcmtmbG93cy9jcmVhdGUtc3RvcmUtY3JlZGl0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFtRTtBQUNuRSw0REFBZ0U7QUFDaEUsMkRBS2lDO0FBS2pDLHdGQUFzRjtBQUV6RSxRQUFBLG1DQUFtQyxHQUFHLElBQUEsMEJBQVUsRUFDM0QscUNBQXFDLEVBQ3JDLEtBQUssV0FBVyxFQUFFLEtBQUssRUFBK0M7SUFDcEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLG1CQUFtQixDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0UsS0FBSyxDQUFDLElBQUksQ0FDUixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFBLGlCQUFTLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBQSxpQkFBUyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FDaEUsRUFDRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsa0ZBQWtGLENBQ25GLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUM7QUFFRjs7RUFFRTtBQUNXLFFBQUEsaUNBQWlDLEdBQUcsSUFBQSw4QkFBYyxFQUM3RCw4QkFBOEIsRUFDOUIsVUFBVSxLQUF1QztJQUMvQyxNQUFNLHlCQUF5QixHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ25FLE9BQU87WUFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDckIsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXO2dCQUMxQixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7YUFDL0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSwyQ0FBbUMsRUFBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ2hELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztLQUMvQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQztJQUVoRCxNQUFNLDRCQUE0QixHQUFHLElBQUEseUJBQVMsRUFDNUMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsRUFDbEMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDckMsTUFBTSwyQkFBMkIsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7UUFDakUsTUFBTSxtQkFBbUIsR0FDdkIsRUFBRSxDQUFDO1FBRUwsS0FBSyxNQUFNLDBCQUEwQixJQUFJLDJCQUEyQixFQUFFLENBQUM7WUFDckUsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDO2dCQUN6RCwwQkFBMEIsQ0FBQztRQUMvQixDQUFDO1FBRUQsTUFBTSwyQkFBMkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUM5QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFBLGlCQUFTLEVBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ3RELENBQUM7UUFFRixNQUFNLHlCQUF5QixHQUFHLDJCQUEyQixDQUFDLE1BQU0sQ0FDbEUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUEsaUJBQVMsRUFBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDakUsQ0FBQztRQUVGLE9BQU87WUFDTCwyQkFBMkI7WUFDM0IseUJBQXlCO1NBQzFCLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FBQztJQUVGLE1BQU0sMEJBQTBCLEdBQUcsSUFBQSw0REFBNkIsRUFDOUQsNEJBQTRCLENBQUMsMkJBQTJCLENBQ3pELENBQUM7SUFFRixNQUFNLHNCQUFzQixHQUFHLElBQUEseUJBQVMsRUFDdEMsRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRSxFQUM1RCxDQUFDLEVBQUUsMEJBQTBCLEVBQUUsNEJBQTRCLEVBQUUsRUFBRSxFQUFFO1FBQy9ELE9BQU87WUFDTCxHQUFHLDBCQUEwQjtZQUM3QixHQUFHLDRCQUE0QixDQUFDLHlCQUF5QjtTQUMxRCxDQUFDO0lBQ0osQ0FBQyxDQUNGLENBQUM7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTransactionGroupsWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const create_transaction_groups_1 = require("../steps/create-transaction-groups");
|
|
6
|
+
/*
|
|
7
|
+
A workflow that creates transaction groups
|
|
8
|
+
*/
|
|
9
|
+
exports.createTransactionGroupsWorkflow = (0, workflows_sdk_1.createWorkflow)("create-transaction-groups", function (input) {
|
|
10
|
+
return new workflows_sdk_1.WorkflowResponse((0, create_transaction_groups_1.createTransactionGroupsStep)(input));
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRyYW5zYWN0aW9uLWdyb3Vwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RvcmUtY3JlZGl0L3dvcmtmbG93cy9jcmVhdGUtdHJhbnNhY3Rpb24tZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUEyRTtBQUUzRSxrRkFBaUY7QUFFakY7O0VBRUU7QUFDVyxRQUFBLCtCQUErQixHQUFHLElBQUEsOEJBQWMsRUFDM0QsMkJBQTJCLEVBQzNCLFVBQVUsS0FBcUM7SUFDN0MsT0FBTyxJQUFJLGdDQUFnQixDQUFDLElBQUEsdURBQTJCLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.creditAccountsWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const credit_account_1 = require("../steps/credit-account");
|
|
6
|
+
/*
|
|
7
|
+
A workflow that credits to a store credit account
|
|
8
|
+
*/
|
|
9
|
+
exports.creditAccountsWorkflow = (0, workflows_sdk_1.createWorkflow)("credit-accounts", function (input) {
|
|
10
|
+
return new workflows_sdk_1.WorkflowResponse((0, credit_account_1.creditAccountStep)(input));
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWFjY291bnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdG9yZS1jcmVkaXQvd29ya2Zsb3dzL2NyZWRpdC1hY2NvdW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBMkU7QUFFM0UsNERBQTREO0FBRTVEOztFQUVFO0FBQ1csUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDhCQUFjLEVBQ2xELGlCQUFpQixFQUNqQixVQUFVLEtBQTRCO0lBQ3BDLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxJQUFBLGtDQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debitAccountsWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const debit_account_1 = require("../steps/debit-account");
|
|
6
|
+
/*
|
|
7
|
+
A workflow that debits from a store credit account
|
|
8
|
+
*/
|
|
9
|
+
exports.debitAccountsWorkflow = (0, workflows_sdk_1.createWorkflow)("debit-accounts", function (input) {
|
|
10
|
+
return new workflows_sdk_1.WorkflowResponse((0, debit_account_1.debitAccountStep)(input));
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGViaXQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0b3JlLWNyZWRpdC93b3JrZmxvd3MvZGViaXQtYWNjb3VudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQTJFO0FBRTNFLDBEQUEwRDtBQUUxRDs7RUFFRTtBQUNXLFFBQUEscUJBQXFCLEdBQUcsSUFBQSw4QkFBYyxFQUNqRCxnQkFBZ0IsRUFDaEIsVUFBVSxLQUEyQjtJQUNuQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsSUFBQSxnQ0FBZ0IsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FDRixDQUFDIn0=
|
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.medusajs.com">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/59018053/229103275-b5e482bb-4601-46e6-8142-244f531cebdb.svg">
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
6
|
+
<img alt="Medusa logo" src="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
<h1 align="center">
|
|
11
|
+
Medusa
|
|
12
|
+
</h1>
|
|
13
|
+
|
|
14
|
+
<h4 align="center">
|
|
15
|
+
<a href="https://docs.medusajs.com">Documentation</a> |
|
|
16
|
+
<a href="https://www.medusajs.com">Website</a>
|
|
17
|
+
</h4>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
Building blocks for digital commerce
|
|
21
|
+
</p>
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md">
|
|
24
|
+
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
|
|
25
|
+
</a>
|
|
26
|
+
<a href="https://www.producthunt.com/posts/medusa"><img src="https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%20Day-%23DA552E" alt="Product Hunt"></a>
|
|
27
|
+
<a href="https://discord.gg/xpCwq3Kfn8">
|
|
28
|
+
<img src="https://img.shields.io/badge/chat-on%20discord-7289DA.svg" alt="Discord Chat" />
|
|
29
|
+
</a>
|
|
30
|
+
<a href="https://twitter.com/intent/follow?screen_name=medusajs">
|
|
31
|
+
<img src="https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs" alt="Follow @medusajs" />
|
|
32
|
+
</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
## Compatibility
|
|
36
|
+
|
|
37
|
+
This starter is compatible with versions >= 2.0.0 of `@medusajs/medusa`.
|
|
38
|
+
|
|
39
|
+
## Getting Started
|
|
40
|
+
|
|
41
|
+
Visit the [Quickstart Guide](https://docs.medusajs.com/learn) to set up a server.
|
|
42
|
+
|
|
43
|
+
Visit the [Docs](https://docs.medusajs.com/learn#get-started) to learn more about our system requirements.
|
|
44
|
+
|
|
45
|
+
## What is Medusa
|
|
46
|
+
|
|
47
|
+
Medusa is a set of commerce modules and tools that allow you to build rich, reliable, and performant commerce applications without reinventing core commerce logic. The modules can be customized and used to build advanced ecommerce stores, marketplaces, or any product that needs foundational commerce primitives. All modules are open-source and freely available on npm.
|
|
48
|
+
|
|
49
|
+
Learn more about [Medusa’s architecture](https://docs.medusajs.com/learn/advanced-development/architecture/overview) and [commerce modules](https://docs.medusajs.com/learn/basics/commerce-modules) in the Docs.
|
|
50
|
+
|
|
51
|
+
## Community & Contributions
|
|
52
|
+
|
|
53
|
+
The community and core team are available in [GitHub Discussions](https://github.com/medusajs/medusa/discussions), where you can ask for support, discuss roadmap, and share ideas.
|
|
54
|
+
|
|
55
|
+
Join our [Discord server](https://discord.com/invite/medusajs) to meet other community members.
|
|
56
|
+
|
|
57
|
+
## Other channels
|
|
58
|
+
|
|
59
|
+
- [GitHub Issues](https://github.com/medusajs/medusa/issues)
|
|
60
|
+
- [Twitter](https://twitter.com/medusajs)
|
|
61
|
+
- [LinkedIn](https://www.linkedin.com/company/medusajs)
|
|
62
|
+
- [Medusa Blog](https://medusajs.com/blog/)
|
package/package.json
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@medusajs/loyalty-plugin",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Medusa Plugin: Loyalty - Gift Cards",
|
|
5
|
+
"author": "Medusa (https://medusajs.com)",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"files": [
|
|
8
|
+
".medusa/server"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
"./payment-provider": "./.medusa/server/providers/store-credit-payment/index.js",
|
|
13
|
+
"./modules/loyalty/*": "./.medusa/server/src/modules/loyalty/index.js",
|
|
14
|
+
"./.medusa/server/src/modules/loyalty": "./.medusa/server/src/modules/loyalty/index.js",
|
|
15
|
+
"./.medusa/server/src/providers/store-credit-payment/index.js": "./.medusa/server/src/providers/store-credit-payment/index.js",
|
|
16
|
+
"./store-credit-payment": "./.medusa/server/src/providers/store-credit-payment/index.js",
|
|
17
|
+
"./.medusa/server/src/modules/store-credit": "./.medusa/server/src/modules/store-credit/index.js",
|
|
18
|
+
"./.medusa/server/src/*": "./.medusa/server/src/**/*.js"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"sqlite",
|
|
22
|
+
"postgres",
|
|
23
|
+
"typescript",
|
|
24
|
+
"ecommerce",
|
|
25
|
+
"headless",
|
|
26
|
+
"medusa",
|
|
27
|
+
"plugin"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "medusa plugin:build",
|
|
31
|
+
"dev": "medusa plugin:develop",
|
|
32
|
+
"prepublishOnly": "medusa plugin:build",
|
|
33
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@medusajs/admin-sdk": "2.6.1-snapshot-20250310150403",
|
|
37
|
+
"@medusajs/cli": "2.6.1-snapshot-20250310150403",
|
|
38
|
+
"@medusajs/framework": "2.6.1-snapshot-20250310150403",
|
|
39
|
+
"@medusajs/icons": "2.6.1-snapshot-20250310150403",
|
|
40
|
+
"@medusajs/js-sdk": "2.6.1-snapshot-20250310150403",
|
|
41
|
+
"@medusajs/medusa": "2.6.1-snapshot-20250310150403",
|
|
42
|
+
"@medusajs/test-utils": "2.6.1-snapshot-20250310150403",
|
|
43
|
+
"@medusajs/ui": "latest",
|
|
44
|
+
"@mikro-orm/cli": "6.4.3",
|
|
45
|
+
"@mikro-orm/core": "6.4.3",
|
|
46
|
+
"@mikro-orm/knex": "6.4.3",
|
|
47
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
48
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
49
|
+
"@swc/core": "1.5.7",
|
|
50
|
+
"@swc/jest": "^0.2.37",
|
|
51
|
+
"@types/jest": "^29.5.14",
|
|
52
|
+
"@types/lodash": "^4.14.191",
|
|
53
|
+
"@types/node": "^20.0.0",
|
|
54
|
+
"@types/react": "^18.3.2",
|
|
55
|
+
"@types/react-dom": "^18.2.25",
|
|
56
|
+
"awilix": "^8.0.1",
|
|
57
|
+
"date-fns": "^3.6.0",
|
|
58
|
+
"jest": "^29.7.0",
|
|
59
|
+
"lodash": "^4.17.21",
|
|
60
|
+
"pg": "^8.13.0",
|
|
61
|
+
"prop-types": "^15.8.1",
|
|
62
|
+
"react": "^18.2.0",
|
|
63
|
+
"react-dom": "^18.2.0",
|
|
64
|
+
"react-router-dom": "6.20.1",
|
|
65
|
+
"ts-jest": "^29.2.5",
|
|
66
|
+
"ts-node": "^10.9.2",
|
|
67
|
+
"typescript": "^5.7.3",
|
|
68
|
+
"vite": "^5.2.11",
|
|
69
|
+
"yalc": "^1.0.0-pre.53"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"@medusajs/admin-sdk": "*",
|
|
73
|
+
"@medusajs/cli": "*",
|
|
74
|
+
"@medusajs/framework": "*",
|
|
75
|
+
"@medusajs/icons": "*",
|
|
76
|
+
"@medusajs/js-sdk": "*",
|
|
77
|
+
"@medusajs/medusa": "*",
|
|
78
|
+
"@medusajs/test-utils": "*",
|
|
79
|
+
"@medusajs/ui": "*",
|
|
80
|
+
"@mikro-orm/cli": "6.4.3",
|
|
81
|
+
"@mikro-orm/core": "6.4.3",
|
|
82
|
+
"@mikro-orm/knex": "6.4.3",
|
|
83
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
84
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
85
|
+
"awilix": "^8.0.1",
|
|
86
|
+
"date-fns": "^3.6.0",
|
|
87
|
+
"lodash": "^4.17.21",
|
|
88
|
+
"pg": "^8.13.0",
|
|
89
|
+
"react-router-dom": "6.20.1"
|
|
90
|
+
},
|
|
91
|
+
"engines": {
|
|
92
|
+
"node": ">=20"
|
|
93
|
+
}
|
|
94
|
+
}
|