@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.
Files changed (335) hide show
  1. package/.medusa/server/src/admin/components/action-menu.js +63 -0
  2. package/.medusa/server/src/admin/components/chip-group.js +82 -0
  3. package/.medusa/server/src/admin/components/chip-input.js +157 -0
  4. package/.medusa/server/src/admin/components/combobox.js +324 -0
  5. package/.medusa/server/src/admin/components/conditional-tooltip.js +15 -0
  6. package/.medusa/server/src/admin/components/data-grid/components/data-grid-boolean-cell.js +66 -0
  7. package/.medusa/server/src/admin/components/data-grid/components/data-grid-cell-container.js +77 -0
  8. package/.medusa/server/src/admin/components/data-grid/components/data-grid-currency-cell.js +110 -0
  9. package/.medusa/server/src/admin/components/data-grid/components/data-grid-duplicate-cell.js +16 -0
  10. package/.medusa/server/src/admin/components/data-grid/components/data-grid-keyboard-shortcut-modal.js +214 -0
  11. package/.medusa/server/src/admin/components/data-grid/components/data-grid-number-cell.js +77 -0
  12. package/.medusa/server/src/admin/components/data-grid/components/data-grid-readonly-cell.js +32 -0
  13. package/.medusa/server/src/admin/components/data-grid/components/data-grid-root.js +743 -0
  14. package/.medusa/server/src/admin/components/data-grid/components/data-grid-row-error-indicator.js +37 -0
  15. package/.medusa/server/src/admin/components/data-grid/components/data-grid-skeleton.js +54 -0
  16. package/.medusa/server/src/admin/components/data-grid/components/data-grid-text-cell.js +66 -0
  17. package/.medusa/server/src/admin/components/data-grid/components/data-grid-toggleable-number-cell.js +166 -0
  18. package/.medusa/server/src/admin/components/data-grid/components/index.js +16 -0
  19. package/.medusa/server/src/admin/components/data-grid/context/data-grid-context.js +7 -0
  20. package/.medusa/server/src/admin/components/data-grid/context/index.js +6 -0
  21. package/.medusa/server/src/admin/components/data-grid/context/use-data-grid-context.js +14 -0
  22. package/.medusa/server/src/admin/components/data-grid/data-grid.js +31 -0
  23. package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-column-helper.js +28 -0
  24. package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-price-columns.js +85 -0
  25. package/.medusa/server/src/admin/components/data-grid/helpers/index.js +6 -0
  26. package/.medusa/server/src/admin/components/data-grid/hooks/index.js +31 -0
  27. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-error.js +50 -0
  28. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-handlers.js +123 -0
  29. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-metadata.js +52 -0
  30. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-snapshot.js +43 -0
  31. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell.js +191 -0
  32. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-clipboard-events.js +70 -0
  33. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-column-visibility.js +51 -0
  34. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-duplicate-cell.js +15 -0
  35. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-error-highlighting.js +86 -0
  36. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-form-handlers.js +149 -0
  37. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-keydown-event.js +482 -0
  38. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-mouse-up-event.js +64 -0
  39. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-navigation.js +81 -0
  40. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-query-tool.js +14 -0
  41. package/.medusa/server/src/admin/components/data-grid/index.js +8 -0
  42. package/.medusa/server/src/admin/components/data-grid/models/data-grid-bulk-update-command.js +27 -0
  43. package/.medusa/server/src/admin/components/data-grid/models/data-grid-matrix.js +296 -0
  44. package/.medusa/server/src/admin/components/data-grid/models/data-grid-query-tool.js +62 -0
  45. package/.medusa/server/src/admin/components/data-grid/models/data-grid-update-command.js +25 -0
  46. package/.medusa/server/src/admin/components/data-grid/models/index.js +10 -0
  47. package/.medusa/server/src/admin/components/data-grid/types.js +1 -0
  48. package/.medusa/server/src/admin/components/data-grid/utils.js +18 -0
  49. package/.medusa/server/src/admin/components/data-table/components/data-table-status-cell/data-table-status-cell.js +36 -0
  50. package/.medusa/server/src/admin/components/data-table/data-table.js +271 -0
  51. package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-columns.js +51 -0
  52. package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-filters.js +90 -0
  53. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/index.js +10 -0
  54. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-columns.js +48 -0
  55. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-empty-state.js +19 -0
  56. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-filters.js +30 -0
  57. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-query.js +23 -0
  58. package/.medusa/server/src/admin/components/data-table/index.js +4 -0
  59. package/.medusa/server/src/admin/components/data-table.js +249 -0
  60. package/.medusa/server/src/admin/components/display-id.js +18 -0
  61. package/.medusa/server/src/admin/components/file-upload.js +116 -0
  62. package/.medusa/server/src/admin/components/form.js +151 -0
  63. package/.medusa/server/src/admin/components/handle-input.js +22 -0
  64. package/.medusa/server/src/admin/components/header.js +41 -0
  65. package/.medusa/server/src/admin/components/icon-avatar.js +27 -0
  66. package/.medusa/server/src/admin/components/json-view-section.js +139 -0
  67. package/.medusa/server/src/admin/components/keybound-form.js +32 -0
  68. package/.medusa/server/src/admin/components/layouts/single-column.js +7 -0
  69. package/.medusa/server/src/admin/components/layouts/two-column.js +13 -0
  70. package/.medusa/server/src/admin/components/listicle.js +20 -0
  71. package/.medusa/server/src/admin/components/modals/index.js +19 -0
  72. package/.medusa/server/src/admin/components/modals/route-drawer/index.js +4 -0
  73. package/.medusa/server/src/admin/components/modals/route-drawer/route-drawer.js +57 -0
  74. package/.medusa/server/src/admin/components/modals/route-focus-modal/index.js +4 -0
  75. package/.medusa/server/src/admin/components/modals/route-focus-modal/route-focus-modal.js +71 -0
  76. package/.medusa/server/src/admin/components/modals/route-modal-form/index.js +4 -0
  77. package/.medusa/server/src/admin/components/modals/route-modal-form/route-modal-form.js +60 -0
  78. package/.medusa/server/src/admin/components/modals/route-modal-provider/index.js +6 -0
  79. package/.medusa/server/src/admin/components/modals/route-modal-provider/route-modal-context.js +5 -0
  80. package/.medusa/server/src/admin/components/modals/route-modal-provider/route-provider.js +30 -0
  81. package/.medusa/server/src/admin/components/modals/route-modal-provider/use-route-modal.js +12 -0
  82. package/.medusa/server/src/admin/components/modals/stacked-drawer/index.js +5 -0
  83. package/.medusa/server/src/admin/components/modals/stacked-drawer/stacked-drawer.js +55 -0
  84. package/.medusa/server/src/admin/components/modals/stacked-focus-modal/index.js +5 -0
  85. package/.medusa/server/src/admin/components/modals/stacked-focus-modal/stacked-focus-modal.js +63 -0
  86. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/index.js +6 -0
  87. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-context.js +5 -0
  88. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-provider.js +47 -0
  89. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/use-stacked-modal.js +14 -0
  90. package/.medusa/server/src/admin/components/placeholder-cell.js +7 -0
  91. package/.medusa/server/src/admin/components/product/product-cell/index.js +5 -0
  92. package/.medusa/server/src/admin/components/product/product-cell/product-cell.js +15 -0
  93. package/.medusa/server/src/admin/components/product/product-status-cell/index.js +5 -0
  94. package/.medusa/server/src/admin/components/product/product-status-cell/product-status-cell.js +18 -0
  95. package/.medusa/server/src/admin/components/product/sales-channels-cell/index.js +5 -0
  96. package/.medusa/server/src/admin/components/product/sales-channels-cell/sales-channels-cell.js +31 -0
  97. package/.medusa/server/src/admin/components/product/variant-cell/index.js +5 -0
  98. package/.medusa/server/src/admin/components/product/variant-cell/variant-cell.js +15 -0
  99. package/.medusa/server/src/admin/components/section-row.js +32 -0
  100. package/.medusa/server/src/admin/components/sidebar-link.js +31 -0
  101. package/.medusa/server/src/admin/components/sortable-list.js +152 -0
  102. package/.medusa/server/src/admin/components/switch-box.js +43 -0
  103. package/.medusa/server/src/admin/components/tax-badge.js +18 -0
  104. package/.medusa/server/src/admin/components/thumbnail.js +28 -0
  105. package/.medusa/server/src/admin/components/upload-media-form-item.js +83 -0
  106. package/.medusa/server/src/admin/hooks/api/customers.js +26 -0
  107. package/.medusa/server/src/admin/hooks/api/gift-cards.js +107 -0
  108. package/.medusa/server/src/admin/hooks/api/order.js +16 -0
  109. package/.medusa/server/src/admin/hooks/api/price-preferences.js +19 -0
  110. package/.medusa/server/src/admin/hooks/api/products.js +127 -0
  111. package/.medusa/server/src/admin/hooks/api/regions.js +17 -0
  112. package/.medusa/server/src/admin/hooks/api/sales-channels.js +28 -0
  113. package/.medusa/server/src/admin/hooks/api/store-credit-accounts.js +41 -0
  114. package/.medusa/server/src/admin/hooks/api/store.js +31 -0
  115. package/.medusa/server/src/admin/hooks/api/transaction-groups.js +23 -0
  116. package/.medusa/server/src/admin/hooks/api/transactions.js +23 -0
  117. package/.medusa/server/src/admin/hooks/commands/use-command-history.js +45 -0
  118. package/.medusa/server/src/admin/hooks/common/use-combobox-data.js +59 -0
  119. package/.medusa/server/src/admin/hooks/common/use-data-table-date-filters.js +89 -0
  120. package/.medusa/server/src/admin/hooks/common/use-date.js +32 -0
  121. package/.medusa/server/src/admin/hooks/common/use-debounced-search.js +22 -0
  122. package/.medusa/server/src/admin/hooks/common/use-query-params.js +14 -0
  123. package/.medusa/server/src/admin/hooks/query/use-customers-filters.js +30 -0
  124. package/.medusa/server/src/admin/hooks/query/use-transaction-groups-filters.js +30 -0
  125. package/.medusa/server/src/admin/hooks/sales-channels/index.js +10 -0
  126. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-columns.js +48 -0
  127. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-empty-state.js +19 -0
  128. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-filters.js +30 -0
  129. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-query.js +23 -0
  130. package/.medusa/server/src/admin/lib/currencies.js +729 -0
  131. package/.medusa/server/src/admin/lib/query-key.js +17 -0
  132. package/.medusa/server/src/admin/lib/sdk.js +10 -0
  133. package/.medusa/server/src/admin/routes/gift-card-products/@create/page.js +75 -0
  134. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/components/gift-card-product-edit-denominations-form.js +172 -0
  135. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/page.js +30 -0
  136. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/components/gift-card-product-edit-form.js +180 -0
  137. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/page.js +30 -0
  138. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-general-section.js +97 -0
  139. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-media-section.js +162 -0
  140. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-sales-channel-section.js +89 -0
  141. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-variant-section.js +199 -0
  142. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/edit-product-media-form.js +353 -0
  143. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/index.js +5 -0
  144. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/index.js +4 -0
  145. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/product-media-gallery.js +247 -0
  146. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/index.js +4 -0
  147. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view-context.js +5 -0
  148. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view.js +48 -0
  149. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/use-product-media-view.js +14 -0
  150. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/page.js +28 -0
  151. package/.medusa/server/src/admin/routes/gift-card-products/_id_/page.js +40 -0
  152. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/prices-edit.js +121 -0
  153. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/variant-pricing-form.js +72 -0
  154. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/page.js +23 -0
  155. package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/components/edit-sales-channel-form.js +123 -0
  156. package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/page.js +23 -0
  157. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/general-form-section.js +1 -0
  158. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-denominations-form.js +98 -0
  159. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-details-form.js +28 -0
  160. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-denominations.js +96 -0
  161. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-general.js +90 -0
  162. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-media.js +288 -0
  163. 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
  164. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-organize.js +23 -0
  165. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form.js +285 -0
  166. 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
  167. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/index.js +4 -0
  168. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/schema.js +112 -0
  169. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/types.js +1 -0
  170. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/columns.js +35 -0
  171. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/filters.js +11 -0
  172. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/gift-card-products-table.js +61 -0
  173. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/query.js +23 -0
  174. package/.medusa/server/src/admin/routes/gift-card-products/page.js +18 -0
  175. package/.medusa/server/src/admin/routes/gift-cards/_id_/@expiration/page.js +137 -0
  176. package/.medusa/server/src/admin/routes/gift-cards/_id_/@note/page.js +87 -0
  177. package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/components/transfer-icon.js +352 -0
  178. package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/page.js +116 -0
  179. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-balance-section.js +49 -0
  180. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-general-section.js +177 -0
  181. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-note-section.js +27 -0
  182. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-order-section.js +33 -0
  183. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-owner-section.js +33 -0
  184. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-transactions-section.js +18 -0
  185. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/columns.js +50 -0
  186. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/query.js +23 -0
  187. package/.medusa/server/src/admin/routes/gift-cards/_id_/page.js +78 -0
  188. package/.medusa/server/src/admin/routes/gift-cards/components/gift-card-products-section.js +40 -0
  189. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/columns.js +57 -0
  190. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/filters.js +13 -0
  191. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/gift-cards-table.js +61 -0
  192. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/query.js +23 -0
  193. package/.medusa/server/src/admin/routes/gift-cards/page.js +27 -0
  194. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/credit-card-icon.js +126 -0
  195. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-balance-section.js +31 -0
  196. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-details-section.js +43 -0
  197. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/columns.js +44 -0
  198. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/filters.js +18 -0
  199. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/query.js +37 -0
  200. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/table.js +58 -0
  201. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/page.js +39 -0
  202. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/columns.js +58 -0
  203. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/filters.js +13 -0
  204. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/query.js +31 -0
  205. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/table.js +56 -0
  206. package/.medusa/server/src/admin/routes/store-credit-accounts/page.js +19 -0
  207. package/.medusa/server/src/admin/utils/date-utils.js +27 -0
  208. package/.medusa/server/src/admin/utils/format-amount.js +9 -0
  209. package/.medusa/server/src/admin/utils/format-date.js +21 -0
  210. package/.medusa/server/src/admin/utils/refs.js +20 -0
  211. package/.medusa/server/src/admin/utils/statuses.js +23 -0
  212. package/.medusa/server/src/admin/utils/validations.js +71 -0
  213. package/.medusa/server/src/admin/utils/variants.js +92 -0
  214. package/.medusa/server/src/admin/widgets/customer-gift-cards-widget.js +67 -0
  215. package/.medusa/server/src/admin/widgets/customer-store-credit-widget.js +42 -0
  216. package/.medusa/server/src/admin/widgets/order-gift-cards-widget.js +58 -0
  217. package/.medusa/server/src/api/admin/gift-cards/[id]/redeem/route.js +25 -0
  218. package/.medusa/server/src/api/admin/gift-cards/[id]/route.js +41 -0
  219. package/.medusa/server/src/api/admin/gift-cards/[id]/transfer/route.js +24 -0
  220. package/.medusa/server/src/api/admin/gift-cards/middlewares.js +55 -0
  221. package/.medusa/server/src/api/admin/gift-cards/query-config.js +29 -0
  222. package/.medusa/server/src/api/admin/gift-cards/route.js +42 -0
  223. package/.medusa/server/src/api/admin/gift-cards/validators.js +69 -0
  224. package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.js +24 -0
  225. package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.js +23 -0
  226. package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.js +38 -0
  227. package/.medusa/server/src/api/admin/store-credit-accounts/query-config.js +43 -0
  228. package/.medusa/server/src/api/admin/store-credit-accounts/route.js +52 -0
  229. package/.medusa/server/src/api/admin/store-credit-accounts/validators.js +51 -0
  230. package/.medusa/server/src/api/admin/transaction-groups/middlewares.js +16 -0
  231. package/.medusa/server/src/api/admin/transaction-groups/query-config.js +13 -0
  232. package/.medusa/server/src/api/admin/transaction-groups/route.js +27 -0
  233. package/.medusa/server/src/api/admin/transaction-groups/validators.js +19 -0
  234. package/.medusa/server/src/api/middlewares.js +22 -0
  235. package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.js +43 -0
  236. package/.medusa/server/src/api/store/carts/middlewares.js +26 -0
  237. package/.medusa/server/src/api/store/carts/query-config.js +9 -0
  238. package/.medusa/server/src/api/store/carts/validators.js +15 -0
  239. package/.medusa/server/src/api/store/gift-card-invitations/[code]/accept/route.js +24 -0
  240. package/.medusa/server/src/api/store/gift-card-invitations/[code]/reject/route.js +24 -0
  241. package/.medusa/server/src/api/store/gift-card-invitations/middlewares.js +30 -0
  242. package/.medusa/server/src/api/store/gift-card-invitations/query-config.js +17 -0
  243. package/.medusa/server/src/api/store/gift-card-invitations/validators.js +14 -0
  244. package/.medusa/server/src/api/store/gift-cards/[id]/invitation/route.js +26 -0
  245. package/.medusa/server/src/api/store/gift-cards/[id]/redeem/route.js +24 -0
  246. package/.medusa/server/src/api/store/gift-cards/[id]/route.js +16 -0
  247. package/.medusa/server/src/api/store/gift-cards/middlewares.js +46 -0
  248. package/.medusa/server/src/api/store/gift-cards/query-config.js +26 -0
  249. package/.medusa/server/src/api/store/gift-cards/route.js +28 -0
  250. package/.medusa/server/src/api/store/gift-cards/validators.js +26 -0
  251. package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.js +31 -0
  252. package/.medusa/server/src/api/store/store-credit-accounts/middlewares.js +28 -0
  253. package/.medusa/server/src/api/store/store-credit-accounts/query-config.js +24 -0
  254. package/.medusa/server/src/api/store/store-credit-accounts/route.js +40 -0
  255. package/.medusa/server/src/api/store/store-credit-accounts/validators.js +17 -0
  256. package/.medusa/server/src/links/cart-gift-cards-link.js +13 -0
  257. package/.medusa/server/src/links/customer-gift-card-link.js +13 -0
  258. package/.medusa/server/src/links/customer-store-credit-account-link.js +13 -0
  259. package/.medusa/server/src/links/order-gift-cards-link.js +13 -0
  260. package/.medusa/server/src/links/order-line-item-gift-card-link.js +19 -0
  261. package/.medusa/server/src/modules/loyalty/index.js +12 -0
  262. package/.medusa/server/src/modules/loyalty/migrations/Migration20250123130553.js +17 -0
  263. package/.medusa/server/src/modules/loyalty/migrations/Migration20250127174331.js +19 -0
  264. package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141026.js +19 -0
  265. package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141429.js +14 -0
  266. package/.medusa/server/src/modules/loyalty/migrations/Migration20250206144714.js +14 -0
  267. package/.medusa/server/src/modules/loyalty/models/gift-card-invitation.js +20 -0
  268. package/.medusa/server/src/modules/loyalty/models/gift-card.js +28 -0
  269. package/.medusa/server/src/modules/loyalty/service.js +15 -0
  270. package/.medusa/server/src/modules/store-credit/index.js +12 -0
  271. package/.medusa/server/src/modules/store-credit/migrations/Migration20250129115518.js +16 -0
  272. package/.medusa/server/src/modules/store-credit/migrations/Migration20250130213237.js +18 -0
  273. package/.medusa/server/src/modules/store-credit/migrations/Migration20250130220640.js +19 -0
  274. package/.medusa/server/src/modules/store-credit/migrations/Migration20250131205753.js +14 -0
  275. package/.medusa/server/src/modules/store-credit/models/account-transaction.js +27 -0
  276. package/.medusa/server/src/modules/store-credit/models/store-credit-account.js +29 -0
  277. package/.medusa/server/src/modules/store-credit/models/transaction-group.js +28 -0
  278. package/.medusa/server/src/modules/store-credit/service.js +412 -0
  279. package/.medusa/server/src/providers/index.js +12 -0
  280. package/.medusa/server/src/providers/store-credit-payment/index.js +12 -0
  281. package/.medusa/server/src/providers/store-credit-payment/service.js +181 -0
  282. package/.medusa/server/src/subscribers/create-gift-card.js +94 -0
  283. package/.medusa/server/src/types/cart/index.js +3 -0
  284. package/.medusa/server/src/types/http/gift-card.js +3 -0
  285. package/.medusa/server/src/types/http/index.js +21 -0
  286. package/.medusa/server/src/types/http/store-credit-account.js +3 -0
  287. package/.medusa/server/src/types/http/transaction-group.js +3 -0
  288. package/.medusa/server/src/types/http/transaction.js +3 -0
  289. package/.medusa/server/src/types/index.js +21 -0
  290. package/.medusa/server/src/types/loyalty/index.js +20 -0
  291. package/.medusa/server/src/types/loyalty/module.js +17 -0
  292. package/.medusa/server/src/types/loyalty/service.js +3 -0
  293. package/.medusa/server/src/types/loyalty/workflows.js +3 -0
  294. package/.medusa/server/src/types/modules.js +14 -0
  295. package/.medusa/server/src/types/store-credit/index.js +19 -0
  296. package/.medusa/server/src/types/store-credit/module.js +10 -0
  297. package/.medusa/server/src/types/store-credit/service.js +3 -0
  298. package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.js +167 -0
  299. package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.js +95 -0
  300. package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.js +136 -0
  301. package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.js +66 -0
  302. package/.medusa/server/src/workflows/common/steps/validate-presence-of.js +11 -0
  303. package/.medusa/server/src/workflows/gift-card-invitation/steps/create-gift-card-invitation.js +17 -0
  304. package/.medusa/server/src/workflows/gift-card-invitation/steps/delete-gift-card-invitation.js +20 -0
  305. package/.medusa/server/src/workflows/gift-card-invitation/steps/update-gift-card-invitation.js +31 -0
  306. package/.medusa/server/src/workflows/gift-card-invitation/workflows/accept-gift-card-invitation.js +79 -0
  307. package/.medusa/server/src/workflows/gift-card-invitation/workflows/create-gift-card-invitation.js +66 -0
  308. package/.medusa/server/src/workflows/gift-card-invitation/workflows/delete-gift-card-invitation.js +10 -0
  309. package/.medusa/server/src/workflows/gift-card-invitation/workflows/reject-gift-card-invitation.js +70 -0
  310. package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.js +17 -0
  311. package/.medusa/server/src/workflows/gift-cards/steps/delete-gift-cards.js +17 -0
  312. package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.js +20 -0
  313. package/.medusa/server/src/workflows/gift-cards/steps/update-gift-cards.js +34 -0
  314. package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.js +12 -0
  315. package/.medusa/server/src/workflows/gift-cards/workflows/delete-gift-card.js +19 -0
  316. package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.js +90 -0
  317. package/.medusa/server/src/workflows/gift-cards/workflows/transfer-gift-card.js +48 -0
  318. package/.medusa/server/src/workflows/gift-cards/workflows/update-gift-cards.js +12 -0
  319. package/.medusa/server/src/workflows/hooks/after-order-created.js +31 -0
  320. package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.js +31 -0
  321. package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.js +26 -0
  322. package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.js +27 -0
  323. package/.medusa/server/src/workflows/orders/workflows/link-gift-cards-to-order.js +58 -0
  324. package/.medusa/server/src/workflows/orders/workflows/refund-gift-card-credit-lines.js +96 -0
  325. package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.js +17 -0
  326. package/.medusa/server/src/workflows/store-credit/steps/create-transaction-groups.js +17 -0
  327. package/.medusa/server/src/workflows/store-credit/steps/credit-account.js +17 -0
  328. package/.medusa/server/src/workflows/store-credit/steps/debit-account.js +17 -0
  329. package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.js +57 -0
  330. package/.medusa/server/src/workflows/store-credit/workflows/create-transaction-groups.js +12 -0
  331. package/.medusa/server/src/workflows/store-credit/workflows/credit-accounts.js +12 -0
  332. package/.medusa/server/src/workflows/store-credit/workflows/debit-accounts.js +12 -0
  333. package/.medusa/server/types/loyalty/module.js +8 -0
  334. package/README.md +62 -0
  335. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLWdpZnQtY2FyZC1jcmVkaXQtbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3MvcmVmdW5kLWdpZnQtY2FyZC1jcmVkaXQtbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQWdFO0FBQ2hFLDREQUFnRTtBQUNoRSwyREFNaUM7QUFDakMsMENBS3dCO0FBRXhCLCtGQUFtRztBQUV0RixRQUFBLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDckQsNkJBQTZCLEVBQzdCLEtBQUssV0FDSCxFQUNFLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxHQUtaLEVBQ0QsRUFBRSxTQUFTLEVBQUU7SUFFYixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM5QixvQkFBWSxDQUFDLFlBQVksQ0FDMUIsQ0FBQztJQUVGLE1BQU0sb0JBQW9CLEdBQTJDLEVBQUUsQ0FBQztJQUN4RSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDNUQsY0FBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0YsSUFBSSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQ2hELENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQ2xCLGNBQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGNBQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3JFLGNBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ2xCLENBQUM7SUFFRixNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUNoRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO0tBQ25DLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDM0QsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDakQsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQTBCLEVBQUUsQ0FBQztJQUVyRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDZDQUE2QyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQzdELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxNQUFNLENBQUMsb0JBQW9CLENBQUM7WUFDOUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7WUFDakMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTtTQUMxQyxDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLGNBQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FDN0QsY0FBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxjQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFMUUsSUFBSSxjQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztnQkFDdEIsVUFBVSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ2pDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ3pDLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQzVCLENBQUMsQ0FBQztZQUVILGlCQUFpQixHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDO0FBRUY7O0VBRUU7QUFDVyxRQUFBLGlDQUFpQyxHQUFHLElBQUEsOEJBQWMsRUFDN0QsK0JBQStCLEVBQy9CLFVBQVUsS0FBK0Q7SUFDdkUsTUFBTSxVQUFVLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuQyxNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQy9CLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixlQUFlO1NBQ2hCO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFdEMsTUFBTSxLQUFLLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7UUFDekQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDdkQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN0QyxNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDO0tBQzFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO1FBQ25FLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxFQUM5QyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDN0IsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDNUQsY0FBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FDRixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLGtCQUFrQixHQUFHLElBQUEscUNBQTZCLEVBQUM7WUFDdkQsU0FBUztZQUNULEtBQUs7WUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsd0NBQXNCLENBQUMsU0FBUyxDQUFDO1lBQy9CLEtBQUssRUFBRSxrQkFBa0I7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -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=
@@ -0,0 +1,8 @@
1
+ var GiftCardStatus = /* @__PURE__ */ ((GiftCardStatus2) => {
2
+ GiftCardStatus2["PENDING"] = "pending";
3
+ GiftCardStatus2["REDEEMED"] = "redeemed";
4
+ return GiftCardStatus2;
5
+ })(GiftCardStatus || {});
6
+ export {
7
+ GiftCardStatus
8
+ };
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
+ }