@mercurjs/core 2.3.9-canary.7 → 2.4.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 (40) hide show
  1. package/.medusa/server/src/api/store/offers/helpers.d.ts +1 -0
  2. package/.medusa/server/src/api/store/offers/helpers.js +19 -6
  3. package/.medusa/server/src/api/store/offers/query-config.js +2 -1
  4. package/.medusa/server/src/api/store/order-groups/query-config.js +2 -3
  5. package/.medusa/server/src/modules/seller/migrations/Migration20261023000000.js +1 -4
  6. package/.medusa/server/src/modules/telemetry/migrations/Migration20261030000000.d.ts +5 -0
  7. package/.medusa/server/src/modules/telemetry/migrations/Migration20261030000000.js +14 -0
  8. package/.medusa/server/src/modules/telemetry/models/installation.d.ts +1 -0
  9. package/.medusa/server/src/modules/telemetry/models/installation.js +2 -1
  10. package/.medusa/server/src/modules/telemetry/service.d.ts +1 -0
  11. package/.medusa/server/src/utils/telemetry/snapshot.d.ts +1 -0
  12. package/.medusa/server/src/utils/telemetry/snapshot.js +2 -1
  13. package/.medusa/server/src/workflows/cart/hooks/validate.js +79 -59
  14. package/.medusa/server/src/workflows/cart/steps/link-line-item-to-offer.js +3 -2
  15. package/.medusa/server/src/workflows/cart/steps/mirror-line-item-offer-links-to-order.js +3 -2
  16. package/.medusa/server/src/workflows/cart/utils/allocate-credit-lines.d.ts +27 -0
  17. package/.medusa/server/src/workflows/cart/utils/allocate-credit-lines.js +41 -0
  18. package/.medusa/server/src/workflows/cart/utils/index.d.ts +1 -0
  19. package/.medusa/server/src/workflows/cart/utils/index.js +2 -1
  20. package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +20 -19
  21. package/.medusa/server/src/workflows/commission/steps/upsert-commission-lines.js +49 -3
  22. package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +9 -2
  23. package/.medusa/server/src/workflows/common/index.d.ts +2 -0
  24. package/.medusa/server/src/workflows/common/index.js +19 -0
  25. package/.medusa/server/src/workflows/common/steps/create-links.d.ts +14 -0
  26. package/.medusa/server/src/workflows/common/steps/create-links.js +33 -0
  27. package/.medusa/server/src/workflows/common/steps/index.d.ts +1 -0
  28. package/.medusa/server/src/workflows/common/steps/index.js +18 -0
  29. package/.medusa/server/src/workflows/common/utils/dismiss-links.d.ts +3 -0
  30. package/.medusa/server/src/workflows/common/utils/dismiss-links.js +13 -0
  31. package/.medusa/server/src/workflows/common/utils/index.d.ts +2 -0
  32. package/.medusa/server/src/workflows/common/utils/index.js +19 -0
  33. package/.medusa/server/src/workflows/common/utils/link-order.d.ts +11 -0
  34. package/.medusa/server/src/workflows/common/utils/link-order.js +34 -0
  35. package/.medusa/server/src/workflows/index.d.ts +1 -0
  36. package/.medusa/server/src/workflows/index.js +2 -1
  37. package/.medusa/server/src/workflows/payment/steps/record-payment-captures.d.ts +2 -2
  38. package/.medusa/server/src/workflows/payment/steps/record-payment-captures.js +35 -5
  39. package/.medusa/server/src/workflows/payment/workflows/split-order-payments.js +11 -3
  40. package/package.json +3 -3
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allocateCreditLines = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const split_order_payment_1 = require("../../payment/utils/split-order-payment");
6
+ /**
7
+ * Splits a cart's credit lines across its orders by their totals before credit.
8
+ * Each line is weighted by what the earlier lines left of each order, so lines
9
+ * that together cover the cart settle every order rather than leaving rounding
10
+ * behind on one and overpaying another.
11
+ */
12
+ const allocateCreditLines = ({ credit_lines, order_totals, currency_code, }) => {
13
+ const decimalDigits = (0, split_order_payment_1.getCurrencyDecimalDigits)(currency_code);
14
+ const remaining = [...order_totals];
15
+ const allocated = order_totals.map(() => []);
16
+ for (const creditLine of credit_lines) {
17
+ const shares = (0, split_order_payment_1.allocateProportionally)({
18
+ amount: creditLine.raw_amount ?? creditLine.amount,
19
+ weights: remaining,
20
+ decimalDigits,
21
+ });
22
+ shares.forEach((share, index) => {
23
+ remaining[index] = utils_1.MathBN.sub(remaining[index], share);
24
+ if (utils_1.MathBN.eq(share, 0)) {
25
+ return;
26
+ }
27
+ allocated[index].push({
28
+ amount: share,
29
+ reference: creditLine.reference,
30
+ reference_id: creditLine.reference_id,
31
+ metadata: {
32
+ ...creditLine.metadata,
33
+ cart_credit_line_id: creditLine.id,
34
+ },
35
+ });
36
+ });
37
+ }
38
+ return allocated;
39
+ };
40
+ exports.allocateCreditLines = allocateCreditLines;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGUtY3JlZGl0LWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXJ0L3V0aWxzL2FsbG9jYXRlLWNyZWRpdC1saW5lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBa0Q7QUFFbEQsaUZBR2dEO0FBa0JoRDs7Ozs7R0FLRztBQUNJLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxFQUNoQyxZQUFZLEVBQ1osWUFBWSxFQUNaLGFBQWEsR0FLaEIsRUFBMkIsRUFBRTtJQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFBLDhDQUF3QixFQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtJQUNuQyxNQUFNLFNBQVMsR0FBNEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVyRSxLQUFLLE1BQU0sVUFBVSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUEsNENBQXNCLEVBQUM7WUFDbEMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU07WUFDbEQsT0FBTyxFQUFFLFNBQVM7WUFDbEIsYUFBYTtTQUNoQixDQUFDLENBQUE7UUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVCLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUV0RCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU07WUFDVixDQUFDO1lBRUQsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbEIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO2dCQUMvQixZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7Z0JBQ3JDLFFBQVEsRUFBRTtvQkFDTixHQUFHLFVBQVUsQ0FBQyxRQUFRO29CQUN0QixtQkFBbUIsRUFBRSxVQUFVLENBQUMsRUFBRTtpQkFDckM7YUFDSixDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUF4Q1ksUUFBQSxtQkFBbUIsdUJBd0MvQiJ9
@@ -1,3 +1,4 @@
1
+ export * from './allocate-credit-lines';
1
2
  export * from './fields';
2
3
  export * from './prepare-line-item-data';
3
4
  export * from './schemas';
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./allocate-credit-lines"), exports);
17
18
  __exportStar(require("./fields"), exports);
18
19
  __exportStar(require("./prepare-line-item-data"), exports);
19
20
  __exportStar(require("./schemas"), exports);
20
21
  __exportStar(require("./seller-promotion-scope"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhcnQvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QjtBQUN4QiwyREFBd0M7QUFDeEMsNENBQXlCO0FBQ3pCLDJEQUF3QyJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhcnQvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF1QztBQUN2QywyQ0FBd0I7QUFDeEIsMkRBQXdDO0FBQ3hDLDRDQUF5QjtBQUN6QiwyREFBd0MifQ==
@@ -10,6 +10,7 @@ const events_1 = require("../../events");
10
10
  const steps_1 = require("../steps");
11
11
  const utils_2 = require("../utils");
12
12
  const promotion_1 = require("../../promotion");
13
+ const steps_2 = require("../../common/steps");
13
14
  const split_order_payments_1 = require("../../payment/workflows/split-order-payments");
14
15
  const refresh_order_commission_lines_1 = require("../../commission/workflows/refresh-order-commission-lines");
15
16
  const utils_3 = require("../../offer/utils");
@@ -151,10 +152,20 @@ exports.completeCartWithSplitOrdersWorkflow = (0, workflows_sdk_1.createWorkflow
151
152
  const sellerOrdersMap = {};
152
153
  const ordersToCreate = [];
153
154
  const offerIdsByOrderId = {};
154
- Array.from(cartSellerIds).map((sellerId) => {
155
- const sellerCartItems = (cart.items ?? []).filter((item) => item.offer?.seller_id === sellerId);
155
+ const sellerIds = Array.from(cartSellerIds);
156
+ const itemsOfSeller = (sellerId) => (cart.items ?? []).filter((item) => item.offer?.seller_id === sellerId);
157
+ const shippingMethodsOfSeller = (sellerId) => {
156
158
  const sellerShippingOptions = sellerShippingOptionsMap.get(sellerId) ?? [];
157
- const sellerCartShippingMethods = (cart.shipping_methods ?? []).filter((sm) => sellerShippingOptions.some((so) => so.id === sm.shipping_option_id));
159
+ return (cart.shipping_methods ?? []).filter((sm) => sellerShippingOptions.some((so) => so.id === sm.shipping_option_id));
160
+ };
161
+ const sellerCreditLines = (0, utils_2.allocateCreditLines)({
162
+ credit_lines: cart.credit_lines ?? [],
163
+ order_totals: sellerIds.map((sellerId) => [...itemsOfSeller(sellerId), ...shippingMethodsOfSeller(sellerId)].reduce((acc, line) => utils_1.MathBN.add(acc, line.raw_total ?? line.total), 0)),
164
+ currency_code: cart.currency_code,
165
+ });
166
+ sellerIds.forEach((sellerId, sellerIndex) => {
167
+ const sellerCartItems = itemsOfSeller(sellerId);
168
+ const sellerCartShippingMethods = shippingMethodsOfSeller(sellerId);
158
169
  const allItems = sellerCartItems.map((item) => {
159
170
  const offerShippingProfileId = item.offer?.shipping_profile_id;
160
171
  const itemForLineItem = offerShippingProfileId
@@ -196,18 +207,6 @@ exports.completeCartWithSplitOrdersWorkflow = (0, workflows_sdk_1.createWorkflow
196
207
  adjustments: (0, utils_2.prepareAdjustmentsData)(sellerAdjustments(sm.adjustments ?? [], sellerId)),
197
208
  };
198
209
  });
199
- // todo: add credit lines support for child orders
200
- // const creditLines = (cart.credit_lines ?? []).map(
201
- // (creditLine: CartCreditLineDTO) => {
202
- // return {
203
- // amount: creditLine.amount,
204
- // raw_amount: creditLine.raw_amount,
205
- // reference: creditLine.reference,
206
- // reference_id: creditLine.reference_id,
207
- // metadata: creditLine.metadata,
208
- // }
209
- // }
210
- // )
211
210
  const itemAdjustments = allItems
212
211
  .map((item) => item.adjustments ?? [])
213
212
  .flat(1);
@@ -249,8 +248,10 @@ exports.completeCartWithSplitOrdersWorkflow = (0, workflows_sdk_1.createWorkflow
249
248
  shipping_methods: shippingMethods,
250
249
  metadata: cart.metadata,
251
250
  promo_codes: promoCodes,
252
- // todo: add credit lines support for child orders
253
- credit_lines: [],
251
+ credit_lines: sellerCreditLines[sellerIndex].map((creditLine) => ({
252
+ ...creditLine,
253
+ order_id: orderId,
254
+ })),
254
255
  });
255
256
  sellerOrdersMap[sellerId] = orderId;
256
257
  offerIdsByOrderId[orderId] = sellerCartItems.map((item) => item.offer?.id ?? null);
@@ -401,7 +402,7 @@ exports.completeCartWithSplitOrdersWorkflow = (0, workflows_sdk_1.createWorkflow
401
402
  const orderEventData = (0, workflows_sdk_1.transform)({ createdOrders }, ({ createdOrders }) => {
402
403
  return createdOrders.map((order) => ({ id: order.id }));
403
404
  });
404
- (0, workflows_sdk_1.parallelize)((0, core_flows_1.createRemoteLinkStep)(linksToCreate), (0, steps_1.mirrorLineItemOfferLinksToOrderStep)({
405
+ (0, workflows_sdk_1.parallelize)((0, steps_2.createLinksStep)(linksToCreate), (0, steps_1.mirrorLineItemOfferLinksToOrderStep)({
405
406
  pairs: orderLineOfferPairs,
406
407
  }), (0, core_flows_1.updateCartsStep)([updateCompletedAt]), (0, core_flows_1.reserveInventoryStep)(reservableInventoryItems), (0, promotion_1.registerUsageStep)(promotionUsage), (0, core_flows_1.emitEventStep)({
407
408
  eventName: utils_1.OrderWorkflowEvents.PLACED,
@@ -454,4 +455,4 @@ exports.completeCartWithSplitOrdersWorkflow = (0, workflows_sdk_1.createWorkflow
454
455
  hooks: [validate, setOrderStatus],
455
456
  });
456
457
  });
457
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC13aXRoLXNwbGl0LW9yZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FydC93b3JrZmxvd3MvY29tcGxldGUtY2FydC13aXRoLXNwbGl0LW9yZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxREFLa0M7QUFDbEMscUVBTzBDO0FBQzFDLDREQVdvQztBQUNwQywyQ0FBK0U7QUFDL0UsbURBQXdEO0FBQ3hELHlDQUF1RDtBQUN2RCxvQ0FLaUI7QUFDakIsb0NBUWlCO0FBQ2pCLCtDQUFtRDtBQUNuRCx1RkFBK0Y7QUFDL0YsOEdBQStHO0FBQy9HLDZDQUcwQjtBQWMxQiw0RUFBNEU7QUFDNUUsNkJBQTZCO0FBQ2hCLFFBQUEsVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQTtBQUM3QixRQUFBLGNBQWMsR0FBRyxFQUFFLENBQUE7QUFDbkIsUUFBQSxXQUFXLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtBQUVwQixRQUFBLG1DQUFtQyxHQUFHLElBQUEsOEJBQWMsRUFDN0Q7SUFDSSxJQUFJLEVBQUUsaUNBQWlDO0lBQ3ZDLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEtBQUs7SUFDakIsYUFBYSxFQUFFLGtCQUFVO0NBQzVCLEVBQ0QsQ0FBQyxLQUErQyxFQUFFLEVBQUU7SUFDaEQsd0VBQXdFO0lBQ3hFLG1FQUFtRTtJQUNuRSxJQUFBLDRCQUFlLEVBQUM7UUFDWixHQUFHLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxFQUFFLHNCQUFjO1FBQ3ZCLEdBQUcsRUFBRSxtQkFBVztRQUNoQixvQkFBb0IsRUFBRSxJQUFJO0tBQzdCLENBQUMsQ0FBQTtJQUVGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBQSwyQkFBVyxFQUN0QyxJQUFBLDhCQUFpQixFQUFD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
458
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC13aXRoLXNwbGl0LW9yZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FydC93b3JrZmxvd3MvY29tcGxldGUtY2FydC13aXRoLXNwbGl0LW9yZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSxxREFNa0M7QUFDbEMscUVBTzBDO0FBQzFDLDREQVVvQztBQUNwQywyQ0FBK0U7QUFDL0UsbURBQXdEO0FBQ3hELHlDQUF1RDtBQUN2RCxvQ0FLaUI7QUFDakIsb0NBU2lCO0FBQ2pCLCtDQUFtRDtBQUNuRCw4Q0FBb0Q7QUFDcEQsdUZBQStGO0FBQy9GLDhHQUErRztBQUMvRyw2Q0FHMEI7QUFjMUIsNEVBQTRFO0FBQzVFLDZCQUE2QjtBQUNoQixRQUFBLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFDN0IsUUFBQSxjQUFjLEdBQUcsRUFBRSxDQUFBO0FBQ25CLFFBQUEsV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7QUFFcEIsUUFBQSxtQ0FBbUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdEO0lBQ0ksSUFBSSxFQUFFLGlDQUFpQztJQUN2QyxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGFBQWEsRUFBRSxrQkFBVTtDQUM1QixFQUNELENBQUMsS0FBK0MsRUFBRSxFQUFFO0lBQ2hELHdFQUF3RTtJQUN4RSxtRUFBbUU7SUFDbkUsSUFBQSw0QkFBZSxFQUFDO1FBQ1osR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sRUFBRSxzQkFBYztRQUN2QixHQUFHLEVBQUUsbUJBQVc7UUFDaEIsb0JBQW9CLEVBQUUsSUFBSTtLQUM3QixDQUFDLENBQUE7SUFFRixNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUEsMkJBQVcsRUFDdEMsSUFB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
@@ -3,13 +3,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.upsertCommissionLinesStep = exports.upsertCommissionLinesStepId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const types_1 = require("@mercurjs/types");
6
+ const anchorFilters = (lines) => {
7
+ const itemIds = lines
8
+ .map((line) => line.item_id)
9
+ .filter((id) => !!id);
10
+ const shippingMethodIds = lines
11
+ .map((line) => line.shipping_method_id)
12
+ .filter((id) => !!id);
13
+ const filters = [];
14
+ if (itemIds.length) {
15
+ filters.push({ item_id: itemIds });
16
+ }
17
+ if (shippingMethodIds.length) {
18
+ filters.push({ shipping_method_id: shippingMethodIds });
19
+ }
20
+ return filters;
21
+ };
6
22
  exports.upsertCommissionLinesStepId = "upsert-commission-lines";
7
23
  exports.upsertCommissionLinesStep = (0, workflows_sdk_1.createStep)(exports.upsertCommissionLinesStepId, async (input, { container }) => {
8
24
  if (!input.commission_lines.length) {
9
- return new workflows_sdk_1.StepResponse([]);
25
+ return new workflows_sdk_1.StepResponse([], { created_ids: [], replaced: [] });
10
26
  }
11
27
  const service = container.resolve(types_1.MercurModules.COMMISSION);
28
+ const filters = anchorFilters(input.commission_lines);
29
+ const replaced = filters.length
30
+ ? await service.listCommissionLines({ $or: filters })
31
+ : [];
12
32
  const commissionLines = await service.upsertCommissionLines(input.commission_lines);
13
- return new workflows_sdk_1.StepResponse(commissionLines);
33
+ return new workflows_sdk_1.StepResponse(commissionLines, {
34
+ created_ids: commissionLines.map((line) => line.id),
35
+ replaced,
36
+ });
37
+ }, async (compensation, { container }) => {
38
+ if (!compensation?.created_ids.length) {
39
+ return;
40
+ }
41
+ const service = container.resolve(types_1.MercurModules.COMMISSION);
42
+ // Restore each anchor to its pre-step state: remove the lines the step
43
+ // wrote, then put back the ones it replaced.
44
+ await service.deleteCommissionLines(compensation.created_ids);
45
+ const replacedLines = compensation.replaced.map((line) => ({
46
+ id: line.id,
47
+ item_id: line.item_id,
48
+ shipping_method_id: line.shipping_method_id,
49
+ commission_rate_id: line.commission_rate_id,
50
+ provider_id: line.provider_id,
51
+ code: line.code,
52
+ rate: line.rate,
53
+ amount: line.amount,
54
+ description: line.description,
55
+ data: line.data,
56
+ }));
57
+ if (replacedLines.length) {
58
+ await service.createCommissionLines(replacedLines);
59
+ }
14
60
  });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWNvbW1pc3Npb24tbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvdXBzZXJ0LWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLDJDQUl3QjtBQVFYLFFBQUEsMkJBQTJCLEdBQUcseUJBQXlCLENBQUE7QUFFdkQsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELG1DQUEyQixFQUMzQixLQUFLLEVBQ0gsS0FBcUMsRUFDckMsRUFBRSxTQUFTLEVBQUUsRUFDK0IsRUFBRTtJQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUMvQixxQkFBYSxDQUFDLFVBQVUsQ0FDekIsQ0FBQTtJQUVELE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUN6RCxLQUFLLENBQUMsZ0JBQWdCLENBQ3ZCLENBQUE7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUMxQyxDQUFDLENBQ0YsQ0FBQSJ9
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWNvbW1pc3Npb24tbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1pc3Npb24vc3RlcHMvdXBzZXJ0LWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLDJDQUl3QjtBQWF4QixNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtJQUN6RCxNQUFNLE9BQU8sR0FBRyxLQUFLO1NBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUMzQixNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLO1NBQzVCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ3RDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVyQyxNQUFNLE9BQU8sR0FBOEIsRUFBRSxDQUFBO0lBQzdDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFFWSxRQUFBLDJCQUEyQixHQUFHLHlCQUF5QixDQUFBO0FBRXZELFFBQUEseUJBQXlC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
@@ -29,7 +29,14 @@ const orderFields = [
29
29
  "shipping_methods.adjustments.*",
30
30
  ];
31
31
  exports.refreshOrderCommissionLinesWorkflowId = "refresh-order-commission-lines";
32
- exports.refreshOrderCommissionLinesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.refreshOrderCommissionLinesWorkflowId, function (input) {
32
+ // Checkout runs this as a step of a stored workflow; compensating it there needs
33
+ // a stored execution of its own, kept as long as checkout keeps its own.
34
+ const THREE_DAYS = 3 * 24 * 60 * 60;
35
+ exports.refreshOrderCommissionLinesWorkflow = (0, workflows_sdk_1.createWorkflow)({
36
+ name: exports.refreshOrderCommissionLinesWorkflowId,
37
+ store: true,
38
+ retentionTime: THREE_DAYS,
39
+ }, function (input) {
33
40
  const { data: orders } = (0, core_flows_1.useQueryGraphStep)({
34
41
  entity: "order",
35
42
  fields: orderFields,
@@ -87,4 +94,4 @@ exports.refreshOrderCommissionLinesWorkflow = (0, workflows_sdk_1.createWorkflow
87
94
  hooks: [setCommissionContext, commissionLinesUpserted],
88
95
  });
89
96
  });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC1vcmRlci1jb21taXNzaW9uLWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jb21taXNzaW9uL3dvcmtmbG93cy9yZWZyZXNoLW9yZGVyLWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBUTBDO0FBQzFDLDREQUErRDtBQU0vRCxvQ0FBNEU7QUFFNUUsMkVBQTJFO0FBQzNFLDZFQUE2RTtBQUM3RSwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLEdBQUc7SUFDbEIsSUFBSTtJQUNKLGVBQWU7SUFDZixVQUFVO0lBQ1YsU0FBUztJQUNULGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG1DQUFtQztJQUNuQyx1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsZ0NBQWdDO0NBQ2pDLENBQUE7QUFNWSxRQUFBLHFDQUFxQyxHQUFHLGdDQUFnQyxDQUFBO0FBdUJ4RSxRQUFBLG1DQUFtQyxHQUk1QyxJQUFBLDhCQUFjLEVBQ2hCLDZDQUFxQyxFQUNyQyxVQUNFLEtBQTZEO0lBRTdELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ2hDLE9BQU8sRUFBRTtZQUNQLGtCQUFrQixFQUFFLElBQUk7U0FDekI7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUE7SUFFbkMs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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC1vcmRlci1jb21taXNzaW9uLWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jb21taXNzaW9uL3dvcmtmbG93cy9yZWZyZXNoLW9yZGVyLWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBUTBDO0FBQzFDLDREQUErRDtBQU0vRCxvQ0FBNEU7QUFFNUUsMkVBQTJFO0FBQzNFLDZFQUE2RTtBQUM3RSwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLEdBQUc7SUFDbEIsSUFBSTtJQUNKLGVBQWU7SUFDZixVQUFVO0lBQ1YsU0FBUztJQUNULGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG1DQUFtQztJQUNuQyx1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsZ0NBQWdDO0NBQ2pDLENBQUE7QUFNWSxRQUFBLHFDQUFxQyxHQUFHLGdDQUFnQyxDQUFBO0FBRXJGLGlGQUFpRjtBQUNqRix5RUFBeUU7QUFDekUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBdUJ0QixRQUFBLG1DQUFtQyxHQUk1QyxJQUFBLDhCQUFjLEVBQ2hCO0lBQ0UsSUFBSSxFQUFFLDZDQUFxQztJQUMzQyxLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxVQUFVO0NBQzFCLEVBQ0QsVUFDRSxLQUE2RDtJQUU3RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVB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
@@ -0,0 +1,2 @@
1
+ export * from "./steps";
2
+ export * from "./utils";
@@ -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("./utils"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLDBDQUF1QiJ9
@@ -0,0 +1,14 @@
1
+ import { LinkDefinition } from "@medusajs/framework/types";
2
+ export declare const createLinksStepId = "create-links";
3
+ /**
4
+ * This step creates links between records, like Medusa's
5
+ * `createRemoteLinkStep`. Its compensation dismisses the links no matter in
6
+ * which order their modules come back from the stored workflow state.
7
+ *
8
+ * @example
9
+ * createLinksStep([{
10
+ * [Modules.ORDER]: { order_id: "order_123" },
11
+ * [MercurModules.SELLER]: { seller_id: "sel_123" }
12
+ * }])
13
+ */
14
+ export declare const createLinksStep: import("@medusajs/framework/workflows-sdk").StepFunction<LinkDefinition[], unknown[]>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLinksStep = exports.createLinksStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const utils_2 = require("../utils");
7
+ exports.createLinksStepId = "create-links";
8
+ /**
9
+ * This step creates links between records, like Medusa's
10
+ * `createRemoteLinkStep`. Its compensation dismisses the links no matter in
11
+ * which order their modules come back from the stored workflow state.
12
+ *
13
+ * @example
14
+ * createLinksStep([{
15
+ * [Modules.ORDER]: { order_id: "order_123" },
16
+ * [MercurModules.SELLER]: { seller_id: "sel_123" }
17
+ * }])
18
+ */
19
+ exports.createLinksStep = (0, workflows_sdk_1.createStep)(exports.createLinksStepId, async (input, { container }) => {
20
+ if (!input?.length) {
21
+ return new workflows_sdk_1.StepResponse([], []);
22
+ }
23
+ const link = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
24
+ const links = await link.create(input);
25
+ return new workflows_sdk_1.StepResponse(links, input);
26
+ }, async (createdLinks, { container }) => {
27
+ if (!createdLinks?.length) {
28
+ return;
29
+ }
30
+ const link = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
31
+ await (0, utils_2.dismissLinks)(link, createdLinks);
32
+ });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWxpbmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jb21tb24vc3RlcHMvY3JlYXRlLWxpbmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFxRTtBQUVyRSxxRUFBNEU7QUFFNUUsb0NBQXVDO0FBRTFCLFFBQUEsaUJBQWlCLEdBQUcsY0FBYyxDQUFBO0FBQy9DOzs7Ozs7Ozs7O0dBVUc7QUFDVSxRQUFBLGVBQWUsR0FBRyxJQUFBLDBCQUFVLEVBQ3ZDLHlCQUFpQixFQUNqQixLQUFLLEVBQUUsS0FBdUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXRDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN2QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUQsTUFBTSxJQUFBLG9CQUFZLEVBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO0FBQ3hDLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1 @@
1
+ export * from "./create-links";
@@ -0,0 +1,18 @@
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("./create-links"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1vbi9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQThCIn0=
@@ -0,0 +1,3 @@
1
+ import { Link } from "@medusajs/framework/modules-sdk";
2
+ import { LinkDefinition } from "@medusajs/framework/types";
3
+ export declare const dismissLinks: (link: Link, links: LinkDefinition[]) => Promise<void>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dismissLinks = void 0;
4
+ const link_order_1 = require("./link-order");
5
+ const dismissLinks = async (link, links) => {
6
+ if (!links.length) {
7
+ return;
8
+ }
9
+ const lookup = (a, aKey, b, bKey) => link.getLinkModule(a, aKey, b, bKey);
10
+ await link.dismiss(links.map((entry) => (0, link_order_1.orderLinkModules)(entry, lookup)));
11
+ };
12
+ exports.dismissLinks = dismissLinks;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzbWlzcy1saW5rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY29tbW9uL3V0aWxzL2Rpc21pc3MtbGlua3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsNkNBQStDO0FBRXhDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxJQUFVLEVBQUUsS0FBdUIsRUFBRSxFQUFFO0lBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFZLEVBQUUsQ0FBUyxFQUFFLElBQVksRUFBRSxFQUFFLENBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFdEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUEsNkJBQWdCLEVBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUMzRSxDQUFDLENBQUE7QUFUWSxRQUFBLFlBQVksZ0JBU3hCIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./dismiss-links";
2
+ export * from "./link-order";
@@ -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("./dismiss-links"), exports);
18
+ __exportStar(require("./link-order"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1vbi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQStCO0FBQy9CLCtDQUE0QiJ9
@@ -0,0 +1,11 @@
1
+ import { LinkDefinition } from "@medusajs/framework/types";
2
+ export type LinkDirectionLookup = (moduleA: string, moduleAKey: string, moduleB: string, moduleBKey: string) => unknown;
3
+ /**
4
+ * Link definitions are plain objects whose module order decides which link
5
+ * module `Link.dismiss` resolves. Workflow state persisted in a `jsonb`
6
+ * column comes back with its keys sorted, so a compensation that replays the
7
+ * stored links can end up asking for a `cart-order` link that only exists
8
+ * as `order-cart`. Swap the two modules back when only the reverse pair is
9
+ * registered.
10
+ */
11
+ export declare const orderLinkModules: (link: LinkDefinition, hasLinkModule: LinkDirectionLookup) => LinkDefinition;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderLinkModules = void 0;
4
+ /**
5
+ * Link definitions are plain objects whose module order decides which link
6
+ * module `Link.dismiss` resolves. Workflow state persisted in a `jsonb`
7
+ * column comes back with its keys sorted, so a compensation that replays the
8
+ * stored links can end up asking for a `cart-order` link that only exists
9
+ * as `order-cart`. Swap the two modules back when only the reverse pair is
10
+ * registered.
11
+ */
12
+ const orderLinkModules = (link, hasLinkModule) => {
13
+ const modules = Object.keys(link).filter((key) => key !== "data");
14
+ if (modules.length !== 2) {
15
+ return link;
16
+ }
17
+ const [moduleA, moduleB] = modules;
18
+ const keyA = Object.keys(link[moduleA]).join(",");
19
+ const keyB = Object.keys(link[moduleB]).join(",");
20
+ if (hasLinkModule(moduleA, keyA, moduleB, keyB) ||
21
+ !hasLinkModule(moduleB, keyB, moduleA, keyA)) {
22
+ return link;
23
+ }
24
+ const reordered = {
25
+ [moduleB]: link[moduleB],
26
+ [moduleA]: link[moduleA],
27
+ };
28
+ if ("data" in link) {
29
+ reordered.data = link.data;
30
+ }
31
+ return reordered;
32
+ };
33
+ exports.orderLinkModules = orderLinkModules;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY29tbW9uL3V0aWxzL2xpbmstb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0E7Ozs7Ozs7R0FPRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsSUFBb0IsRUFDcEIsYUFBa0MsRUFDbEIsRUFBRTtJQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxDQUFBO0lBQ2pFLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQTtJQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNqRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUVqRCxJQUNFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDM0MsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQzVDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBbUI7UUFDaEMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztLQUN6QixDQUFBO0lBQ0QsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbkIsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDLENBQUE7QUE1QlksUUFBQSxnQkFBZ0Isb0JBNEI1QiJ9
@@ -1,4 +1,5 @@
1
1
  import "../patches/register";
2
+ export * from "./common";
2
3
  export * from "./campaign";
3
4
  export * from "./customer-group";
4
5
  export * from "./commission";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  require("../patches/register");
18
+ __exportStar(require("./common"), exports);
18
19
  __exportStar(require("./campaign"), exports);
19
20
  __exportStar(require("./customer-group"), exports);
20
21
  __exportStar(require("./commission"), exports);
@@ -39,4 +40,4 @@ __exportStar(require("./media"), exports);
39
40
  __exportStar(require("./order"), exports);
40
41
  __exportStar(require("./review"), exports);
41
42
  __exportStar(require("./payment"), exports);
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBNEI7QUFFNUIsNkNBQTBCO0FBQzFCLG1EQUFnQztBQUNoQywrQ0FBNEI7QUFDNUIsMkNBQXdCO0FBQ3hCLG1EQUFnQztBQUNoQyxnREFBNkI7QUFDN0IsK0NBQTRCO0FBQzVCLDhDQUEyQjtBQUMzQixtREFBZ0M7QUFDaEMsMkNBQXdCO0FBQ3hCLDJDQUF3QjtBQUN4QixvREFBaUM7QUFDakMsbURBQWdDO0FBQ2hDLHlDQUFzQjtBQUN0QiwyQ0FBd0I7QUFDeEIsa0RBQStCO0FBQy9CLDRDQUF5QjtBQUN6QixzREFBbUM7QUFDbkMsaURBQThCO0FBQzlCLDBDQUF1QjtBQUN2QiwwQ0FBdUI7QUFDdkIsMENBQXVCO0FBQ3ZCLDJDQUF3QjtBQUN4Qiw0Q0FBeUIifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBNEI7QUFFNUIsMkNBQXdCO0FBQ3hCLDZDQUEwQjtBQUMxQixtREFBZ0M7QUFDaEMsK0NBQTRCO0FBQzVCLDJDQUF3QjtBQUN4QixtREFBZ0M7QUFDaEMsZ0RBQTZCO0FBQzdCLCtDQUE0QjtBQUM1Qiw4Q0FBMkI7QUFDM0IsbURBQWdDO0FBQ2hDLDJDQUF3QjtBQUN4QiwyQ0FBd0I7QUFDeEIsb0RBQWlDO0FBQ2pDLG1EQUFnQztBQUNoQyx5Q0FBc0I7QUFDdEIsMkNBQXdCO0FBQ3hCLGtEQUErQjtBQUMvQiw0Q0FBeUI7QUFDekIsc0RBQW1DO0FBQ25DLGlEQUE4QjtBQUM5QiwwQ0FBdUI7QUFDdkIsMENBQXVCO0FBQ3ZCLDBDQUF1QjtBQUN2QiwyQ0FBd0I7QUFDeEIsNENBQXlCIn0=
@@ -17,8 +17,8 @@ export declare const recordPaymentCapturesStepId = "record-payment-captures";
17
17
  * This step records captures the payment provider has already made, without
18
18
  * capturing at the provider again.
19
19
  *
20
- * It is not compensated, like Medusa's `capturePaymentStep`: the money was
21
- * captured before the step ran.
20
+ * Its compensation removes the capture records again; the provider is not
21
+ * contacted, since the money was captured before the step ran.
22
22
  *
23
23
  * @example
24
24
  * const payments = recordPaymentCapturesStep([{