@hartl-services/medusa-affiliate 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/.medusa/server/src/admin/index.js +3739 -0
  2. package/.medusa/server/src/admin/index.mjs +3738 -0
  3. package/.medusa/server/src/api/admin/affiliate-applications/[id]/approve/route.js +28 -0
  4. package/.medusa/server/src/api/admin/affiliate-applications/[id]/reject/route.js +19 -0
  5. package/.medusa/server/src/api/admin/affiliate-applications/route.js +23 -0
  6. package/.medusa/server/src/api/admin/affiliate-distribution-reports/query.js +171 -0
  7. package/.medusa/server/src/api/admin/affiliate-distribution-reports/route.js +13 -0
  8. package/.medusa/server/src/api/admin/affiliate-program-settings/route.js +27 -0
  9. package/.medusa/server/src/api/admin/affiliate-reports/[id]/route.js +45 -0
  10. package/.medusa/server/src/api/admin/affiliate-reports/route.js +27 -0
  11. package/.medusa/server/src/api/admin/affiliates/[id]/consignment-reminders/route.js +31 -0
  12. package/.medusa/server/src/api/admin/affiliates/[id]/consignment-transfers/route.js +41 -0
  13. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/reconcile/route.js +34 -0
  14. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/revoke/route.js +36 -0
  15. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/rotate/route.js +40 -0
  16. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/route.js +56 -0
  17. package/.medusa/server/src/api/admin/affiliates/[id]/distribution/route.js +45 -0
  18. package/.medusa/server/src/api/admin/affiliates/[id]/inactive/route.js +20 -0
  19. package/.medusa/server/src/api/admin/affiliates/[id]/route.js +50 -0
  20. package/.medusa/server/src/api/admin/affiliates/[id]/slugs/[slug_id]/route.js +19 -0
  21. package/.medusa/server/src/api/admin/affiliates/[id]/slugs/route.js +26 -0
  22. package/.medusa/server/src/api/admin/affiliates/route.js +43 -0
  23. package/.medusa/server/src/api/admin/consignment-report-response.js +36 -0
  24. package/.medusa/server/src/api/admin/consignment-reports/[id]/approve/route.js +25 -0
  25. package/.medusa/server/src/api/admin/consignment-reports/[id]/correct/route.js +18 -0
  26. package/.medusa/server/src/api/admin/consignment-reports/[id]/reject/route.js +15 -0
  27. package/.medusa/server/src/api/admin/consignment-reports/[id]/route.js +11 -0
  28. package/.medusa/server/src/api/admin/consignment-reports/route.js +27 -0
  29. package/.medusa/server/src/api/admin/customers/[id]/affiliate/route.js +50 -0
  30. package/.medusa/server/src/api/admin/orders/[id]/affiliate-attribution/route.js +30 -0
  31. package/.medusa/server/src/api/affiliate-coupon-http.js +152 -0
  32. package/.medusa/server/src/api/affiliate-referral-cookie.js +34 -0
  33. package/.medusa/server/src/api/affiliate-self-service-http.js +37 -0
  34. package/.medusa/server/src/api/middlewares.js +786 -0
  35. package/.medusa/server/src/api/store/affiliate-referrals/apply-coupon/route.js +47 -0
  36. package/.medusa/server/src/api/store/affiliate-referrals/capture/route.js +76 -0
  37. package/.medusa/server/src/api/store/affiliate-referrals/carts/[cart_id]/route.js +20 -0
  38. package/.medusa/server/src/api/store/affiliates/consignment-inventory/route.js +53 -0
  39. package/.medusa/server/src/api/store/affiliates/consignment-report-response.js +31 -0
  40. package/.medusa/server/src/api/store/affiliates/consignment-reports/[id]/submit/route.js +40 -0
  41. package/.medusa/server/src/api/store/affiliates/consignment-reports/route.js +43 -0
  42. package/.medusa/server/src/api/store/affiliates/coupon-labels/route.js +14 -0
  43. package/.medusa/server/src/api/store/affiliates/me/commissions/route.js +35 -0
  44. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/revoke/route.js +36 -0
  45. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/rotate/route.js +40 -0
  46. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/route.js +55 -0
  47. package/.medusa/server/src/api/store/affiliates/me/dashboard/route.js +15 -0
  48. package/.medusa/server/src/api/store/affiliates/me/route.js +85 -0
  49. package/.medusa/server/src/api/store/affiliates/me/slugs/[slug_id]/route.js +29 -0
  50. package/.medusa/server/src/api/store/affiliates/me/slugs/route.js +34 -0
  51. package/.medusa/server/src/api/store/affiliates/own-order-discount/route.js +22 -0
  52. package/.medusa/server/src/api/store/affiliates/own-order-promotion/route.js +30 -0
  53. package/.medusa/server/src/api/store/affiliates/register/route.js +27 -0
  54. package/.medusa/server/src/api/store/affiliates/resolve-referral/route.js +34 -0
  55. package/.medusa/server/src/api/validators.js +52 -0
  56. package/.medusa/server/src/api/wire-response.js +10 -0
  57. package/.medusa/server/src/integration/email-events.js +51 -0
  58. package/.medusa/server/src/integrations/inventory-transfer/batch-management-transfer-adapter.js +36 -0
  59. package/.medusa/server/src/integrations/inventory-transfer/native-inventory-transfer-adapter.js +30 -0
  60. package/.medusa/server/src/integrations/inventory-transfer/resolve-inventory-transfer-adapter.js +46 -0
  61. package/.medusa/server/src/integrations/inventory-transfer/types.js +3 -0
  62. package/.medusa/server/src/jobs/affiliate-attribution-expiry.js +20 -0
  63. package/.medusa/server/src/jobs/affiliate-consignment-report-reminders.js +15 -0
  64. package/.medusa/server/src/jobs/affiliate-promotion-freshness.js +24 -0
  65. package/.medusa/server/src/lib/query-string.js +15 -0
  66. package/.medusa/server/src/modules/affiliate/domain/affiliate-attribution-policy.js +81 -0
  67. package/.medusa/server/src/modules/affiliate/domain/affiliate-coupon-policy.js +61 -0
  68. package/.medusa/server/src/modules/affiliate/domain/commission-policy.js +33 -0
  69. package/.medusa/server/src/modules/affiliate/domain/consignment-reminder-rules.js +74 -0
  70. package/.medusa/server/src/modules/affiliate/domain/email-normalization.js +20 -0
  71. package/.medusa/server/src/modules/affiliate/domain/own-order-coupon-code.js +37 -0
  72. package/.medusa/server/src/modules/affiliate/domain/plugin-options.js +40 -0
  73. package/.medusa/server/src/modules/affiliate/index.js +13 -0
  74. package/.medusa/server/src/modules/affiliate/migrations/Migration20260827085154.js +423 -0
  75. package/.medusa/server/src/modules/affiliate/models/affiliate-application.js +38 -0
  76. package/.medusa/server/src/modules/affiliate/models/affiliate-cart-referral.js +65 -0
  77. package/.medusa/server/src/modules/affiliate/models/affiliate-code-redemption.js +41 -0
  78. package/.medusa/server/src/modules/affiliate/models/affiliate-coupon.js +55 -0
  79. package/.medusa/server/src/modules/affiliate/models/affiliate-distribution-settings.js +22 -0
  80. package/.medusa/server/src/modules/affiliate/models/affiliate-order-attribution.js +49 -0
  81. package/.medusa/server/src/modules/affiliate/models/affiliate-program-settings.js +28 -0
  82. package/.medusa/server/src/modules/affiliate/models/affiliate-referral-session.js +34 -0
  83. package/.medusa/server/src/modules/affiliate/models/affiliate-slug.js +27 -0
  84. package/.medusa/server/src/modules/affiliate/models/affiliate.js +49 -0
  85. package/.medusa/server/src/modules/affiliate/models/commission-entry.js +62 -0
  86. package/.medusa/server/src/modules/affiliate/models/consignment-report-line.js +21 -0
  87. package/.medusa/server/src/modules/affiliate/models/consignment-report.js +31 -0
  88. package/.medusa/server/src/modules/affiliate/models/consignment-transfer-line.js +16 -0
  89. package/.medusa/server/src/modules/affiliate/models/consignment-transfer.js +20 -0
  90. package/.medusa/server/src/modules/affiliate/models/customer-affiliate-assignment.js +58 -0
  91. package/.medusa/server/src/modules/affiliate/service.js +2321 -0
  92. package/.medusa/server/src/modules/affiliate/services/affiliate-application-manager.js +171 -0
  93. package/.medusa/server/src/modules/affiliate/services/affiliate-coupon-manager.js +441 -0
  94. package/.medusa/server/src/modules/affiliate/services/affiliate-discount.service.js +55 -0
  95. package/.medusa/server/src/modules/affiliate/services/affiliate-manager.js +242 -0
  96. package/.medusa/server/src/modules/affiliate/services/affiliate-partner-portal.service.js +138 -0
  97. package/.medusa/server/src/modules/affiliate/services/affiliate-report.service.js +436 -0
  98. package/.medusa/server/src/modules/affiliate/services/affiliate-slug-manager.js +163 -0
  99. package/.medusa/server/src/modules/affiliate/services/commission-ledger.service.js +729 -0
  100. package/.medusa/server/src/modules/affiliate/services/customer-affiliate-assignment-manager.js +350 -0
  101. package/.medusa/server/src/modules/affiliate/services/order-attribution-manager.js +1051 -0
  102. package/.medusa/server/src/modules/affiliate/services/referral-lifecycle-manager.js +1420 -0
  103. package/.medusa/server/src/modules/affiliate/services/utils.js +49 -0
  104. package/.medusa/server/src/modules/affiliate/types/internal.js +3 -0
  105. package/.medusa/server/src/paths/affiliate.js +7 -0
  106. package/.medusa/server/src/paths/index.js +18 -0
  107. package/.medusa/server/src/schemas/index.js +18 -0
  108. package/.medusa/server/src/schemas/store.js +24 -0
  109. package/.medusa/server/src/subscribers/affiliate-cart-updated.js +92 -0
  110. package/.medusa/server/src/subscribers/affiliate-order-canceled.js +70 -0
  111. package/.medusa/server/src/subscribers/affiliate-order-placed.js +63 -0
  112. package/.medusa/server/src/subscribers/affiliate-order-return-received.js +67 -0
  113. package/.medusa/server/src/subscribers/affiliate-product-eligibility-updated.js +87 -0
  114. package/.medusa/server/src/types/admin-api.js +3 -0
  115. package/.medusa/server/src/types/enums.js +53 -0
  116. package/.medusa/server/src/types/index.js +32 -0
  117. package/.medusa/server/src/types/public.js +3 -0
  118. package/.medusa/server/src/types/store-api.js +3 -0
  119. package/.medusa/server/src/utils/affiliate-cart-operation-lock.js +316 -0
  120. package/.medusa/server/src/utils/affiliate-promotion-mutation-authorization.js +49 -0
  121. package/.medusa/server/src/utils/cart-promotions.js +9 -0
  122. package/.medusa/server/src/utils/money.js +79 -0
  123. package/.medusa/server/src/utils/promotion-code-availability.js +34 -0
  124. package/.medusa/server/src/utils/registered-email-checkout.js +101 -0
  125. package/.medusa/server/src/utils/resolve-services.js +7 -0
  126. package/.medusa/server/src/utils/settle-cart-promotions.js +44 -0
  127. package/.medusa/server/src/workflows/affiliate/affiliate-coupon-cart.js +215 -0
  128. package/.medusa/server/src/workflows/affiliate/affiliate-coupon-command-authorization.js +20 -0
  129. package/.medusa/server/src/workflows/affiliate/apply-affiliate-coupon.js +174 -0
  130. package/.medusa/server/src/workflows/affiliate/apply-own-order-promotion.js +89 -0
  131. package/.medusa/server/src/workflows/affiliate/approve-consignment-report.js +186 -0
  132. package/.medusa/server/src/workflows/affiliate/correct-approved-consignment-report.js +263 -0
  133. package/.medusa/server/src/workflows/affiliate/create-affiliate-coupon.js +35 -0
  134. package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-cancellation.js +21 -0
  135. package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-refund.js +24 -0
  136. package/.medusa/server/src/workflows/affiliate/create-commission-for-order.js +17 -0
  137. package/.medusa/server/src/workflows/affiliate/deactivate-affiliate.js +89 -0
  138. package/.medusa/server/src/workflows/affiliate/enable-distribution.js +120 -0
  139. package/.medusa/server/src/workflows/affiliate/enrich-affiliate-report.js +75 -0
  140. package/.medusa/server/src/workflows/affiliate/ensure-affiliate-coupon-promotion.js +410 -0
  141. package/.medusa/server/src/workflows/affiliate/ensure-affiliate-own-order-promotion.js +240 -0
  142. package/.medusa/server/src/workflows/affiliate/ensure-default-affiliate-coupon.js +32 -0
  143. package/.medusa/server/src/workflows/affiliate/expire-affiliate-attribution-state.js +131 -0
  144. package/.medusa/server/src/workflows/affiliate/finalize-affiliate-order-attribution.js +82 -0
  145. package/.medusa/server/src/workflows/affiliate/payment-authorization.js +33 -0
  146. package/.medusa/server/src/workflows/affiliate/promotion-eligibility.js +179 -0
  147. package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-cart-referral.js +219 -0
  148. package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-coupon.js +388 -0
  149. package/.medusa/server/src/workflows/affiliate/refresh-affiliate-promotions.js +114 -0
  150. package/.medusa/server/src/workflows/affiliate/resolve-coupon-labels.js +40 -0
  151. package/.medusa/server/src/workflows/affiliate/revoke-affiliate-coupon.js +29 -0
  152. package/.medusa/server/src/workflows/affiliate/rotate-affiliate-coupon.js +36 -0
  153. package/.medusa/server/src/workflows/affiliate/run-consignment-report-reminders.js +58 -0
  154. package/.medusa/server/src/workflows/affiliate/submit-consignment-report.js +279 -0
  155. package/.medusa/server/src/workflows/affiliate/transfer-batch-aware-inventory.js +172 -0
  156. package/.medusa/server/src/workflows/affiliate/transfer-consignment-stock.js +106 -0
  157. package/.medusa/server/src/workflows/affiliate/update-affiliate-coupon-discounts.js +129 -0
  158. package/.medusa/server/src/workflows/affiliate/utils.js +118 -0
  159. package/.medusa/server/src/workflows/hooks/complete-cart-affiliate-attribution.js +57 -0
  160. package/.medusa/server/src/workflows/hooks/complete-cart-order-created-composition.js +111 -0
  161. package/.medusa/server/src/workflows/hooks/complete-cart-own-order-discount.js +75 -0
  162. package/.medusa/server/src/workflows/hooks/enforce-unique-promotion-codes.js +33 -0
  163. package/.medusa/server/src/workflows/hooks/validate-affiliate-customer-code.js +239 -0
  164. package/.medusa/server/src/workflows/hooks/validate-complete-cart-affiliate-referral.js +137 -0
  165. package/LICENSE +21 -0
  166. package/README.md +799 -0
  167. package/dist/integration/email-events.d.ts +20 -0
  168. package/dist/integration/email-events.js +50 -0
  169. package/package.json +84 -0
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.approveConsignmentReportWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const resolve_services_1 = require("../../utils/resolve-services");
8
+ const toNumber = (value) => {
9
+ if (typeof value === "number") {
10
+ return value;
11
+ }
12
+ if (typeof value === "string") {
13
+ return Number(value);
14
+ }
15
+ if (typeof value === "object" &&
16
+ value !== null &&
17
+ "numeric" in value &&
18
+ typeof value.numeric === "number") {
19
+ return value.numeric;
20
+ }
21
+ return Number(value.valueOf());
22
+ };
23
+ const assertPartnerReservations = (reservations, report, stockLocationId) => {
24
+ const confirmedLines = report.lines.filter((line) => line.confirmed_sale_quantity > 0);
25
+ return confirmedLines.map((line) => {
26
+ if (!line.order_line_item_id) {
27
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Der Meldeposition ${line.id} fehlt die native Order-Line-Referenz.`);
28
+ }
29
+ const lineReservations = reservations.filter((reservation) => reservation.line_item_id === line.order_line_item_id);
30
+ if (lineReservations.length !== 1 ||
31
+ lineReservations[0].location_id !== stockLocationId ||
32
+ lineReservations[0].inventory_item_id !== line.inventory_item_id ||
33
+ toNumber(lineReservations[0].quantity) !==
34
+ line.confirmed_sale_quantity) {
35
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Die Reservierung für Meldeposition ${line.id} liegt nicht exakt am Partnerlager.`);
36
+ }
37
+ const reservation = lineReservations[0];
38
+ return {
39
+ id: reservation.id,
40
+ inventory_item_id: reservation.inventory_item_id,
41
+ location_id: reservation.location_id,
42
+ line_item_id: reservation.line_item_id ?? null,
43
+ quantity: toNumber(reservation.quantity),
44
+ };
45
+ });
46
+ };
47
+ const toFulfillmentSnapshot = (fulfillment) => ({
48
+ id: fulfillment.id,
49
+ location_id: fulfillment.location_id,
50
+ items: (fulfillment.items ?? []).map((item) => ({
51
+ line_item_id: item.line_item_id,
52
+ quantity: toNumber(item.quantity),
53
+ })),
54
+ });
55
+ const toJsonObject = (value) => value ? value : null;
56
+ const executeApprovalStep = (0, workflows_sdk_1.createStep)("affiliate-execute-consignment-report-approval", async (input, { container }) => {
57
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
58
+ const prepared = await affiliateService.prepareConsignmentApproval(input);
59
+ if (prepared.already_approved && prepared.existing_result) {
60
+ return new workflows_sdk_1.StepResponse(prepared.existing_result);
61
+ }
62
+ const { report, settings } = prepared;
63
+ if (!report.draft_order_id) {
64
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Die eingereichte Monatsmeldung besitzt keine Draft Order.");
65
+ }
66
+ const confirmedLines = report.lines.filter((line) => line.confirmed_sale_quantity > 0);
67
+ if (!confirmedLines.length) {
68
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Eine Freigabe benötigt mindestens eine bestätigte Verkaufsposition.");
69
+ }
70
+ if (confirmedLines.some((line) => !line.order_line_item_id)) {
71
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Mindestens einer Meldeposition fehlt die native Draft-Order-Line.");
72
+ }
73
+ const orderService = container.resolve(utils_1.Modules.ORDER);
74
+ let order = await orderService.retrieveOrder(report.draft_order_id, {
75
+ relations: ["items"],
76
+ });
77
+ if (order.is_draft_order) {
78
+ await (0, core_flows_1.beginDraftOrderEditWorkflow)(container).run({
79
+ input: {
80
+ order_id: report.draft_order_id,
81
+ created_by: input.admin_id,
82
+ description: `Kommissionsmeldung ${report.id}`,
83
+ metadata: {
84
+ consignment_report_id: report.id,
85
+ approval_idempotency_key: `consignment-approval:${report.id}`,
86
+ },
87
+ },
88
+ });
89
+ await (0, core_flows_1.updateDraftOrderItemWorkflow)(container).run({
90
+ input: {
91
+ order_id: report.draft_order_id,
92
+ items: report.lines
93
+ .filter((line) => line.order_line_item_id)
94
+ .map((line) => ({
95
+ id: line.order_line_item_id,
96
+ quantity: line.confirmed_sale_quantity,
97
+ })),
98
+ },
99
+ });
100
+ await (0, core_flows_1.confirmDraftOrderEditWorkflow)(container).run({
101
+ input: {
102
+ order_id: report.draft_order_id,
103
+ confirmed_by: input.admin_id,
104
+ },
105
+ });
106
+ order = await orderService.retrieveOrder(report.draft_order_id, {
107
+ relations: ["items"],
108
+ });
109
+ if (order.sales_channel_id !== settings.internal_sales_channel_id) {
110
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Die Kommissions-Draft-Order gehört nicht zum internen Partner-Sales-Channel.");
111
+ }
112
+ const converted = await (0, core_flows_1.convertDraftOrderWorkflow)(container).run({
113
+ input: { id: report.draft_order_id },
114
+ });
115
+ order = converted.result;
116
+ }
117
+ else if (order.metadata?.consignment !== true ||
118
+ order.metadata?.consignment_report_id !== report.id) {
119
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.CONFLICT, "Die verknüpfte Order ist keine Abrechnung dieser Kommissionsmeldung.");
120
+ }
121
+ const inventory = container.resolve(utils_1.Modules.INVENTORY);
122
+ const reservations = await inventory.listReservationItems({
123
+ line_item_id: confirmedLines.map((line) => line.order_line_item_id),
124
+ });
125
+ const reservationSnapshots = assertPartnerReservations(reservations, report, settings.stock_location_id);
126
+ const orderWithFulfillments = (await orderService.retrieveOrder(order.id, {
127
+ relations: ["fulfillments", "fulfillments.items"],
128
+ }));
129
+ let fulfillment = orderWithFulfillments.fulfillments?.find((candidate) => candidate.location_id === settings.stock_location_id) ?? null;
130
+ if (!fulfillment) {
131
+ const created = await (0, core_flows_1.createOrderFulfillmentWorkflow)(container).run({
132
+ input: {
133
+ order_id: order.id,
134
+ created_by: input.admin_id,
135
+ location_id: settings.stock_location_id,
136
+ shipping_option_id: settings.shipping_option_id,
137
+ no_notification: true,
138
+ requires_shipping: false,
139
+ items: confirmedLines.map((line) => ({
140
+ id: line.order_line_item_id,
141
+ quantity: line.confirmed_sale_quantity,
142
+ })),
143
+ metadata: {
144
+ consignment: true,
145
+ consignment_report_id: report.id,
146
+ },
147
+ },
148
+ });
149
+ fulfillment = created.result;
150
+ }
151
+ const fulfillmentSnapshot = toFulfillmentSnapshot(fulfillment);
152
+ const completed = await affiliateService.completeConsignmentApproval({
153
+ report_id: report.id,
154
+ admin_id: input.admin_id,
155
+ order_id: order.id,
156
+ fulfillment_id: fulfillment.id,
157
+ reservations: reservationSnapshots,
158
+ });
159
+ if (completed.newly_approved) {
160
+ const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
161
+ await eventBus.emit({
162
+ name: "affiliate.consignment_report_approved",
163
+ data: { id: report.id, order_id: order.id },
164
+ });
165
+ }
166
+ return new workflows_sdk_1.StepResponse({
167
+ report: completed.report,
168
+ order_id: order.id,
169
+ fulfillment_id: fulfillment.id,
170
+ order: {
171
+ id: order.id,
172
+ is_draft_order: Boolean(order.is_draft_order),
173
+ metadata: toJsonObject(order.metadata),
174
+ },
175
+ reservations: reservationSnapshots,
176
+ fulfillment: fulfillmentSnapshot,
177
+ });
178
+ });
179
+ exports.approveConsignmentReportWorkflow = (0, workflows_sdk_1.createWorkflow)("affiliate-approve-consignment-report", (input) => {
180
+ const lockKey = (0, workflows_sdk_1.transform)(input, (data) => `affiliate-consignment-approval:${data.report_id}`);
181
+ (0, core_flows_1.acquireLockStep)({ key: lockKey, timeout: 10, ttl: 180 });
182
+ const result = executeApprovalStep(input);
183
+ (0, core_flows_1.releaseLockStep)({ key: lockKey });
184
+ return new workflows_sdk_1.WorkflowResponse(result);
185
+ });
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92ZS1jb25zaWdubWVudC1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9hcHByb3ZlLWNvbnNpZ25tZW50LXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxRUFNMEM7QUFDMUMscURBQWdFO0FBQ2hFLDREQVFvQztBQVdwQyxtRUFBc0U7QUFrQ3RFLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBVSxFQUFFO0lBQ2pELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFDRSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLEtBQUssS0FBSyxJQUFJO1FBQ2QsU0FBUyxJQUFJLEtBQUs7UUFDbEIsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFDakMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUN0QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRUQsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxZQUFrQyxFQUNsQyxNQUE0QixFQUM1QixlQUF1QixFQUNXLEVBQUU7SUFDcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3hDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUMzQyxDQUFBO0lBRUQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDakMsSUFBSSxD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
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.correctApprovedConsignmentReportWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const resolve_services_1 = require("../../utils/resolve-services");
8
+ const utils_2 = require("./utils");
9
+ const toNumber = (value) => {
10
+ if (value === undefined || value === null) {
11
+ return 0;
12
+ }
13
+ if (typeof value === "number") {
14
+ return value;
15
+ }
16
+ if (typeof value === "string") {
17
+ return Number(value);
18
+ }
19
+ if (typeof value === "object" &&
20
+ "numeric" in value &&
21
+ typeof value.numeric === "number") {
22
+ return value.numeric;
23
+ }
24
+ return Number(value.valueOf());
25
+ };
26
+ const executeCorrectionStep = (0, workflows_sdk_1.createStep)("affiliate-execute-approved-consignment-correction", async (input, { container }) => {
27
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
28
+ const prepared = await affiliateService.prepareConsignmentCorrection(input);
29
+ if (prepared.already_completed && prepared.existing_result) {
30
+ return new workflows_sdk_1.StepResponse(prepared.existing_result);
31
+ }
32
+ const totalDelta = prepared.lines.reduce((sum, line) => sum + line.quantity_delta, 0);
33
+ if (totalDelta === 0) {
34
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Die Korrektur verändert keine bestätigte Verkaufsmenge.");
35
+ }
36
+ if (prepared.lines.some((line) => line.quantity_delta > 0) &&
37
+ prepared.lines.some((line) => line.quantity_delta < 0)) {
38
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Erhöhungen und Reduktionen müssen als getrennte Korrekturbelege erfasst werden.");
39
+ }
40
+ const orderService = container.resolve(utils_1.Modules.ORDER);
41
+ const existingChanges = await orderService.listOrderChanges({ order_id: prepared.order_id }, { relations: ["actions"] });
42
+ const reconciledChange = existingChanges.find((change) => change.metadata?.consignment_correction_id === input.correction_id);
43
+ let orderEditId = prepared.progress.order_edit_id ?? reconciledChange?.id ?? null;
44
+ if (!orderEditId) {
45
+ const edit = await (0, core_flows_1.beginOrderEditOrderWorkflow)(container).run({
46
+ input: {
47
+ order_id: prepared.order_id,
48
+ created_by: input.admin_id,
49
+ description: `Kommissionskorrektur ${input.correction_id}`,
50
+ metadata: {
51
+ consignment: true,
52
+ consignment_report_id: prepared.report.id,
53
+ consignment_correction_id: input.correction_id,
54
+ reason: input.reason,
55
+ },
56
+ },
57
+ });
58
+ orderEditId = edit.result.id;
59
+ }
60
+ await affiliateService.recordConsignmentCorrectionProgress({
61
+ report_id: prepared.report.id,
62
+ correction_id: input.correction_id,
63
+ order_edit_id: orderEditId,
64
+ });
65
+ const changeStatus = reconciledChange?.status;
66
+ const quantityActions = reconciledChange?.actions ?? [];
67
+ const quantitiesAlreadyApplied = prepared.lines.every((line) => quantityActions.some((action) => {
68
+ const details = action.details;
69
+ return (details?.reference_id === line.order_line_item_id &&
70
+ toNumber(details.quantity) ===
71
+ line.corrected_confirmed_sale_quantity);
72
+ }));
73
+ if (!prepared.progress.edit_updated &&
74
+ !quantitiesAlreadyApplied &&
75
+ changeStatus !== "requested" &&
76
+ changeStatus !== "confirmed") {
77
+ await (0, core_flows_1.orderEditUpdateItemQuantityWorkflow)(container).run({
78
+ input: {
79
+ order_id: prepared.order_id,
80
+ items: prepared.lines.map((line) => ({
81
+ id: line.order_line_item_id,
82
+ quantity: line.corrected_confirmed_sale_quantity,
83
+ })),
84
+ },
85
+ });
86
+ }
87
+ await affiliateService.recordConsignmentCorrectionProgress({
88
+ report_id: prepared.report.id,
89
+ correction_id: input.correction_id,
90
+ edit_updated: true,
91
+ });
92
+ if (!prepared.progress.edit_requested &&
93
+ changeStatus !== "requested" &&
94
+ changeStatus !== "confirmed") {
95
+ await (0, core_flows_1.requestOrderEditRequestWorkflow)(container).run({
96
+ input: {
97
+ order_id: prepared.order_id,
98
+ requested_by: input.admin_id,
99
+ },
100
+ });
101
+ }
102
+ await affiliateService.recordConsignmentCorrectionProgress({
103
+ report_id: prepared.report.id,
104
+ correction_id: input.correction_id,
105
+ edit_requested: true,
106
+ });
107
+ if (!prepared.progress.edit_confirmed && changeStatus !== "confirmed") {
108
+ await (0, core_flows_1.confirmOrderEditRequestWorkflow)(container).run({
109
+ input: {
110
+ order_id: prepared.order_id,
111
+ confirmed_by: input.admin_id,
112
+ },
113
+ });
114
+ }
115
+ await affiliateService.recordConsignmentCorrectionProgress({
116
+ report_id: prepared.report.id,
117
+ correction_id: input.correction_id,
118
+ edit_confirmed: true,
119
+ });
120
+ let creditLineId = null;
121
+ let fulfillmentId = null;
122
+ if (totalDelta > 0) {
123
+ const positiveLines = prepared.lines.filter((line) => line.quantity_delta > 0);
124
+ const existingReservations = await container.resolve(utils_1.Modules.INVENTORY).listReservationItems({
125
+ line_item_id: positiveLines.map((line) => line.order_line_item_id),
126
+ });
127
+ const correctionReservations = existingReservations.filter((reservation) => reservation.metadata?.consignment_correction_id ===
128
+ input.correction_id);
129
+ const reservationIds = prepared.progress.reservation_ids.length
130
+ ? prepared.progress.reservation_ids
131
+ : correctionReservations.length
132
+ ? correctionReservations.map((reservation) => reservation.id)
133
+ : (await (0, core_flows_1.createReservationsWorkflow)(container).run({
134
+ input: {
135
+ reservations: positiveLines.map((line) => ({
136
+ inventory_item_id: line.inventory_item_id,
137
+ location_id: prepared.settings.stock_location_id,
138
+ line_item_id: line.order_line_item_id,
139
+ quantity: line.quantity_delta,
140
+ created_by: input.admin_id,
141
+ metadata: {
142
+ consignment: true,
143
+ consignment_report_id: prepared.report.id,
144
+ consignment_correction_id: input.correction_id,
145
+ },
146
+ })),
147
+ },
148
+ })).result.map((reservation) => reservation.id);
149
+ await affiliateService.recordConsignmentCorrectionProgress({
150
+ report_id: prepared.report.id,
151
+ correction_id: input.correction_id,
152
+ reservation_ids: reservationIds,
153
+ });
154
+ const orderWithFulfillments = (await orderService.retrieveOrder(prepared.order_id, { relations: ["fulfillments"] }));
155
+ const existingFulfillment = orderWithFulfillments.fulfillments?.find((candidate) => candidate.metadata?.consignment_correction_id ===
156
+ input.correction_id);
157
+ const fulfillment = prepared.progress.fulfillment_id
158
+ ? { result: { id: prepared.progress.fulfillment_id } }
159
+ : existingFulfillment
160
+ ? { result: existingFulfillment }
161
+ : await (0, core_flows_1.createOrderFulfillmentWorkflow)(container).run({
162
+ input: {
163
+ order_id: prepared.order_id,
164
+ created_by: input.admin_id,
165
+ location_id: prepared.settings.stock_location_id,
166
+ shipping_option_id: prepared.settings.shipping_option_id,
167
+ no_notification: true,
168
+ requires_shipping: false,
169
+ items: positiveLines.map((line) => ({
170
+ id: line.order_line_item_id,
171
+ quantity: line.quantity_delta,
172
+ })),
173
+ metadata: {
174
+ consignment: true,
175
+ consignment_report_id: prepared.report.id,
176
+ consignment_correction_id: input.correction_id,
177
+ },
178
+ },
179
+ });
180
+ fulfillmentId = fulfillment.result.id;
181
+ await affiliateService.recordConsignmentCorrectionProgress({
182
+ report_id: prepared.report.id,
183
+ correction_id: input.correction_id,
184
+ batch_withdrawal_completed: true,
185
+ fulfillment_id: fulfillmentId,
186
+ });
187
+ }
188
+ else {
189
+ const correctedOrder = await orderService.retrieveOrder(prepared.order_id, { relations: ["items", "credit_lines"] });
190
+ const existingCredit = correctedOrder.credit_lines?.find((credit) => credit.reference === "consignment_correction" &&
191
+ credit.reference_id === input.correction_id);
192
+ const pendingDifference = toNumber(correctedOrder.summary?.pending_difference);
193
+ if (pendingDifference >= 0) {
194
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Die reduzierte Verkaufsmenge erzeugte keine negative auszugleichende Differenz.");
195
+ }
196
+ const creditLines = prepared.progress.credit_line_id || existingCredit
197
+ ? {
198
+ result: [
199
+ {
200
+ id: prepared.progress.credit_line_id ??
201
+ existingCredit.id,
202
+ },
203
+ ],
204
+ }
205
+ : await (0, core_flows_1.createOrderCreditLinesWorkflow)(container).run({
206
+ input: {
207
+ id: prepared.order_id,
208
+ credit_lines: [
209
+ {
210
+ amount: pendingDifference,
211
+ reference: "consignment_correction",
212
+ reference_id: input.correction_id,
213
+ metadata: {
214
+ consignment_report_id: prepared.report.id,
215
+ reason: input.reason,
216
+ },
217
+ },
218
+ ],
219
+ },
220
+ });
221
+ creditLineId = creditLines.result[0]?.id ?? null;
222
+ if (!creditLineId) {
223
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Für die Kommissionskorrektur wurde keine Gutschrift erzeugt.");
224
+ }
225
+ await affiliateService.recordConsignmentCorrectionProgress({
226
+ report_id: prepared.report.id,
227
+ correction_id: input.correction_id,
228
+ credit_line_id: creditLineId,
229
+ });
230
+ const commissionOrder = await (0, utils_2.retrieveOrderForCommission)(prepared.order_id, container);
231
+ await affiliateService.createCommissionCorrection({
232
+ order: commissionOrder,
233
+ type: "refund_correction",
234
+ refund_id: `consignment-correction:${input.correction_id}`,
235
+ returned_items: prepared.lines
236
+ .filter((line) => line.quantity_delta < 0)
237
+ .map((line) => ({
238
+ item_id: line.order_line_item_id,
239
+ quantity: -line.quantity_delta,
240
+ })),
241
+ occurred_at: new Date(),
242
+ });
243
+ }
244
+ const result = await affiliateService.completeConsignmentCorrection({
245
+ report_id: prepared.report.id,
246
+ correction_id: input.correction_id,
247
+ admin_id: input.admin_id,
248
+ reason: input.reason,
249
+ order_edit_id: orderEditId,
250
+ credit_line_id: creditLineId,
251
+ fulfillment_id: fulfillmentId,
252
+ lines: prepared.lines,
253
+ });
254
+ return new workflows_sdk_1.StepResponse(result);
255
+ });
256
+ exports.correctApprovedConsignmentReportWorkflow = (0, workflows_sdk_1.createWorkflow)("affiliate-correct-approved-consignment-report", (input) => {
257
+ const lockKey = (0, workflows_sdk_1.transform)(input, (data) => `affiliate-consignment-correction:${data.report_id}`);
258
+ (0, core_flows_1.acquireLockStep)({ key: lockKey, timeout: 10, ttl: 180 });
259
+ const result = executeCorrectionStep(input);
260
+ (0, core_flows_1.releaseLockStep)({ key: lockKey });
261
+ return new workflows_sdk_1.WorkflowResponse(result);
262
+ });
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVjdC1hcHByb3ZlZC1jb25zaWdubWVudC1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9jb3JyZWN0LWFwcHJvdmVkLWNvbnNpZ25tZW50LXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxRUFNMEM7QUFDMUMscURBQWdFO0FBQ2hFLDREQVVvQztBQVNwQyxtRUFBc0U7QUFDdEUsbUNBQW9EO0FBb0VwRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXdDLEVBQVUsRUFBRTtJQUNwRSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFDRSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLFNBQVMsSUFBSSxLQUFLO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQ2pDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUE7SUFDdEIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FBQTtBQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBQSwwQkFBVSxFQUN0QyxtREFBbUQsRUFDbkQsS0FBSyxFQUNILEtBQW9DLEVBQ3BDLEVBQUUsU0FBUyxFQUFFLEVBQzBDLEVBQUU7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUM5QyxTQUFTLENB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
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAffiliateCouponWorkflow = exports.createAffiliateCoupon = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const affiliate_coupon_policy_1 = require("../../modules/affiliate/domain/affiliate-coupon-policy");
6
+ const promotion_code_availability_1 = require("../../utils/promotion-code-availability");
7
+ const resolve_services_1 = require("../../utils/resolve-services");
8
+ const affiliate_coupon_command_authorization_1 = require("./affiliate-coupon-command-authorization");
9
+ const ensure_affiliate_coupon_promotion_1 = require("./ensure-affiliate-coupon-promotion");
10
+ const reconcile_affiliate_coupon_1 = require("./reconcile-affiliate-coupon");
11
+ const createAffiliateCoupon = async (container, input) => {
12
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
13
+ // The module can only see its own coupons; a native promotion (e.g. one
14
+ // created in the Admin dashboard) with the same code, in any casing, is
15
+ // checked here so the caller gets a clear refusal instead of a coupon that
16
+ // fails provisioning later.
17
+ if (input.code !== undefined) {
18
+ await (0, promotion_code_availability_1.assertPromotionCodeAvailable)(container, (0, affiliate_coupon_policy_1.normalizeAffiliateCouponCode)(input.code));
19
+ }
20
+ const created = await (0, affiliate_coupon_command_authorization_1.withAuthorizedAffiliateCouponCommand)(container, (0, ensure_affiliate_coupon_promotion_1.affiliateCouponProvisioningLockKeys)(input.affiliate_id), {
21
+ affiliate_id: input.affiliate_id,
22
+ actor_type: input.created_by_type,
23
+ actor_id: input.created_by_id,
24
+ }, async () => await affiliateService.createAffiliateCouponRecord({
25
+ ...input,
26
+ origin: "manual",
27
+ }));
28
+ return (await (0, reconcile_affiliate_coupon_1.reconcileAffiliateCoupon)(container, {
29
+ coupon_id: created.coupon.id,
30
+ })).coupon;
31
+ };
32
+ exports.createAffiliateCoupon = createAffiliateCoupon;
33
+ const createAffiliateCouponStep = (0, workflows_sdk_1.createStep)("create-affiliate-coupon", async (input, { container }) => new workflows_sdk_1.StepResponse(await (0, exports.createAffiliateCoupon)(container, input)));
34
+ exports.createAffiliateCouponWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-coupon", (input) => new workflows_sdk_1.WorkflowResponse(createAffiliateCouponStep(input)));
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFmZmlsaWF0ZS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9jcmVhdGUtYWZmaWxpYXRlLWNvdXBvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFJMUMsb0dBQXFHO0FBQ3JHLHlGQUFzRjtBQUN0RixtRUFBc0U7QUFDdEUscUdBQStGO0FBQy9GLDJGQUF5RjtBQUN6Riw2RUFBdUU7QUFVaEUsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQ3hDLFNBQTBCLEVBQzFCLEtBQXlDLEVBQ1osRUFBRTtJQUMvQixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0Qsd0VBQXdFO0lBQ3hFLHdFQUF3RTtJQUN4RSwyRUFBMkU7SUFDM0UsNEJBQTRCO0lBQzVCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUEsMERBQTRCLEVBQ2hDLFNBQVMsRUFDVCxJQUFBLHNEQUE0QixFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDekMsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsNkVBQW9DLEVBQ3hELFNBQVMsRUFDVCxJQUFBLHVFQUFtQyxFQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFDdkQ7UUFDRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDaEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1FBQ2pDLFFBQVEsRUFBRSxLQUFLLENBQUMsYUFBYTtLQUM5QixFQUNELEtBQUssSUFBSSxFQUFFLENBQ1QsTUFBTSxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQztRQUNqRCxHQUFHLEtBQUs7UUFDUixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQ0wsQ0FBQTtJQUNELE9BQU8sQ0FDTCxNQUFNLElBQUEscURBQXdCLEVBQUMsU0FBUyxFQUFFO1FBQ3hDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7S0FDN0IsQ0FBQyxDQUNILENBQUMsTUFBTSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBbENZLFFBQUEscUJBQXFCLHlCQWtDakM7QUFFRCxNQUFNLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDMUMseUJBQXlCLEVBQ3pCLEtBQUssRUFDSCxLQUF5QyxFQUN6QyxFQUFFLFNBQVMsRUFBRSxFQUM4QixFQUFFLENBQzdDLElBQUksNEJBQVksQ0FBQyxNQUFNLElBQUEsNkJBQXFCLEVBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUE7QUFFWSxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDekQseUJBQXlCLEVBQ3pCLENBQUMsS0FBeUMsRUFBRSxFQUFFLENBQzVDLElBQUksZ0NBQWdCLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDekQsQ0FBQSJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommissionCorrectionForCancellationWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const resolve_services_1 = require("../../utils/resolve-services");
6
+ const utils_1 = require("./utils");
7
+ const createCorrectionForCancellationStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-correction-for-cancellation", async (input, { container }) => {
8
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
9
+ const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
10
+ const entries = await affiliateService.createCommissionCorrection({
11
+ order,
12
+ type: "cancellation_correction",
13
+ occurred_at: order.canceled_at ?? new Date(),
14
+ });
15
+ return new workflows_sdk_1.StepResponse(entries);
16
+ });
17
+ exports.createCommissionCorrectionForCancellationWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-correction-for-cancellation", (input) => {
18
+ const entries = createCorrectionForCancellationStep(input);
19
+ return new workflows_sdk_1.WorkflowResponse(entries);
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItY2FuY2VsbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItY2FuY2VsbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBQW9EO0FBTXBELE1BQU0sbUNBQW1DLEdBQUcsSUFBQSwwQkFBVSxFQUNwRCx5REFBeUQsRUFDekQsS0FBSyxFQUNILEtBQTZELEVBQzdELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO1FBQ2hFLEtBQUs7UUFDTCxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFO0tBQzdDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUF1QixPQUFPLENBQUMsQ0FBQTtBQUN4RCxDQUFDLENBQ0YsQ0FBQTtBQUVZLFFBQUEsaURBQWlELEdBQUcsSUFBQSw4QkFBYyxFQUM3RSx5REFBeUQsRUFDekQsQ0FBQyxLQUE2RCxFQUFFLEVBQUU7SUFDaEUsTUFBTSxPQUFPLEdBQUcsbUNBQW1DLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFMUQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommissionCorrectionForRefundWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const resolve_services_1 = require("../../utils/resolve-services");
6
+ const utils_1 = require("./utils");
7
+ const createCorrectionForRefundStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-correction-for-refund", async (input, { container }) => {
8
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
9
+ const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
10
+ const orderReturn = await (0, utils_1.retrieveReturnForCommission)(input.return_id, container);
11
+ const entries = await affiliateService.createCommissionCorrection({
12
+ order,
13
+ type: "refund_correction",
14
+ refund_id: orderReturn.id,
15
+ returned_items: orderReturn.items ?? [],
16
+ occurred_at: orderReturn.received_at ?? orderReturn.updated_at ?? orderReturn.created_at,
17
+ });
18
+ return new workflows_sdk_1.StepResponse(entries);
19
+ });
20
+ exports.createCommissionCorrectionForRefundWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-correction-for-refund", (input) => {
21
+ const entries = createCorrectionForRefundStep(input);
22
+ return new workflows_sdk_1.WorkflowResponse(entries);
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItcmVmdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItcmVmdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBR2dCO0FBT2hCLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QyxtREFBbUQsRUFDbkQsS0FBSyxFQUNILEtBQXVELEVBQ3ZELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsbUNBQTJCLEVBQ25ELEtBQUssQ0FBQyxTQUFTLEVBQ2YsU0FBUyxDQUNWLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO1FBQ2hFLEtBQUs7UUFDTCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRTtRQUN6QixjQUFjLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLFdBQVcsRUFDVCxXQUFXLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDLFVBQVU7S0FDOUUsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQXVCLE9BQU8sQ0FBQyxDQUFBO0FBQ3hELENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSwyQ0FBMkMsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZFLG1EQUFtRCxFQUNuRCxDQUFDLEtBQXVELEVBQUUsRUFBRTtJQUMxRCxNQUFNLE9BQU8sR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVwRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommissionForOrderWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const resolve_services_1 = require("../../utils/resolve-services");
6
+ const utils_1 = require("./utils");
7
+ const createCommissionForOrderStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-for-order", async (input, { container }) => {
8
+ const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
9
+ const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
10
+ const entries = await affiliateService.createCommissionForOrder({ order });
11
+ return new workflows_sdk_1.StepResponse(entries);
12
+ });
13
+ exports.createCommissionForOrderWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-for-order", (input) => {
14
+ const entries = createCommissionForOrderStep(input);
15
+ return new workflows_sdk_1.WorkflowResponse(entries);
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tZm9yLW9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tZm9yLW9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBQW9EO0FBTXBELE1BQU0sNEJBQTRCLEdBQUcsSUFBQSwwQkFBVSxFQUM3Qyx1Q0FBdUMsRUFDdkMsS0FBSyxFQUFFLEtBQTRDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUUxRSxPQUFPLElBQUksNEJBQVksQ0FBdUIsT0FBTyxDQUFDLENBQUE7QUFDeEQsQ0FBQyxDQUNGLENBQUE7QUFFWSxRQUFBLGdDQUFnQyxHQUFHLElBQUEsOEJBQWMsRUFDNUQsdUNBQXVDLEVBQ3ZDLENBQUMsS0FBNEMsRUFBRSxFQUFFO0lBQy9DLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRW5ELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQ0YsQ0FBQSJ9