@mercurjs/magento2-connector-plugin 0.0.0-stage → 2.3.9-canary.2

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 (134) hide show
  1. package/.medusa/server/src/admin/index.js +810 -0
  2. package/.medusa/server/src/admin/index.mjs +787 -0
  3. package/.medusa/server/src/api/admin/magento/middlewares.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/magento/middlewares.js +96 -0
  5. package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/cancel/route.d.ts +4 -0
  6. package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/cancel/route.js +24 -0
  7. package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/capture/route.d.ts +4 -0
  8. package/.medusa/server/src/api/admin/magento/order-groups/[id]/payments/capture/route.js +24 -0
  9. package/.medusa/server/src/api/admin/magento/order-groups/payment-fields.d.ts +1 -0
  10. package/.medusa/server/src/api/admin/magento/order-groups/payment-fields.js +16 -0
  11. package/.medusa/server/src/api/admin/magento/order-groups/validators.d.ts +9 -0
  12. package/.medusa/server/src/api/admin/magento/order-groups/validators.js +15 -0
  13. package/.medusa/server/src/api/admin/magento/orders/[id]/refunds/external/route.d.ts +4 -0
  14. package/.medusa/server/src/api/admin/magento/orders/[id]/refunds/external/route.js +24 -0
  15. package/.medusa/server/src/api/admin/magento/orders/validators.d.ts +7 -0
  16. package/.medusa/server/src/api/admin/magento/orders/validators.js +12 -0
  17. package/.medusa/server/src/api/admin/magento/status/route.d.ts +3 -0
  18. package/.medusa/server/src/api/admin/magento/status/route.js +46 -0
  19. package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/[delivery_id]/redeliver/route.d.ts +4 -0
  20. package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/[delivery_id]/redeliver/route.js +23 -0
  21. package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/route.d.ts +4 -0
  22. package/.medusa/server/src/api/admin/magento/webhooks/[id]/deliveries/route.js +21 -0
  23. package/.medusa/server/src/api/admin/magento/webhooks/[id]/route.d.ts +6 -0
  24. package/.medusa/server/src/api/admin/magento/webhooks/[id]/route.js +40 -0
  25. package/.medusa/server/src/api/admin/magento/webhooks/query-config.d.ts +22 -0
  26. package/.medusa/server/src/api/admin/magento/webhooks/query-config.js +36 -0
  27. package/.medusa/server/src/api/admin/magento/webhooks/route.d.ts +5 -0
  28. package/.medusa/server/src/api/admin/magento/webhooks/route.js +37 -0
  29. package/.medusa/server/src/api/admin/magento/webhooks/validators.d.ts +117 -0
  30. package/.medusa/server/src/api/admin/magento/webhooks/validators.js +46 -0
  31. package/.medusa/server/src/api/middlewares.d.ts +2 -0
  32. package/.medusa/server/src/api/middlewares.js +8 -0
  33. package/.medusa/server/src/index.d.ts +4 -0
  34. package/.medusa/server/src/index.js +24 -0
  35. package/.medusa/server/src/jobs/prune-magento-webhook-deliveries.d.ts +6 -0
  36. package/.medusa/server/src/jobs/prune-magento-webhook-deliveries.js +16 -0
  37. package/.medusa/server/src/jobs/retry-magento-webhook-deliveries.d.ts +6 -0
  38. package/.medusa/server/src/jobs/retry-magento-webhook-deliveries.js +20 -0
  39. package/.medusa/server/src/modules/magento-webhook/index.d.ts +36 -0
  40. package/.medusa/server/src/modules/magento-webhook/index.js +14 -0
  41. package/.medusa/server/src/modules/magento-webhook/migrations/Migration20261021155148.d.ts +5 -0
  42. package/.medusa/server/src/modules/magento-webhook/migrations/Migration20261021155148.js +22 -0
  43. package/.medusa/server/src/modules/magento-webhook/models/index.d.ts +2 -0
  44. package/.medusa/server/src/modules/magento-webhook/models/index.js +11 -0
  45. package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-delivery.d.ts +22 -0
  46. package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-delivery.js +38 -0
  47. package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-endpoint.d.ts +22 -0
  48. package/.medusa/server/src/modules/magento-webhook/models/magento-webhook-endpoint.js +23 -0
  49. package/.medusa/server/src/modules/magento-webhook/services/magento-webhook-module-service.d.ts +48 -0
  50. package/.medusa/server/src/modules/magento-webhook/services/magento-webhook-module-service.js +10 -0
  51. package/.medusa/server/src/modules/magento-webhook/utils/index.d.ts +2 -0
  52. package/.medusa/server/src/modules/magento-webhook/utils/index.js +19 -0
  53. package/.medusa/server/src/modules/magento-webhook/utils/retry.d.ts +1 -0
  54. package/.medusa/server/src/modules/magento-webhook/utils/retry.js +16 -0
  55. package/.medusa/server/src/modules/magento-webhook/utils/signature.d.ts +2 -0
  56. package/.medusa/server/src/modules/magento-webhook/utils/signature.js +13 -0
  57. package/.medusa/server/src/providers/payment-external/index.d.ts +4 -0
  58. package/.medusa/server/src/providers/payment-external/index.js +13 -0
  59. package/.medusa/server/src/providers/payment-external/service.d.ts +26 -0
  60. package/.medusa/server/src/providers/payment-external/service.js +87 -0
  61. package/.medusa/server/src/subscribers/magento-refund-requested.d.ts +5 -0
  62. package/.medusa/server/src/subscribers/magento-refund-requested.js +16 -0
  63. package/.medusa/server/src/subscribers/magento-webhook-deliver-on-create.d.ts +5 -0
  64. package/.medusa/server/src/subscribers/magento-webhook-deliver-on-create.js +16 -0
  65. package/.medusa/server/src/subscribers/magento-webhook-fan-out.d.ts +3 -0
  66. package/.medusa/server/src/subscribers/magento-webhook-fan-out.js +27 -0
  67. package/.medusa/server/src/types/common.d.ts +107 -0
  68. package/.medusa/server/src/types/common.js +43 -0
  69. package/.medusa/server/src/types/http.d.ts +129 -0
  70. package/.medusa/server/src/types/http.js +3 -0
  71. package/.medusa/server/src/types/index.d.ts +3 -0
  72. package/.medusa/server/src/types/index.js +20 -0
  73. package/.medusa/server/src/types/service.d.ts +17 -0
  74. package/.medusa/server/src/types/service.js +3 -0
  75. package/.medusa/server/src/workflows/external-payment/index.d.ts +2 -0
  76. package/.medusa/server/src/workflows/external-payment/index.js +19 -0
  77. package/.medusa/server/src/workflows/external-payment/steps/build-refund-requested-event.d.ts +32 -0
  78. package/.medusa/server/src/workflows/external-payment/steps/build-refund-requested-event.js +37 -0
  79. package/.medusa/server/src/workflows/external-payment/steps/cancel-order-group-orders.d.ts +6 -0
  80. package/.medusa/server/src/workflows/external-payment/steps/cancel-order-group-orders.js +27 -0
  81. package/.medusa/server/src/workflows/external-payment/steps/index.d.ts +5 -0
  82. package/.medusa/server/src/workflows/external-payment/steps/index.js +22 -0
  83. package/.medusa/server/src/workflows/external-payment/steps/resolve-external-cart-payment.d.ts +16 -0
  84. package/.medusa/server/src/workflows/external-payment/steps/resolve-external-cart-payment.js +45 -0
  85. package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment-cancelable.d.ts +7 -0
  86. package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment-cancelable.js +13 -0
  87. package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment.d.ts +13 -0
  88. package/.medusa/server/src/workflows/external-payment/steps/validate-external-payment.js +22 -0
  89. package/.medusa/server/src/workflows/external-payment/workflows/cancel-external-payment.d.ts +12 -0
  90. package/.medusa/server/src/workflows/external-payment/workflows/cancel-external-payment.js +39 -0
  91. package/.medusa/server/src/workflows/external-payment/workflows/capture-external-payment.d.ts +12 -0
  92. package/.medusa/server/src/workflows/external-payment/workflows/capture-external-payment.js +43 -0
  93. package/.medusa/server/src/workflows/external-payment/workflows/emit-refund-requested.d.ts +10 -0
  94. package/.medusa/server/src/workflows/external-payment/workflows/emit-refund-requested.js +45 -0
  95. package/.medusa/server/src/workflows/external-payment/workflows/index.d.ts +4 -0
  96. package/.medusa/server/src/workflows/external-payment/workflows/index.js +21 -0
  97. package/.medusa/server/src/workflows/external-payment/workflows/record-external-refund.d.ts +14 -0
  98. package/.medusa/server/src/workflows/external-payment/workflows/record-external-refund.js +58 -0
  99. package/.medusa/server/src/workflows/index.d.ts +2 -0
  100. package/.medusa/server/src/workflows/index.js +19 -0
  101. package/.medusa/server/src/workflows/magento-webhook/index.d.ts +2 -0
  102. package/.medusa/server/src/workflows/magento-webhook/index.js +19 -0
  103. package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-deliveries.d.ts +6 -0
  104. package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-deliveries.js +30 -0
  105. package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-endpoints.d.ts +4 -0
  106. package/.medusa/server/src/workflows/magento-webhook/steps/create-magento-webhook-endpoints.js +18 -0
  107. package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-deliveries.d.ts +6 -0
  108. package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-deliveries.js +15 -0
  109. package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-endpoints.d.ts +3 -0
  110. package/.medusa/server/src/workflows/magento-webhook/steps/delete-magento-webhook-endpoints.js +18 -0
  111. package/.medusa/server/src/workflows/magento-webhook/steps/index.d.ts +7 -0
  112. package/.medusa/server/src/workflows/magento-webhook/steps/index.js +24 -0
  113. package/.medusa/server/src/workflows/magento-webhook/steps/send-magento-webhook-delivery.d.ts +7 -0
  114. package/.medusa/server/src/workflows/magento-webhook/steps/send-magento-webhook-delivery.js +74 -0
  115. package/.medusa/server/src/workflows/magento-webhook/steps/update-magento-webhook-endpoints.d.ts +4 -0
  116. package/.medusa/server/src/workflows/magento-webhook/steps/update-magento-webhook-endpoints.js +29 -0
  117. package/.medusa/server/src/workflows/magento-webhook/steps/validate-magento-webhook-delivery.d.ts +10 -0
  118. package/.medusa/server/src/workflows/magento-webhook/steps/validate-magento-webhook-delivery.js +19 -0
  119. package/.medusa/server/src/workflows/magento-webhook/workflows/create-magento-webhook-endpoints.d.ts +8 -0
  120. package/.medusa/server/src/workflows/magento-webhook/workflows/create-magento-webhook-endpoints.js +16 -0
  121. package/.medusa/server/src/workflows/magento-webhook/workflows/delete-magento-webhook-endpoints.d.ts +5 -0
  122. package/.medusa/server/src/workflows/magento-webhook/workflows/delete-magento-webhook-endpoints.js +11 -0
  123. package/.medusa/server/src/workflows/magento-webhook/workflows/deliver-magento-webhook.d.ts +7 -0
  124. package/.medusa/server/src/workflows/magento-webhook/workflows/deliver-magento-webhook.js +12 -0
  125. package/.medusa/server/src/workflows/magento-webhook/workflows/enqueue-magento-webhook-deliveries.d.ts +6 -0
  126. package/.medusa/server/src/workflows/magento-webhook/workflows/enqueue-magento-webhook-deliveries.js +17 -0
  127. package/.medusa/server/src/workflows/magento-webhook/workflows/index.d.ts +6 -0
  128. package/.medusa/server/src/workflows/magento-webhook/workflows/index.js +23 -0
  129. package/.medusa/server/src/workflows/magento-webhook/workflows/prune-magento-webhook-deliveries.d.ts +6 -0
  130. package/.medusa/server/src/workflows/magento-webhook/workflows/prune-magento-webhook-deliveries.js +11 -0
  131. package/.medusa/server/src/workflows/magento-webhook/workflows/update-magento-webhook-endpoints.d.ts +6 -0
  132. package/.medusa/server/src/workflows/magento-webhook/workflows/update-magento-webhook-endpoints.js +11 -0
  133. package/README.md +64 -2
  134. package/package.json +96 -4
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildRefundRequestedEventStep = exports.buildRefundRequestedEventStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const types_1 = require("../../../types");
7
+ exports.buildRefundRequestedEventStepId = "build-refund-requested-event";
8
+ /**
9
+ * Picks the newest refund on an external-provider payment that did not come
10
+ * from Magento itself. Returns an empty list when there is nothing to forward.
11
+ */
12
+ exports.buildRefundRequestedEventStep = (0, workflows_sdk_1.createStep)(exports.buildRefundRequestedEventStepId, async (input) => {
13
+ const payment = input.payment;
14
+ if (!payment || payment.provider_id !== types_1.EXTERNAL_PAYMENT_PROVIDER_ID) {
15
+ return new workflows_sdk_1.StepResponse([]);
16
+ }
17
+ if (!input.order_id) {
18
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Payment ${payment.id} is not attached to an order`);
19
+ }
20
+ const newest = (payment.refunds ?? [])
21
+ .filter((r) => !!r)
22
+ .sort((a, b) => new Date(b.created_at ?? 0).getTime() - new Date(a.created_at ?? 0).getTime())[0];
23
+ if (!newest || newest.metadata?.source === types_1.EXTERNAL_REFUND_SOURCE) {
24
+ return new workflows_sdk_1.StepResponse([]);
25
+ }
26
+ return new workflows_sdk_1.StepResponse([
27
+ {
28
+ order_id: input.order_id,
29
+ payment_id: payment.id,
30
+ refund_id: newest.id,
31
+ amount: Number(newest.amount),
32
+ currency_code: payment.currency_code,
33
+ note: newest.note ?? null,
34
+ },
35
+ ]);
36
+ });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcmVmdW5kLXJlcXVlc3RlZC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy9idWlsZC1yZWZ1bmQtcmVxdWVzdGVkLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFFNUUsMENBQXFGO0FBOEJ4RSxRQUFBLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO0FBRTdFOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUNyRCx1Q0FBK0IsRUFDL0IsS0FBSyxFQUFFLEtBQXlDLEVBQUUsRUFBRTtJQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO0lBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxvQ0FBNEIsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSw0QkFBWSxDQUE2QixFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixXQUFXLE9BQU8sQ0FBQyxFQUFFLDhCQUE4QixDQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDbkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVuRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLDhCQUFzQixFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLDRCQUFZLENBQTZCLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBNkI7UUFDbEQ7WUFDRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ3RCLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0IsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUk7U0FDMUI7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,6 @@
1
+ export type CancelOrderGroupOrdersStepInput = {
2
+ order_ids: string[];
3
+ canceled_by?: string;
4
+ };
5
+ export declare const cancelOrderGroupOrdersStepId = "cancel-order-group-orders";
6
+ export declare const cancelOrderGroupOrdersStep: import("@medusajs/framework/workflows-sdk").StepFunction<CancelOrderGroupOrdersStepInput, string[]>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelOrderGroupOrdersStep = exports.cancelOrderGroupOrdersStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ exports.cancelOrderGroupOrdersStepId = "cancel-order-group-orders";
8
+ exports.cancelOrderGroupOrdersStep = (0, workflows_sdk_1.createStep)(exports.cancelOrderGroupOrdersStepId, async (input, { container }) => {
9
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ const { data: orders } = await query.graph({
11
+ entity: "order",
12
+ fields: ["id", "status", "canceled_at"],
13
+ filters: { id: input.order_ids },
14
+ });
15
+ const canceled = [];
16
+ for (const order of orders) {
17
+ if (order.status === utils_1.OrderStatus.CANCELED || order.canceled_at) {
18
+ continue;
19
+ }
20
+ await (0, core_flows_1.cancelOrderWorkflow)(container).run({
21
+ input: { order_id: order.id, canceled_by: input.canceled_by },
22
+ });
23
+ canceled.push(order.id);
24
+ }
25
+ return new workflows_sdk_1.StepResponse(canceled);
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLW9yZGVyLWdyb3VwLW9yZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy9jYW5jZWwtb3JkZXItZ3JvdXAtb3JkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRjtBQUNsRixxRUFBNEU7QUFDNUUsNERBQWlFO0FBT3BELFFBQUEsNEJBQTRCLEdBQUcsMkJBQTJCLENBQUE7QUFDMUQsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQ2xELG9DQUE0QixFQUM1QixLQUFLLEVBQUUsS0FBc0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFO0tBQ2pDLENBQUMsQ0FBQTtJQUVGLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtJQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxtQkFBVyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0QsU0FBUTtRQUNWLENBQUM7UUFDRCxNQUFNLElBQUEsZ0NBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFO1NBQzlELENBQUMsQ0FBQTtRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,5 @@
1
+ export * from "./build-refund-requested-event";
2
+ export * from "./cancel-order-group-orders";
3
+ export * from "./resolve-external-cart-payment";
4
+ export * from "./validate-external-payment";
5
+ export * from "./validate-external-payment-cancelable";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./build-refund-requested-event"), exports);
18
+ __exportStar(require("./cancel-order-group-orders"), exports);
19
+ __exportStar(require("./resolve-external-cart-payment"), exports);
20
+ __exportStar(require("./validate-external-payment"), exports);
21
+ __exportStar(require("./validate-external-payment-cancelable"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUE4QztBQUM5Qyw4REFBMkM7QUFDM0Msa0VBQStDO0FBQy9DLDhEQUEyQztBQUMzQyx5RUFBc0QifQ==
@@ -0,0 +1,16 @@
1
+ export type ResolveExternalCartPaymentStepInput = {
2
+ order_group_id: string;
3
+ order_ids: string[];
4
+ };
5
+ export type ExternalCartPayment = {
6
+ cart_id: string;
7
+ payment_id: string;
8
+ captured: boolean;
9
+ canceled: boolean;
10
+ };
11
+ export declare const resolveExternalCartPaymentStepId = "resolve-external-cart-payment";
12
+ /**
13
+ * Finds the cart-level payment held by the external provider for an order
14
+ * group. Until it is captured, the child orders have no payment of their own.
15
+ */
16
+ export declare const resolveExternalCartPaymentStep: import("@medusajs/framework/workflows-sdk").StepFunction<ResolveExternalCartPaymentStepInput, ExternalCartPayment>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveExternalCartPaymentStep = exports.resolveExternalCartPaymentStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const workflows_1 = require("@mercurjs/core/workflows");
7
+ const types_1 = require("../../../types");
8
+ exports.resolveExternalCartPaymentStepId = "resolve-external-cart-payment";
9
+ /**
10
+ * Finds the cart-level payment held by the external provider for an order
11
+ * group. Until it is captured, the child orders have no payment of their own.
12
+ */
13
+ exports.resolveExternalCartPaymentStep = (0, workflows_sdk_1.createStep)(exports.resolveExternalCartPaymentStepId, async (input, { container }) => {
14
+ const [orderId] = input.order_ids;
15
+ if (!orderId) {
16
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" has no orders`);
17
+ }
18
+ const cartId = await (0, workflows_1.resolveSplitOrderCartId)(container, { order_id: orderId });
19
+ if (!cartId) {
20
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" is not linked to a cart`);
21
+ }
22
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
23
+ const { data } = await query.graph({
24
+ entity: "cart_payment_collection",
25
+ fields: [
26
+ "payment_collection.payments.id",
27
+ "payment_collection.payments.provider_id",
28
+ "payment_collection.payments.captured_at",
29
+ "payment_collection.payments.canceled_at",
30
+ ],
31
+ filters: { cart_id: cartId },
32
+ });
33
+ const payments = data.flatMap((link) => (link.payment_collection?.payments ?? []));
34
+ const payment = payments.find((p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID && !p.canceled_at) ?? payments.find((p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID);
35
+ if (!payment) {
36
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Order group with id "${input.order_group_id}" has no payment on the external provider`);
37
+ }
38
+ return new workflows_sdk_1.StepResponse({
39
+ cart_id: cartId,
40
+ payment_id: payment.id,
41
+ captured: !!payment.captured_at,
42
+ canceled: !!payment.canceled_at,
43
+ });
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1leHRlcm5hbC1jYXJ0LXBheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvc3RlcHMvcmVzb2x2ZS1leHRlcm5hbC1jYXJ0LXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtGO0FBQ2xGLHFFQUE0RTtBQUM1RSx3REFBa0U7QUFFbEUsMENBQTZEO0FBcUJoRCxRQUFBLGdDQUFnQyxHQUFHLCtCQUErQixDQUFBO0FBQy9FOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsSUFBQSwwQkFBVSxFQUN0RCx3Q0FBZ0MsRUFDaEMsS0FBSyxFQUFFLEtBQTBDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFBO0lBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHdCQUF3QixLQUFLLENBQUMsY0FBYyxpQkFBaUIsQ0FDOUQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsbUNBQXVCLEVBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDOUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0JBQXdCLEtBQUssQ0FBQyxjQUFjLDJCQUEyQixDQUN4RSxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNqQyxNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLE1BQU0sRUFBRTtZQUNOLGdDQUFnQztZQUNoQyx5Q0FBeUM7WUFDekMseUNBQXlDO1lBQ3pDLHlDQUF5QztTQUMxQztRQUNELE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7S0FDN0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsSUFBSSxFQUFFLENBQThCLENBQ2pGLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUMzQixDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUN6QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssb0NBQTRCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUMxRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLENBQUMsQ0FBQyxFQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLG9DQUE0QixDQUNsRixDQUFBO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0JBQXdCLEtBQUssQ0FBQyxjQUFjLDJDQUEyQyxDQUN4RixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFzQjtRQUMzQyxPQUFPLEVBQUUsTUFBTTtRQUNmLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQy9CLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVc7S0FDaEMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,7 @@
1
+ import { ExternalCartPayment } from "./resolve-external-cart-payment";
2
+ export type ValidateExternalPaymentCancelableStepInput = {
3
+ order_group_id: string;
4
+ payment: ExternalCartPayment;
5
+ };
6
+ export declare const validateExternalPaymentCancelableStepId = "validate-external-payment-cancelable";
7
+ export declare const validateExternalPaymentCancelableStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateExternalPaymentCancelableStepInput, undefined>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateExternalPaymentCancelableStep = exports.validateExternalPaymentCancelableStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.validateExternalPaymentCancelableStepId = "validate-external-payment-cancelable";
7
+ exports.validateExternalPaymentCancelableStep = (0, workflows_sdk_1.createStep)(exports.validateExternalPaymentCancelableStepId, async (input) => {
8
+ if (input.payment.captured) {
9
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Payment of order group "${input.order_group_id}" is already captured; record a refund instead`);
10
+ }
11
+ return new workflows_sdk_1.StepResponse(void 0);
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZXh0ZXJuYWwtcGF5bWVudC1jYW5jZWxhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3N0ZXBzL3ZhbGlkYXRlLWV4dGVybmFsLXBheW1lbnQtY2FuY2VsYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQTRFO0FBUy9ELFFBQUEsdUNBQXVDLEdBQ2xELHNDQUFzQyxDQUFBO0FBQzNCLFFBQUEscUNBQXFDLEdBQUcsSUFBQSwwQkFBVSxFQUM3RCwrQ0FBdUMsRUFDdkMsS0FBSyxFQUFFLEtBQWlELEVBQUUsRUFBRTtJQUMxRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkJBQTJCLEtBQUssQ0FBQyxjQUFjLGdEQUFnRCxDQUNoRyxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,13 @@
1
+ type PaymentRow = {
2
+ id: string;
3
+ provider_id: string;
4
+ captured_at: Date | string | null;
5
+ };
6
+ export type ValidateExternalPaymentStepInput = {
7
+ order_id: string;
8
+ payments: (PaymentRow | null)[];
9
+ cart_payments?: (PaymentRow | null)[];
10
+ };
11
+ export declare const validateExternalPaymentStepId = "validate-external-payment";
12
+ export declare const validateExternalPaymentStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateExternalPaymentStepInput, string>;
13
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateExternalPaymentStep = exports.validateExternalPaymentStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const types_1 = require("../../../types");
7
+ const isExternal = (p) => !!p && p.provider_id === types_1.EXTERNAL_PAYMENT_PROVIDER_ID;
8
+ exports.validateExternalPaymentStepId = "validate-external-payment";
9
+ exports.validateExternalPaymentStep = (0, workflows_sdk_1.createStep)(exports.validateExternalPaymentStepId, async (input) => {
10
+ // An order only holds its own external payment once the cart payment is
11
+ // captured and split; before that the cart's shared one is all there is.
12
+ const payment = input.payments.filter(isExternal).find((p) => !!p.captured_at);
13
+ if (!payment) {
14
+ const pending = (input.cart_payments ?? []).some(isExternal) ||
15
+ input.payments.some(isExternal);
16
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, pending
17
+ ? `Order with id "${input.order_id}" has an external payment that is not yet captured; capture the order group payment first`
18
+ : `Order with id "${input.order_id}" has no payment on the external provider`);
19
+ }
20
+ return new workflows_sdk_1.StepResponse(payment.id);
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZXh0ZXJuYWwtcGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC9zdGVwcy92YWxpZGF0ZS1leHRlcm5hbC1wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFFNUUsMENBQTZEO0FBVTdELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBb0IsRUFBbUIsRUFBRSxDQUMzRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssb0NBQTRCLENBQUE7QUFFMUMsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQTtBQUMzRCxRQUFBLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDbkQscUNBQTZCLEVBQzdCLEtBQUssRUFBRSxLQUF1QyxFQUFFLEVBQUU7SUFDaEQsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFOUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsT0FBTztZQUNMLENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsMkZBQTJGO1lBQzdILENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsMkNBQTJDLENBQ2hGLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,12 @@
1
+ export type CancelExternalPaymentWorkflowInput = {
2
+ order_group_id: string;
3
+ reference?: string;
4
+ canceled_by?: string;
5
+ };
6
+ export declare const cancelExternalPaymentWorkflowId = "cancel-external-payment";
7
+ /**
8
+ * Mirrors a storefront cancellation of an order whose payment was never
9
+ * captured: every child order is canceled, which releases the shared cart
10
+ * authorization on the external provider.
11
+ */
12
+ export declare const cancelExternalPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CancelExternalPaymentWorkflowInput, import("../steps").ExternalCartPayment, []>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelExternalPaymentWorkflow = exports.cancelExternalPaymentWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const workflows_1 = require("@mercurjs/core/workflows");
7
+ const steps_1 = require("../steps");
8
+ exports.cancelExternalPaymentWorkflowId = "cancel-external-payment";
9
+ /**
10
+ * Mirrors a storefront cancellation of an order whose payment was never
11
+ * captured: every child order is canceled, which releases the shared cart
12
+ * authorization on the external provider.
13
+ */
14
+ exports.cancelExternalPaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.cancelExternalPaymentWorkflowId, (input) => {
15
+ const groups = (0, core_flows_1.useQueryGraphStep)({
16
+ entity: "order_group",
17
+ fields: ["id", "orders.id"],
18
+ filters: { id: input.order_group_id },
19
+ options: { throwIfKeyNotFound: true },
20
+ });
21
+ const orderIds = (0, workflows_sdk_1.transform)({ groups }, ({ groups }) => (groups.data[0]?.orders ?? []).flatMap((o) => (o ? [o.id] : [])));
22
+ const payment = (0, steps_1.resolveExternalCartPaymentStep)((0, workflows_sdk_1.transform)({ input, orderIds }, ({ input, orderIds }) => ({
23
+ order_group_id: input.order_group_id,
24
+ order_ids: orderIds,
25
+ })));
26
+ (0, steps_1.validateExternalPaymentCancelableStep)((0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
27
+ order_group_id: input.order_group_id,
28
+ payment,
29
+ })));
30
+ (0, steps_1.cancelOrderGroupOrdersStep)((0, workflows_sdk_1.transform)({ input, orderIds }, ({ input, orderIds }) => ({
31
+ order_ids: orderIds,
32
+ canceled_by: input.canceled_by,
33
+ })));
34
+ workflows_1.voidCanceledCartPaymentWorkflow.runAsStep({
35
+ input: (0, workflows_sdk_1.transform)({ payment }, ({ payment }) => ({ cart_id: payment.cart_id })),
36
+ });
37
+ return new workflows_sdk_1.WorkflowResponse(payment);
38
+ });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWV4dGVybmFsLXBheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvd29ya2Zsb3dzL2NhbmNlbC1leHRlcm5hbC1wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0Qsd0RBQTBFO0FBRTFFLG9DQUlpQjtBQVFKLFFBQUEsK0JBQStCLEdBQUcseUJBQXlCLENBQUE7QUFDeEU7Ozs7R0FJRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSw4QkFBYyxFQUN6RCx1Q0FBK0IsRUFDL0IsQ0FBQyxLQUF1RCxFQUFFLEVBQUU7SUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMvQixNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUNwRCxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQ0FBOEIsRUFDNUMsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQ3BDLFNBQVMsRUFBRSxRQUFRO0tBQ3BCLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLDZDQUFxQyxFQUNuQyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7UUFDcEMsT0FBTztLQUNSLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLGtDQUEwQixFQUN4QixJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxTQUFTLEVBQUUsUUFBUTtRQUNuQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7S0FDL0IsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVELDJDQUErQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxLQUFLLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQy9FLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,12 @@
1
+ export type CaptureExternalPaymentWorkflowInput = {
2
+ order_group_id: string;
3
+ reference?: string;
4
+ captured_by?: string;
5
+ };
6
+ export declare const captureExternalPaymentWorkflowId = "capture-external-payment";
7
+ /**
8
+ * Records that the storefront settled the payment of an order group. The
9
+ * cart-level payment is captured once; core splits it between the child
10
+ * orders on `payment.captured`.
11
+ */
12
+ export declare const captureExternalPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CaptureExternalPaymentWorkflowInput, import("../steps").ExternalCartPayment, []>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.captureExternalPaymentWorkflow = exports.captureExternalPaymentWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("../../../types");
7
+ const steps_1 = require("../steps");
8
+ exports.captureExternalPaymentWorkflowId = "capture-external-payment";
9
+ /**
10
+ * Records that the storefront settled the payment of an order group. The
11
+ * cart-level payment is captured once; core splits it between the child
12
+ * orders on `payment.captured`.
13
+ */
14
+ exports.captureExternalPaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.captureExternalPaymentWorkflowId, (input) => {
15
+ const groups = (0, core_flows_1.useQueryGraphStep)({
16
+ entity: "order_group",
17
+ fields: ["id", "orders.id"],
18
+ filters: { id: input.order_group_id },
19
+ options: { throwIfKeyNotFound: true },
20
+ });
21
+ const payment = (0, steps_1.resolveExternalCartPaymentStep)((0, workflows_sdk_1.transform)({ input, groups }, ({ input, groups }) => ({
22
+ order_group_id: input.order_group_id,
23
+ order_ids: (groups.data[0]?.orders ?? []).flatMap((o) => (o ? [o.id] : [])),
24
+ })));
25
+ (0, workflows_sdk_1.when)({ payment }, ({ payment }) => !payment.captured).then(() => {
26
+ core_flows_1.capturePaymentWorkflow.runAsStep({
27
+ input: (0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
28
+ payment_id: payment.payment_id,
29
+ captured_by: input.captured_by,
30
+ })),
31
+ });
32
+ (0, core_flows_1.emitEventStep)({
33
+ eventName: types_1.MagentoWebhookEvents.PAYMENT_CAPTURED,
34
+ data: (0, workflows_sdk_1.transform)({ input, payment }, ({ input, payment }) => ({
35
+ id: input.order_group_id,
36
+ payment_id: payment.payment_id,
37
+ reference: input.reference ?? null,
38
+ })),
39
+ });
40
+ });
41
+ return new workflows_sdk_1.WorkflowResponse(payment);
42
+ });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS1leHRlcm5hbC1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3dvcmtmbG93cy9jYXB0dXJlLWV4dGVybmFsLXBheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBTTBDO0FBQzFDLDREQUlvQztBQUVwQywwQ0FBcUQ7QUFDckQsb0NBQXlEO0FBUTVDLFFBQUEsZ0NBQWdDLEdBQUcsMEJBQTBCLENBQUE7QUFDMUU7Ozs7R0FJRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsSUFBQSw4QkFBYyxFQUMxRCx3Q0FBZ0MsRUFDaEMsQ0FBQyxLQUF3RCxFQUFFLEVBQUU7SUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMvQixNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUE7SUFFRixNQUFNLE9BQU8sR0FBRyxJQUFBLHNDQUE4QixFQUM1QyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7UUFDcEMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzVFLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCxJQUFBLG9CQUFJLEVBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDOUQsbUNBQXNCLENBQUMsU0FBUyxDQUFDO1lBQy9CLEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUQsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQyxDQUFBO1FBRUYsSUFBQSwwQkFBYSxFQUFDO1lBQ1osU0FBUyxFQUFFLDRCQUFvQixDQUFDLGdCQUFnQjtZQUNoRCxJQUFJLEVBQUUsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNELEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYztnQkFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO2FBQ25DLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,10 @@
1
+ export type EmitRefundRequestedWorkflowInput = {
2
+ payment_id: string;
3
+ };
4
+ export declare const emitRefundRequestedWorkflowId = "emit-refund-requested";
5
+ /**
6
+ * A refund recorded in Mercur on an external-provider payment moved no money:
7
+ * the storefront that captured the payment has to execute it. This announces
8
+ * it as `order.refund_requested`.
9
+ */
10
+ export declare const emitRefundRequestedWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<EmitRefundRequestedWorkflowInput, import("../steps").RefundRequestedEventData[], []>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitRefundRequestedWorkflow = exports.emitRefundRequestedWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("../../../types");
7
+ const steps_1 = require("../steps");
8
+ exports.emitRefundRequestedWorkflowId = "emit-refund-requested";
9
+ /**
10
+ * A refund recorded in Mercur on an external-provider payment moved no money:
11
+ * the storefront that captured the payment has to execute it. This announces
12
+ * it as `order.refund_requested`.
13
+ */
14
+ exports.emitRefundRequestedWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.emitRefundRequestedWorkflowId, (input) => {
15
+ const payments = (0, core_flows_1.useQueryGraphStep)({
16
+ entity: "payment",
17
+ fields: [
18
+ "id",
19
+ "provider_id",
20
+ "currency_code",
21
+ "payment_collection_id",
22
+ "refunds.id",
23
+ "refunds.amount",
24
+ "refunds.note",
25
+ "refunds.metadata",
26
+ "refunds.created_at",
27
+ ],
28
+ filters: { id: input.payment_id },
29
+ }).config({ name: "payment" });
30
+ const collectionId = (0, workflows_sdk_1.transform)({ payments }, ({ payments }) => payments.data[0]?.payment_collection_id ?? "__none__");
31
+ const links = (0, core_flows_1.useQueryGraphStep)({
32
+ entity: "order_payment_collection",
33
+ fields: ["order_id"],
34
+ filters: { payment_collection_id: collectionId },
35
+ }).config({ name: "order-payment-collection" });
36
+ const events = (0, steps_1.buildRefundRequestedEventStep)((0, workflows_sdk_1.transform)({ payments, links }, ({ payments, links }) => ({
37
+ payment: payments.data[0] ?? null,
38
+ order_id: links.data[0]?.order_id ?? null,
39
+ })));
40
+ (0, workflows_sdk_1.when)({ events }, ({ events }) => events.length > 0).then(() => {
41
+ (0, core_flows_1.emitEventStep)({ eventName: types_1.MagentoWebhookEvents.REFUND_REQUESTED, data: events });
42
+ });
43
+ return new workflows_sdk_1.WorkflowResponse(events);
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC1yZWZ1bmQtcmVxdWVzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9leHRlcm5hbC1wYXltZW50L3dvcmtmbG93cy9lbWl0LXJlZnVuZC1yZXF1ZXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBTTBDO0FBQzFDLDREQUE4RTtBQUU5RSwwQ0FBcUQ7QUFDckQsb0NBQXdEO0FBTTNDLFFBQUEsNkJBQTZCLEdBQUcsdUJBQXVCLENBQUE7QUFDcEU7Ozs7R0FJRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSw4QkFBYyxFQUN2RCxxQ0FBNkIsRUFDN0IsQ0FBQyxLQUFxRCxFQUFFLEVBQUU7SUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNqQyxNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osYUFBYTtZQUNiLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLG9CQUFvQjtTQUNyQjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFO0tBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUU5QixNQUFNLFlBQVksR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixJQUFJLFVBQVUsQ0FDdEQsQ0FBQTtJQUVELE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDOUIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDcEIsT0FBTyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFO0tBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO0lBRS9DLE1BQU0sTUFBTSxHQUFHLElBQUEscUNBQTZCLEVBQzFDLElBQUEseUJBQVMsRUFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7UUFDakMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUFJLElBQUk7S0FDMUMsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVELElBQUEsb0JBQUksRUFBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQzVELElBQUEsMEJBQWEsRUFBQyxFQUFFLFNBQVMsRUFBRSw0QkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUNuRixDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,4 @@
1
+ export * from "./cancel-external-payment";
2
+ export * from "./capture-external-payment";
3
+ export * from "./emit-refund-requested";
4
+ export * from "./record-external-refund";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cancel-external-payment"), exports);
18
+ __exportStar(require("./capture-external-payment"), exports);
19
+ __exportStar(require("./emit-refund-requested"), exports);
20
+ __exportStar(require("./record-external-refund"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2V4dGVybmFsLXBheW1lbnQvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBeUM7QUFDekMsNkRBQTBDO0FBQzFDLDBEQUF1QztBQUN2QywyREFBd0MifQ==
@@ -0,0 +1,14 @@
1
+ export type RecordExternalRefundWorkflowInput = {
2
+ order_id: string;
3
+ amount: number;
4
+ reference?: string;
5
+ note?: string;
6
+ created_by?: string;
7
+ };
8
+ export declare const recordExternalRefundWorkflowId = "record-external-refund";
9
+ /**
10
+ * Mirrors a refund that already happened in the external storefront onto the
11
+ * order's external-provider payment, so totals, commission lines and the
12
+ * payout balance follow.
13
+ */
14
+ export declare const recordExternalRefundWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RecordExternalRefundWorkflowInput, any, []>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordExternalRefundWorkflow = exports.recordExternalRefundWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const types_1 = require("../../../types");
7
+ const steps_1 = require("../steps");
8
+ exports.recordExternalRefundWorkflowId = "record-external-refund";
9
+ /**
10
+ * Mirrors a refund that already happened in the external storefront onto the
11
+ * order's external-provider payment, so totals, commission lines and the
12
+ * payout balance follow.
13
+ */
14
+ exports.recordExternalRefundWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.recordExternalRefundWorkflowId, (input) => {
15
+ const orders = (0, core_flows_1.useQueryGraphStep)({
16
+ entity: "order",
17
+ fields: [
18
+ "id",
19
+ "payment_collections.payments.id",
20
+ "payment_collections.payments.provider_id",
21
+ "payment_collections.payments.captured_at",
22
+ "cart.payment_collection.payments.id",
23
+ "cart.payment_collection.payments.provider_id",
24
+ "cart.payment_collection.payments.captured_at",
25
+ ],
26
+ filters: { id: input.order_id },
27
+ options: { throwIfKeyNotFound: true },
28
+ });
29
+ const validationInput = (0, workflows_sdk_1.transform)({ input, orders }, ({ input, orders }) => ({
30
+ order_id: input.order_id,
31
+ payments: (orders.data[0]?.payment_collections ?? []).flatMap((pc) => pc?.payments ?? []),
32
+ cart_payments: orders.data[0]?.cart?.payment_collection?.payments ?? [],
33
+ }));
34
+ const paymentId = (0, steps_1.validateExternalPaymentStep)(validationInput);
35
+ const refundInput = (0, workflows_sdk_1.transform)({ input, paymentId }, ({ input, paymentId }) => ({
36
+ payment_id: paymentId,
37
+ amount: input.amount,
38
+ note: input.reference
39
+ ? `${input.note ?? "External refund"} (${input.reference})`
40
+ : input.note,
41
+ created_by: input.created_by,
42
+ // Lets the refund-requested subscriber tell this refund apart from one
43
+ // a seller or operator starts in Mercur, which Magento must execute.
44
+ metadata: { source: types_1.EXTERNAL_REFUND_SOURCE, reference: input.reference ?? null },
45
+ }));
46
+ const payment = core_flows_1.refundPaymentWorkflow.runAsStep({ input: refundInput });
47
+ (0, core_flows_1.emitEventStep)({
48
+ eventName: types_1.MagentoWebhookEvents.REFUND_RECORDED,
49
+ data: (0, workflows_sdk_1.transform)({ input, paymentId }, ({ input, paymentId }) => ({
50
+ id: input.order_id,
51
+ payment_id: paymentId,
52
+ amount: input.amount,
53
+ reference: input.reference ?? null,
54
+ })),
55
+ });
56
+ return new workflows_sdk_1.WorkflowResponse(payment);
57
+ });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWV4dGVybmFsLXJlZnVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXh0ZXJuYWwtcGF5bWVudC93b3JrZmxvd3MvcmVjb3JkLWV4dGVybmFsLXJlZnVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBSW9DO0FBRXBDLDBDQUE2RTtBQUM3RSxvQ0FBc0Q7QUFVekMsUUFBQSw4QkFBOEIsR0FBRyx3QkFBd0IsQ0FBQTtBQUN0RTs7OztHQUlHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3hELHNDQUE4QixFQUM5QixDQUFDLEtBQXNELEVBQUUsRUFBRTtJQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQy9CLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLGlDQUFpQztZQUNqQywwQ0FBMEM7WUFDMUMsMENBQTBDO1lBQzFDLHFDQUFxQztZQUNyQyw4Q0FBOEM7WUFDOUMsOENBQThDO1NBQy9DO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDL0IsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQTtJQUVGLE1BQU0sZUFBZSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FDM0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLElBQUksRUFBRSxDQUMzQjtRQUNELGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLElBQUksRUFBRTtLQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUVILE1BQU0sU0FBUyxHQUFHLElBQUEsbUNBQTJCLEVBQUMsZUFBZSxDQUFDLENBQUE7SUFFOUQsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0UsVUFBVSxFQUFFLFNBQVM7UUFDckIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUztZQUNuQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLGlCQUFpQixLQUFLLEtBQUssQ0FBQyxTQUFTLEdBQUc7WUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJO1FBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzVCLHVFQUF1RTtRQUN2RSxxRUFBcUU7UUFDckUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLDhCQUFzQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtLQUNqRixDQUFDLENBQUMsQ0FBQTtJQUVILE1BQU0sT0FBTyxHQUFHLGtDQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBRXZFLElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSw0QkFBb0IsQ0FBQyxlQUFlO1FBQy9DLElBQUksRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDbEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUk7U0FDbkMsQ0FBQyxDQUFDO0tBQ0osQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./magento-webhook";
2
+ export * from "./external-payment";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./magento-webhook"), exports);
18
+ __exportStar(require("./external-payment"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMscURBQWtDIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./steps";
2
+ export * from "./workflows";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./steps"), exports);
18
+ __exportStar(require("./workflows"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21hZ2VudG8td2ViaG9vay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLDhDQUEyQiJ9
@@ -0,0 +1,6 @@
1
+ export type CreateMagentoWebhookDeliveriesStepInput = {
2
+ event: string;
3
+ payload: Record<string, unknown>;
4
+ };
5
+ export declare const createMagentoWebhookDeliveriesStepId = "create-magento-webhook-deliveries";
6
+ export declare const createMagentoWebhookDeliveriesStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateMagentoWebhookDeliveriesStepInput, import("../../../types").MagentoWebhookDeliveryDTO[]>;