@mercurjs/core 2.3.5 → 2.3.6-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/api/admin/collections/validators.d.ts +12 -185
- package/.medusa/server/src/api/admin/collections/validators.js +3 -3
- package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +21 -226
- package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +6 -26
- package/.medusa/server/src/api/admin/members/validators.d.ts +1 -18
- package/.medusa/server/src/api/admin/offers/validators.d.ts +22 -261
- package/.medusa/server/src/api/admin/order-groups/validators.d.ts +9 -94
- package/.medusa/server/src/api/admin/orders/validators.d.ts +162 -1
- package/.medusa/server/src/api/admin/payouts/validators.d.ts +7 -86
- package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +45 -398
- package/.medusa/server/src/api/admin/product-attributes/validators.js +8 -8
- package/.medusa/server/src/api/admin/product-categories/middlewares.js +4 -2
- package/.medusa/server/src/api/admin/product-categories/validators.d.ts +41 -376
- package/.medusa/server/src/api/admin/product-categories/validators.js +3 -3
- package/.medusa/server/src/api/admin/product-changes/validators.d.ts +2 -10
- package/.medusa/server/src/api/admin/products/middlewares.js +4 -2
- package/.medusa/server/src/api/admin/products/validators.d.ts +128 -1702
- package/.medusa/server/src/api/admin/products/validators.js +9 -9
- package/.medusa/server/src/api/admin/promotions/[id]/cost/validators.d.ts +6 -8
- package/.medusa/server/src/api/admin/reservations/validators.d.ts +2 -39
- package/.medusa/server/src/api/admin/reviews/validators.d.ts +24 -46
- package/.medusa/server/src/api/admin/sellers/validators.d.ts +32 -358
- package/.medusa/server/src/api/admin/sellers/validators.js +4 -4
- package/.medusa/server/src/api/store/carts/[id]/complete/validators.d.ts +1 -5
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +1 -11
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +3 -3
- package/.medusa/server/src/api/store/offers/validators.d.ts +9 -112
- package/.medusa/server/src/api/store/order-groups/validators.d.ts +5 -80
- package/.medusa/server/src/api/store/product-attributes/validators.d.ts +19 -175
- package/.medusa/server/src/api/store/product-categories/validators.d.ts +21 -184
- package/.medusa/server/src/api/store/products/validators.d.ts +25 -210
- package/.medusa/server/src/api/store/reviews/validators.d.ts +7 -34
- package/.medusa/server/src/api/store/sellers/validators.d.ts +7 -92
- package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +28 -165
- package/.medusa/server/src/api/vendor/campaigns/validators.js +4 -4
- package/.medusa/server/src/api/vendor/claims/validators.d.ts +23 -276
- package/.medusa/server/src/api/vendor/collections/validators.d.ts +8 -117
- package/.medusa/server/src/api/vendor/currencies/validators.d.ts +5 -32
- package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +11 -108
- package/.medusa/server/src/api/vendor/customer-groups/validators.js +3 -3
- package/.medusa/server/src/api/vendor/customers/validators.d.ts +11 -102
- package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +17 -228
- package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +4 -27
- package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +18 -290
- package/.medusa/server/src/api/vendor/fulfillment-sets/validators.js +3 -3
- package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +48 -560
- package/.medusa/server/src/api/vendor/inventory-items/validators.js +3 -3
- package/.medusa/server/src/api/vendor/members/validators.d.ts +2 -18
- package/.medusa/server/src/api/vendor/offers/validators.d.ts +34 -497
- package/.medusa/server/src/api/vendor/order-edits/validators.d.ts +8 -118
- package/.medusa/server/src/api/vendor/order-edits/validators.js +6 -6
- package/.medusa/server/src/api/vendor/orders/validators.d.ts +17 -170
- package/.medusa/server/src/api/vendor/payments/validators.d.ts +11 -121
- package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +4 -32
- package/.medusa/server/src/api/vendor/payout-accounts/validators.js +5 -5
- package/.medusa/server/src/api/vendor/payouts/validators.d.ts +5 -80
- package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +21 -262
- package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +5 -30
- package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +33 -273
- package/.medusa/server/src/api/vendor/product-attributes/validators.js +5 -5
- package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +34 -275
- package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +12 -48
- package/.medusa/server/src/api/vendor/product-types/validators.d.ts +4 -27
- package/.medusa/server/src/api/vendor/product-variants/middlewares.js +7 -2
- package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +38 -364
- package/.medusa/server/src/api/vendor/products/middlewares.js +5 -2
- package/.medusa/server/src/api/vendor/products/validators.d.ts +102 -1012
- package/.medusa/server/src/api/vendor/products/validators.js +13 -13
- package/.medusa/server/src/api/vendor/promotions/validators.d.ts +104 -1109
- package/.medusa/server/src/api/vendor/promotions/validators.js +3 -3
- package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +5 -82
- package/.medusa/server/src/api/vendor/regions/validators.d.ts +7 -88
- package/.medusa/server/src/api/vendor/reservations/validators.d.ts +14 -207
- package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +9 -94
- package/.medusa/server/src/api/vendor/returns/validators.d.ts +26 -306
- package/.medusa/server/src/api/vendor/returns/validators.js +8 -8
- package/.medusa/server/src/api/vendor/reviews/validators.d.ts +19 -36
- package/.medusa/server/src/api/vendor/sales-channels/validators.d.ts +5 -32
- package/.medusa/server/src/api/vendor/sellers/validators.d.ts +17 -249
- package/.medusa/server/src/api/vendor/sellers/validators.js +4 -4
- package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +8 -91
- package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +59 -730
- package/.medusa/server/src/api/vendor/shipping-options/validators.js +5 -5
- package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +5 -86
- package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +14 -209
- package/.medusa/server/src/api/vendor/stock-locations/validators.js +3 -3
- package/.medusa/server/src/api/vendor/stores/validators.d.ts +4 -27
- package/.medusa/server/src/patches/index.js +12 -5
- package/.medusa/server/src/patches/manifest.js +13 -3
- package/.medusa/server/src/patches/patches/@medusajs+core-flows@2.21.0-payment-hooks.patch +89 -0
- package/.medusa/server/src/utils/disable-medusa-middlewares.d.ts +2 -0
- package/.medusa/server/src/utils/disable-medusa-middlewares.js +35 -10
- package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.d.ts +8 -1
- package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +6 -2
- package/.medusa/server/src/workflows/offer/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/offer/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/offer/workflows/update-offers.js +9 -138
- package/.medusa/server/src/workflows/offer/workflows/upsert-offer-prices.d.ts +14 -0
- package/.medusa/server/src/workflows/offer/workflows/upsert-offer-prices.js +130 -0
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +15 -2
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +14 -3
- package/.medusa/server/src/workflows/payment/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/payment/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/payment/workflows/payment-hooks.d.ts +25 -0
- package/.medusa/server/src/workflows/payment/workflows/payment-hooks.js +10 -0
- package/package.json +17 -17
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
diff --git a/dist/payment/workflows/capture-payment.d.ts b/dist/payment/workflows/capture-payment.d.ts
|
|
2
|
+
index 1b495fa..1e2fe8c 100644
|
|
3
|
+
--- a/dist/payment/workflows/capture-payment.d.ts
|
|
4
|
+
+++ b/dist/payment/workflows/capture-payment.d.ts
|
|
5
|
+
@@ -36,5 +36,11 @@ export declare const capturePaymentWorkflowId = "capture-payment-workflow";
|
|
6
|
+
*
|
|
7
|
+
* Capture a payment.
|
|
8
|
+
*/
|
|
9
|
+
-export declare const capturePaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CapturePaymentWorkflowInput, PaymentDTO, []>;
|
|
10
|
+
+export declare const capturePaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CapturePaymentWorkflowInput, PaymentDTO, [
|
|
11
|
+
+ import("@medusajs/framework/workflows-sdk").Hook<"paymentCaptured", {
|
|
12
|
+
+ payment: PaymentDTO;
|
|
13
|
+
+ order_id: string | null;
|
|
14
|
+
+ amount: BigNumberInput | null;
|
|
15
|
+
+ }, unknown>
|
|
16
|
+
+]>;
|
|
17
|
+
//# sourceMappingURL=capture-payment.d.ts.map
|
|
18
|
+
|
|
19
|
+
diff --git a/dist/payment/workflows/capture-payment.js b/dist/payment/workflows/capture-payment.js
|
|
20
|
+
index 404cfaf..e069e4d 100644
|
|
21
|
+
--- a/dist/payment/workflows/capture-payment.js
|
|
22
|
+
+++ b/dist/payment/workflows/capture-payment.js
|
|
23
|
+
@@ -54,6 +54,16 @@ exports.capturePaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.cap
|
|
24
|
+
eventName: utils_1.PaymentEvents.CAPTURED,
|
|
25
|
+
data: { id: payment.id },
|
|
26
|
+
});
|
|
27
|
+
- return new workflows_sdk_1.WorkflowResponse(payment);
|
|
28
|
+
+ // MERCUR: payment has no hook where order has orderCreated / orderCanceled.
|
|
29
|
+
+ // A ledger that must record every capture in the capture's own transaction
|
|
30
|
+
+ // needs one; an event fires after commit and cannot be compensated.
|
|
31
|
+
+ const paymentCaptured = (0, workflows_sdk_1.createHook)("paymentCaptured", {
|
|
32
|
+
+ payment,
|
|
33
|
+
+ order_id: (0, workflows_sdk_1.transform)({ orderPayment }, ({ orderPayment }) => orderPayment?.order?.id ?? null),
|
|
34
|
+
+ amount: (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.amount ?? null),
|
|
35
|
+
+ });
|
|
36
|
+
+ return new workflows_sdk_1.WorkflowResponse(payment, {
|
|
37
|
+
+ hooks: [paymentCaptured],
|
|
38
|
+
+ });
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=capture-payment.js.map
|
|
41
|
+
|
|
42
|
+
diff --git a/dist/payment/workflows/refund-payment.d.ts b/dist/payment/workflows/refund-payment.d.ts
|
|
43
|
+
index 3848939..7ff118d 100644
|
|
44
|
+
--- a/dist/payment/workflows/refund-payment.d.ts
|
|
45
|
+
+++ b/dist/payment/workflows/refund-payment.d.ts
|
|
46
|
+
@@ -58,5 +58,17 @@ export declare const refundPaymentWorkflowId = "refund-payment-workflow";
|
|
47
|
+
*
|
|
48
|
+
* Refund a payment.
|
|
49
|
+
*/
|
|
50
|
+
-export declare const refundPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RefundPaymentWorkflowInput, any, []>;
|
|
51
|
+
+export declare const refundPaymentWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RefundPaymentWorkflowInput, any, [
|
|
52
|
+
+ import("@medusajs/framework/workflows-sdk").Hook<"paymentRefunded", {
|
|
53
|
+
+ payment: PaymentDTO;
|
|
54
|
+
+ order_id: string | null;
|
|
55
|
+
+ amount: BigNumberInput | null;
|
|
56
|
+
+ credit_line_amount: BigNumberInput;
|
|
57
|
+
+ refund_reason: {
|
|
58
|
+
+ id: string;
|
|
59
|
+
+ label: string;
|
|
60
|
+
+ code: string | null;
|
|
61
|
+
+ } | null;
|
|
62
|
+
+ }, unknown>
|
|
63
|
+
+]>;
|
|
64
|
+
//# sourceMappingURL=refund-payment.d.ts.map
|
|
65
|
+
|
|
66
|
+
diff --git a/dist/payment/workflows/refund-payment.js b/dist/payment/workflows/refund-payment.js
|
|
67
|
+
index 5d19f53..dcd8b37 100644
|
|
68
|
+
--- a/dist/payment/workflows/refund-payment.js
|
|
69
|
+
+++ b/dist/payment/workflows/refund-payment.js
|
|
70
|
+
@@ -145,6 +145,17 @@ exports.refundPaymentWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.refu
|
|
71
|
+
eventName: utils_1.PaymentEvents.REFUNDED,
|
|
72
|
+
data: { id: payment.id },
|
|
73
|
+
});
|
|
74
|
+
- return new workflows_sdk_1.WorkflowResponse(payment);
|
|
75
|
+
+ // MERCUR: see capture-payment.js. A refund is the correction side of a
|
|
76
|
+
+ // capture and needs the same in-transaction seam.
|
|
77
|
+
+ const paymentRefunded = (0, workflows_sdk_1.createHook)("paymentRefunded", {
|
|
78
|
+
+ payment: refundPayment,
|
|
79
|
+
+ order_id: (0, workflows_sdk_1.transform)({ order }, ({ order }) => order?.id ?? null),
|
|
80
|
+
+ amount: (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.amount ?? null),
|
|
81
|
+
+ credit_line_amount: creditLineAmount,
|
|
82
|
+
+ refund_reason: (0, workflows_sdk_1.transform)({ refundReason }, ({ refundReason }) => refundReason ?? null),
|
|
83
|
+
+ });
|
|
84
|
+
+ return new workflows_sdk_1.WorkflowResponse(payment, {
|
|
85
|
+
+ hooks: [paymentRefunded],
|
|
86
|
+
+ });
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=refund-payment.js.map
|
|
89
|
+
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
import type { MiddlewareRoute } from "@medusajs/framework/http";
|
|
1
2
|
export declare const ORIGINAL_MIDDLEWARES: Record<string, unknown[]>;
|
|
2
3
|
export declare function disableMedusaMiddlewares(): void;
|
|
4
|
+
export declare function withOriginalMiddlewares(file: string, overrides: MiddlewareRoute[]): MiddlewareRoute[];
|
|
@@ -5,24 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ORIGINAL_MIDDLEWARES = void 0;
|
|
7
7
|
exports.disableMedusaMiddlewares = disableMedusaMiddlewares;
|
|
8
|
+
exports.withOriginalMiddlewares = withOriginalMiddlewares;
|
|
8
9
|
const fs_1 = require("fs");
|
|
9
10
|
const path_1 = require("path");
|
|
10
11
|
const resolve_cwd_1 = __importDefault(require("resolve-cwd"));
|
|
11
12
|
const pkg_dir_1 = __importDefault(require("pkg-dir"));
|
|
12
13
|
// Medusa's `dist/api/middlewares.js` is a single aggregator that statically
|
|
13
14
|
// requires every sub-middleware file (e.g. `./store/carts/middlewares`) and
|
|
14
|
-
// spreads each one's exported array into a flat list. Mercur
|
|
15
|
-
// of those modules
|
|
16
|
-
// (carts). Overriding route handlers is trivial in Medusa (file-based,
|
|
15
|
+
// spreads each one's exported array into a flat list. Mercur overrides a
|
|
16
|
+
// subset of the routes in each of those modules. Overriding route handlers is trivial in Medusa (file-based,
|
|
17
17
|
// plugin scanned after core), but middlewares can't be overridden the same
|
|
18
18
|
// way — hence this patch.
|
|
19
19
|
//
|
|
20
20
|
// We preload each listed sub-middleware module and empty its exported array
|
|
21
21
|
// in place BEFORE Medusa's aggregator runs. The aggregator then spreads an
|
|
22
|
-
// empty array.
|
|
23
|
-
// (carts), the original entries are captured into `ORIGINAL_MIDDLEWARES`
|
|
22
|
+
// empty array. The original entries are captured into `ORIGINAL_MIDDLEWARES`
|
|
24
23
|
// first so Mercur's own middlewares.ts can re-spread the non-overridden
|
|
25
|
-
// ones.
|
|
24
|
+
// ones (see `withOriginalMiddlewares`).
|
|
26
25
|
//
|
|
27
26
|
// Bun deduplicates each transitive copy of `@medusajs/medusa` under
|
|
28
27
|
// `node_modules/.bun/@medusajs+medusa@<ver>+<hash>/`. The framework can
|
|
@@ -33,7 +32,6 @@ const OVERRIDES = [
|
|
|
33
32
|
"dist/api/admin/promotions/middlewares.js",
|
|
34
33
|
"dist/api/admin/campaigns/middlewares.js",
|
|
35
34
|
"dist/api/admin/price-lists/middlewares.js",
|
|
36
|
-
"dist/api/admin/product-variants/middlewares.js",
|
|
37
35
|
"dist/api/admin/product-categories/middlewares.js",
|
|
38
36
|
"dist/api/admin/collections/middlewares.js",
|
|
39
37
|
"dist/api/admin/customer-groups/middlewares.js",
|
|
@@ -45,7 +43,6 @@ const OVERRIDES = [
|
|
|
45
43
|
"dist/api/admin/inventory-items/middlewares.js",
|
|
46
44
|
"dist/api/store/products/middlewares.js",
|
|
47
45
|
"dist/api/store/product-categories/middlewares.js",
|
|
48
|
-
"dist/api/store/product-variants/middlewares.js",
|
|
49
46
|
"dist/api/store/carts/middlewares.js",
|
|
50
47
|
];
|
|
51
48
|
exports.ORIGINAL_MIDDLEWARES = {};
|
|
@@ -92,10 +89,38 @@ function disableMedusaMiddlewares() {
|
|
|
92
89
|
const value = mod[key];
|
|
93
90
|
if (!Array.isArray(value))
|
|
94
91
|
continue;
|
|
95
|
-
|
|
92
|
+
// The first dir is the copy the app resolves; later copies (possibly
|
|
93
|
+
// other Medusa versions further up the tree) must not replace it.
|
|
94
|
+
if (!exports.ORIGINAL_MIDDLEWARES[file] && value.length) {
|
|
95
|
+
exports.ORIGINAL_MIDDLEWARES[file] = [...value];
|
|
96
|
+
}
|
|
96
97
|
value.length = 0;
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
+
const toMethods = (route) => {
|
|
103
|
+
if (!route.method)
|
|
104
|
+
return undefined;
|
|
105
|
+
return Array.isArray(route.method) ? route.method : [route.method];
|
|
106
|
+
};
|
|
107
|
+
const collides = (original, override) => {
|
|
108
|
+
if (String(original.matcher) !== String(override.matcher))
|
|
109
|
+
return false;
|
|
110
|
+
const a = toMethods(original);
|
|
111
|
+
const b = toMethods(override);
|
|
112
|
+
if (!a || !b)
|
|
113
|
+
return true;
|
|
114
|
+
return a.some((method) => b.includes(method));
|
|
115
|
+
};
|
|
116
|
+
// Medusa's handlers for routes Mercur doesn't override still load and expect
|
|
117
|
+
// Medusa's validators/query config, so every original entry must be kept
|
|
118
|
+
// unless Mercur registers the same matcher + method itself.
|
|
119
|
+
function withOriginalMiddlewares(file, overrides) {
|
|
120
|
+
const original = (exports.ORIGINAL_MIDDLEWARES[file] ?? []);
|
|
121
|
+
return [
|
|
122
|
+
...original.filter((route) => !overrides.some((override) => collides(route, override))),
|
|
123
|
+
...overrides,
|
|
124
|
+
];
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1tZWR1c2EtbWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvZGlzYWJsZS1tZWR1c2EtbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBNkVBLDREQXlCQztBQWtCRCwwREFXQztBQW5JRCwyQkFBNEM7QUFDNUMsK0JBQW9DO0FBQ3BDLDhEQUFvQztBQUNwQyxzREFBNEI7QUFHNUIsNEVBQTRFO0FBQzVFLDRFQUE0RTtBQUM1RSx5RUFBeUU7QUFDekUsNkdBQTZHO0FBQzdHLDJFQUEyRTtBQUMzRSwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0UsNkVBQTZFO0FBQzdFLHdFQUF3RTtBQUN4RSx3Q0FBd0M7QUFDeEMsRUFBRTtBQUNGLG9FQUFvRTtBQUNwRSx3RUFBd0U7QUFDeEUsMEVBQTBFO0FBQzFFLGdCQUFnQjtBQUVoQixNQUFNLFNBQVMsR0FBYTtJQUMxQix3Q0FBd0M7SUFDeEMsMENBQTBDO0lBQzFDLHlDQUF5QztJQUN6QywyQ0FBMkM7SUFDM0Msa0RBQWtEO0lBQ2xELDJDQUEyQztJQUMzQywrQ0FBK0M7SUFDL0Msc0NBQXNDO0lBQ3RDLGdEQUFnRDtJQUNoRCxpREFBaUQ7SUFDakQsK0NBQStDO0lBQy9DLDRDQUE0QztJQUM1QywrQ0FBK0M7SUFDL0Msd0NBQXdDO0lBQ3hDLGtEQUFrRDtJQUNsRCxxQ0FBcUM7Q0FDdEMsQ0FBQTtBQUVZLFFBQUEsb0JBQW9CLEdBQThCLEVBQUUsQ0FBQTtBQUVqRSxTQUFTLGNBQWM7SUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUU5QixNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFVLEVBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUM1QyxNQUFNLE9BQU8sR0FBRyxpQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFBLGNBQU8sRUFBQyxLQUFL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
|
package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.d.ts
CHANGED
|
@@ -8,10 +8,17 @@ export declare const refreshOrderCommissionLinesWorkflowId = "refresh-order-comm
|
|
|
8
8
|
* `setCommissionContext` receives the contexts built from the orders. A
|
|
9
9
|
* handler returns `new StepResponse(contexts)` with `additional_context`
|
|
10
10
|
* filled in, or nothing to leave the contexts as they are.
|
|
11
|
+
*
|
|
12
|
+
* `commissionLinesUpserted` runs after the lines are written, inside the same
|
|
13
|
+
* transaction, so a consumer's failure rolls the refresh back.
|
|
11
14
|
*/
|
|
12
15
|
export type RefreshOrderCommissionLinesWorkflowHooks = [
|
|
13
16
|
Hook<"setCommissionContext", {
|
|
14
17
|
contexts: CommissionCalculationContext[];
|
|
15
|
-
}, CommissionCalculationContext[] | void
|
|
18
|
+
}, CommissionCalculationContext[] | void>,
|
|
19
|
+
Hook<"commissionLinesUpserted", {
|
|
20
|
+
order_ids: string[];
|
|
21
|
+
commission_lines: CommissionLineDTO[];
|
|
22
|
+
}, unknown>
|
|
16
23
|
];
|
|
17
24
|
export declare const refreshOrderCommissionLinesWorkflow: ReturnWorkflow<RefreshOrderCommissionLinesWorkflowInput, CommissionLineDTO[], RefreshOrderCommissionLinesWorkflowHooks>;
|
|
@@ -89,8 +89,12 @@ exports.refreshOrderCommissionLinesWorkflow = (0, workflows_sdk_1.createWorkflow
|
|
|
89
89
|
const upsertedCommissionLines = (0, steps_1.upsertCommissionLinesStep)({
|
|
90
90
|
commission_lines: commissionLines,
|
|
91
91
|
});
|
|
92
|
+
const commissionLinesUpserted = (0, workflows_sdk_1.createHook)("commissionLinesUpserted", {
|
|
93
|
+
order_ids: input.order_ids,
|
|
94
|
+
commission_lines: upsertedCommissionLines,
|
|
95
|
+
});
|
|
92
96
|
return new workflows_sdk_1.WorkflowResponse(upsertedCommissionLines, {
|
|
93
|
-
hooks: [setCommissionContext],
|
|
97
|
+
hooks: [setCommissionContext, commissionLinesUpserted],
|
|
94
98
|
});
|
|
95
99
|
});
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC1vcmRlci1jb21taXNzaW9uLWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jb21taXNzaW9uL3dvcmtmbG93cy9yZWZyZXNoLW9yZGVyLWNvbW1pc3Npb24tbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBUTBDO0FBQzFDLDREQUErRDtBQU0vRCxvQ0FBNEU7QUFFNUUsTUFBTSxXQUFXLEdBQUc7SUFDbEIsSUFBSTtJQUNKLFFBQVE7SUFDUixTQUFTO0lBQ1QsZUFBZTtJQUNmLE9BQU87SUFDUCxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsVUFBVTtJQUNWLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG1DQUFtQztJQUNuQyx1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMscUNBQXFDO0lBQ3JDLG9CQUFvQjtDQUNyQixDQUFBO0FBTVksUUFBQSxxQ0FBcUMsR0FBRyxnQ0FBZ0MsQ0FBQTtBQXVCeEUsUUFBQSxtQ0FBbUMsR0FJNUMsSUFBQSw4QkFBYyxFQUNoQiw2Q0FBcUMsRUFDckMsVUFDRSxLQUE2RDtJQUU3RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRTtRQUNo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
|
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./create-offers"), exports);
|
|
18
18
|
__exportStar(require("./update-offers"), exports);
|
|
19
|
+
__exportStar(require("./upsert-offer-prices"), exports);
|
|
19
20
|
__exportStar(require("./delete-offers"), exports);
|
|
20
21
|
__exportStar(require("./batch-offer-inventory-items"), exports);
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29mZmVyL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQStCO0FBQy9CLGtEQUErQjtBQUMvQix3REFBcUM7QUFDckMsa0RBQStCO0FBQy9CLGdFQUE2QyJ9
|
|
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateOffersWorkflow = exports.updateOffersWorkflowId = void 0;
|
|
4
4
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
5
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
-
const types_1 = require("@mercurjs/types");
|
|
8
6
|
const steps_1 = require("../steps");
|
|
9
|
-
const
|
|
7
|
+
const upsert_offer_prices_1 = require("./upsert-offer-prices");
|
|
10
8
|
const events_1 = require("../../events");
|
|
11
9
|
exports.updateOffersWorkflowId = "update-offers";
|
|
12
10
|
exports.updateOffersWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.updateOffersWorkflowId, function (input) {
|
|
@@ -21,140 +19,13 @@ exports.updateOffersWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.updat
|
|
|
21
19
|
metadata: o.metadata,
|
|
22
20
|
})));
|
|
23
21
|
const offers = (0, steps_1.updateOffersStep)(rowUpdates);
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"variant_id",
|
|
32
|
-
"product_variant.price_set.id",
|
|
33
|
-
"prices.id",
|
|
34
|
-
"prices.amount",
|
|
35
|
-
"prices.currency_code",
|
|
36
|
-
"prices.min_quantity",
|
|
37
|
-
"prices.max_quantity",
|
|
38
|
-
"prices.price_rules.attribute",
|
|
39
|
-
"prices.price_rules.value",
|
|
40
|
-
],
|
|
41
|
-
filters: { id: offersWithPriceUpdates },
|
|
42
|
-
}).config({ name: "get-offer-prices" });
|
|
43
|
-
const pricingDiff = (0, workflows_sdk_1.transform)({ input, offerRows }, ({ input, offerRows }) => {
|
|
44
|
-
const offerById = new Map(offerRows.map((o) => [o.id, o]));
|
|
45
|
-
const priceSetUpserts = [];
|
|
46
|
-
const toRemoveIds = [];
|
|
47
|
-
const newPriceOwners = [];
|
|
48
|
-
const removedLinks = [];
|
|
49
|
-
for (const offer of input.offers) {
|
|
50
|
-
if (!Array.isArray(offer.prices)) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
const loaded = offerById.get(offer.id);
|
|
54
|
-
if (!loaded) {
|
|
55
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Offer ${offer.id} was not found`);
|
|
56
|
-
}
|
|
57
|
-
const priceSetId = loaded.product_variant?.price_set?.id;
|
|
58
|
-
if (!priceSetId) {
|
|
59
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Variant ${loaded.variant_id} has no PriceSet`);
|
|
60
|
-
}
|
|
61
|
-
// `prices` comes through the offer <-> price link, so a link row
|
|
62
|
-
// whose price no longer resolves yields a null element. Such a
|
|
63
|
-
// dangling link takes no part in the diff.
|
|
64
|
-
const ownedIds = new Set((loaded.prices ?? [])
|
|
65
|
-
.filter((p) => !!p?.id)
|
|
66
|
-
.map((p) => p.id));
|
|
67
|
-
const incomingIds = offer.prices
|
|
68
|
-
.map((p) => p.id)
|
|
69
|
-
.filter((id) => !!id);
|
|
70
|
-
(0, utils_2.assertOfferPriceOwnership)({
|
|
71
|
-
offer_id: offer.id,
|
|
72
|
-
price_ids: incomingIds,
|
|
73
|
-
owned_price_ids: ownedIds,
|
|
74
|
-
});
|
|
75
|
-
const keepIds = new Set(incomingIds);
|
|
76
|
-
for (const ownedId of ownedIds) {
|
|
77
|
-
if (!keepIds.has(ownedId)) {
|
|
78
|
-
toRemoveIds.push(ownedId);
|
|
79
|
-
removedLinks.push({
|
|
80
|
-
[types_1.MercurModules.OFFER]: { offer_id: offer.id },
|
|
81
|
-
[utils_1.Modules.PRICING]: { price_id: ownedId },
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
const upsertPrices = offer.prices.map((p) => {
|
|
86
|
-
const base = {
|
|
87
|
-
amount: p.amount,
|
|
88
|
-
currency_code: p.currency_code,
|
|
89
|
-
rules: { ...(p.rules ?? {}), offer_id: offer.id },
|
|
90
|
-
};
|
|
91
|
-
if (p.id) {
|
|
92
|
-
base.id = p.id;
|
|
93
|
-
}
|
|
94
|
-
if (p.min_quantity !== undefined && p.min_quantity !== null) {
|
|
95
|
-
base.min_quantity = p.min_quantity;
|
|
96
|
-
}
|
|
97
|
-
if (p.max_quantity !== undefined && p.max_quantity !== null) {
|
|
98
|
-
base.max_quantity = p.max_quantity;
|
|
99
|
-
}
|
|
100
|
-
return base;
|
|
101
|
-
});
|
|
102
|
-
const newRowCount = offer.prices.filter((p) => !p.id).length;
|
|
103
|
-
priceSetUpserts.push({
|
|
104
|
-
id: priceSetId,
|
|
105
|
-
prices: upsertPrices,
|
|
106
|
-
});
|
|
107
|
-
if (newRowCount > 0) {
|
|
108
|
-
newPriceOwners.push({
|
|
109
|
-
offer_id: offer.id,
|
|
110
|
-
priceSetId,
|
|
111
|
-
newRowCount,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
price_sets: priceSetUpserts,
|
|
117
|
-
toRemoveIds,
|
|
118
|
-
newPriceOwners,
|
|
119
|
-
removedLinks,
|
|
120
|
-
};
|
|
121
|
-
});
|
|
122
|
-
const priceSetsPayload = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => ({ price_sets: pricingDiff.price_sets }));
|
|
123
|
-
const upsertedPriceSets = (0, core_flows_1.updatePriceSetsStep)(priceSetsPayload);
|
|
124
|
-
const toRemoveIds = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => pricingDiff.toRemoveIds);
|
|
125
|
-
const removedLinks = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => pricingDiff.removedLinks);
|
|
126
|
-
// Dismiss the links before deleting the prices: a failure between the two
|
|
127
|
-
// then leaves an orphaned price rather than a dangling link, which would
|
|
128
|
-
// make the offer permanently unupdatable.
|
|
129
|
-
(0, core_flows_1.dismissRemoteLinkStep)(removedLinks).config({
|
|
130
|
-
name: "dismiss-removed-offer-price-links",
|
|
131
|
-
});
|
|
132
|
-
(0, steps_1.removeOfferPricesStep)(toRemoveIds);
|
|
133
|
-
const newLinks = (0, workflows_sdk_1.transform)({ pricingDiff, upsertedPriceSets }, ({ pricingDiff, upsertedPriceSets }) => {
|
|
134
|
-
if (!pricingDiff.newPriceOwners.length) {
|
|
135
|
-
return [];
|
|
136
|
-
}
|
|
137
|
-
const priceSetById = new Map((upsertedPriceSets ?? []).map((ps) => [ps.id, ps]));
|
|
138
|
-
const links = [];
|
|
139
|
-
for (const owner of pricingDiff.newPriceOwners) {
|
|
140
|
-
const set = priceSetById.get(owner.priceSetId);
|
|
141
|
-
if (!set)
|
|
142
|
-
continue;
|
|
143
|
-
const matchingPrices = (set.prices ?? []).filter((price) => {
|
|
144
|
-
const rules = price.price_rules ?? [];
|
|
145
|
-
return rules.some((r) => r.attribute === "offer_id" && r.value === owner.offer_id);
|
|
146
|
-
});
|
|
147
|
-
for (const price of matchingPrices) {
|
|
148
|
-
links.push({
|
|
149
|
-
[types_1.MercurModules.OFFER]: { offer_id: owner.offer_id },
|
|
150
|
-
[utils_1.Modules.PRICING]: { price_id: price.id },
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return links;
|
|
155
|
-
});
|
|
156
|
-
(0, core_flows_1.createRemoteLinkStep)(newLinks).config({
|
|
157
|
-
name: "create-new-offer-price-links",
|
|
22
|
+
const offerPrices = (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
|
|
23
|
+
offers: input.offers
|
|
24
|
+
.filter((o) => Array.isArray(o.prices))
|
|
25
|
+
.map((o) => ({ id: o.id, prices: o.prices ?? [] })),
|
|
26
|
+
}));
|
|
27
|
+
(0, workflows_sdk_1.when)({ offerPrices }, ({ offerPrices }) => offerPrices.offers.length > 0).then(() => {
|
|
28
|
+
upsert_offer_prices_1.upsertOfferPricesWorkflow.runAsStep({ input: offerPrices });
|
|
158
29
|
});
|
|
159
30
|
const eventData = (0, workflows_sdk_1.transform)({ offers }, ({ offers }) => offers.map((o) => ({ id: o.id, product_id: o.product_id })));
|
|
160
31
|
(0, core_flows_1.emitEventStep)({
|
|
@@ -169,4 +40,4 @@ exports.updateOffersWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.updat
|
|
|
169
40
|
hooks: [validate, offersUpdated],
|
|
170
41
|
});
|
|
171
42
|
});
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW9mZmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvb2ZmZXIvd29ya2Zsb3dzL3VwZGF0ZS1vZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBUTBDO0FBRTFDLDREQUEyRDtBQUczRCxvQ0FBMkM7QUFDM0MsK0RBQWlFO0FBQ2pFLHlDQUFrRDtBQWtCckMsUUFBQSxzQkFBc0IsR0FBRyxlQUFlLENBQUE7QUFFeEMsUUFBQSxvQkFBb0IsR0FJN0IsSUFBQSw4QkFBYyxFQUNoQiw4QkFBc0IsRUFDdEIsVUFBVSxLQUFnQztJQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFVLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUVsRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFTLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ1IsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHO1FBQ1YsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQjtRQUMxQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsZ0JBQWdCO1FBQ3BDLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZTtRQUNsQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsZ0JBQWdCO1FBQ3BDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtLQUNyQixDQUFDLENBQUMsQ0FDSixDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxVQUFVLENBQUMsQ0FBQTtJQUUzQyxNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2FBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztLQUN0RCxDQUFDLENBQUMsQ0FBQTtJQUVILElBQUEsb0JBQUksRUFBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM1RSxHQUFHLEVBQUU7UUFDSCwrQ0FBeUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUM3RCxDQUFDLENBQ0YsQ0FBQTtJQUVELE1BQU0sU0FBUyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FDNUQsQ0FBQTtJQUVELElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSw0QkFBbUIsQ0FBQyxPQUFPO1FBQ3RDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUVGLE1BQU0sYUFBYSxHQUFHLElBQUEsMEJBQVUsRUFBQyxlQUFlLEVBQUU7UUFDaEQsTUFBTTtRQUNOLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtLQUN2QyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxFQUFFO1FBQ2xDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUM7S0FDakMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UpsertOfferPriceDTO } from "@mercurjs/types";
|
|
2
|
+
export type UpsertOfferPricesWorkflowInput = {
|
|
3
|
+
offers: {
|
|
4
|
+
id: string;
|
|
5
|
+
prices: UpsertOfferPriceDTO[];
|
|
6
|
+
}[];
|
|
7
|
+
};
|
|
8
|
+
export declare const upsertOfferPricesWorkflowId = "upsert-offer-prices";
|
|
9
|
+
/**
|
|
10
|
+
* Replaces each offer's own prices. Offers on the same variant share its
|
|
11
|
+
* PriceSet, so prices are upserted by id instead of rewriting the set, which
|
|
12
|
+
* would drop the prices of every other offer on the variant.
|
|
13
|
+
*/
|
|
14
|
+
export declare const upsertOfferPricesWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<UpsertOfferPricesWorkflowInput, import("../steps").AddOfferPricesStepOutput, []>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertOfferPricesWorkflow = exports.upsertOfferPricesWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const types_1 = require("@mercurjs/types");
|
|
8
|
+
const steps_1 = require("../steps");
|
|
9
|
+
const utils_2 = require("../utils");
|
|
10
|
+
exports.upsertOfferPricesWorkflowId = "upsert-offer-prices";
|
|
11
|
+
/**
|
|
12
|
+
* Replaces each offer's own prices. Offers on the same variant share its
|
|
13
|
+
* PriceSet, so prices are upserted by id instead of rewriting the set, which
|
|
14
|
+
* would drop the prices of every other offer on the variant.
|
|
15
|
+
*/
|
|
16
|
+
exports.upsertOfferPricesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.upsertOfferPricesWorkflowId, function (input) {
|
|
17
|
+
const offerIds = (0, workflows_sdk_1.transform)({ input }, ({ input }) => input.offers.map((o) => o.id));
|
|
18
|
+
const { data: offerRows } = (0, core_flows_1.useQueryGraphStep)({
|
|
19
|
+
entity: "offer",
|
|
20
|
+
fields: [
|
|
21
|
+
"id",
|
|
22
|
+
"variant_id",
|
|
23
|
+
"product_variant.price_set.id",
|
|
24
|
+
"prices.id",
|
|
25
|
+
"prices.amount",
|
|
26
|
+
"prices.currency_code",
|
|
27
|
+
"prices.min_quantity",
|
|
28
|
+
"prices.max_quantity",
|
|
29
|
+
"prices.price_rules.attribute",
|
|
30
|
+
"prices.price_rules.value",
|
|
31
|
+
],
|
|
32
|
+
filters: { id: offerIds },
|
|
33
|
+
}).config({ name: "get-offer-prices" });
|
|
34
|
+
const pricingDiff = (0, workflows_sdk_1.transform)({ input, offerRows }, ({ input, offerRows }) => {
|
|
35
|
+
const offerById = new Map(offerRows.map((o) => [o.id, o]));
|
|
36
|
+
const addPricesPayload = [];
|
|
37
|
+
const toRemoveIds = [];
|
|
38
|
+
const removedLinks = [];
|
|
39
|
+
for (const offer of input.offers) {
|
|
40
|
+
const loaded = offerById.get(offer.id);
|
|
41
|
+
if (!loaded) {
|
|
42
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Offer ${offer.id} was not found`);
|
|
43
|
+
}
|
|
44
|
+
const priceSetId = loaded.product_variant?.price_set?.id;
|
|
45
|
+
if (!priceSetId) {
|
|
46
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Variant ${loaded.variant_id} has no PriceSet`);
|
|
47
|
+
}
|
|
48
|
+
// `prices` comes through the offer <-> price link, so a link row
|
|
49
|
+
// whose price no longer resolves yields a null element. Such a
|
|
50
|
+
// dangling link takes no part in the diff.
|
|
51
|
+
const ownedIds = new Set((loaded.prices ?? [])
|
|
52
|
+
.filter((p) => !!p?.id)
|
|
53
|
+
.map((p) => p.id));
|
|
54
|
+
const incomingIds = offer.prices
|
|
55
|
+
.map((p) => p.id)
|
|
56
|
+
.filter((id) => !!id);
|
|
57
|
+
(0, utils_2.assertOfferPriceOwnership)({
|
|
58
|
+
offer_id: offer.id,
|
|
59
|
+
price_ids: incomingIds,
|
|
60
|
+
owned_price_ids: ownedIds,
|
|
61
|
+
});
|
|
62
|
+
const keepIds = new Set(incomingIds);
|
|
63
|
+
for (const ownedId of ownedIds) {
|
|
64
|
+
if (!keepIds.has(ownedId)) {
|
|
65
|
+
toRemoveIds.push(ownedId);
|
|
66
|
+
removedLinks.push({
|
|
67
|
+
[types_1.MercurModules.OFFER]: { offer_id: offer.id },
|
|
68
|
+
[utils_1.Modules.PRICING]: { price_id: ownedId },
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const upsertPrices = offer.prices.map((p) => {
|
|
73
|
+
const base = {
|
|
74
|
+
amount: p.amount,
|
|
75
|
+
currency_code: p.currency_code,
|
|
76
|
+
rules: { ...(p.rules ?? {}), offer_id: offer.id },
|
|
77
|
+
};
|
|
78
|
+
if (p.id) {
|
|
79
|
+
base.id = p.id;
|
|
80
|
+
}
|
|
81
|
+
if (p.min_quantity !== undefined && p.min_quantity !== null) {
|
|
82
|
+
base.min_quantity = p.min_quantity;
|
|
83
|
+
}
|
|
84
|
+
if (p.max_quantity !== undefined && p.max_quantity !== null) {
|
|
85
|
+
base.max_quantity = p.max_quantity;
|
|
86
|
+
}
|
|
87
|
+
return base;
|
|
88
|
+
});
|
|
89
|
+
if (upsertPrices.length) {
|
|
90
|
+
addPricesPayload.push({
|
|
91
|
+
priceSetId,
|
|
92
|
+
prices: upsertPrices,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
addPricesPayload,
|
|
98
|
+
toRemoveIds,
|
|
99
|
+
removedLinks,
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
const toRemoveIds = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => pricingDiff.toRemoveIds);
|
|
103
|
+
const removedLinks = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => pricingDiff.removedLinks);
|
|
104
|
+
// Dismiss the links before deleting the prices: a failure between the two
|
|
105
|
+
// then leaves an orphaned price rather than a dangling link, which would
|
|
106
|
+
// make the offer permanently unupdatable.
|
|
107
|
+
(0, core_flows_1.dismissRemoteLinkStep)(removedLinks).config({
|
|
108
|
+
name: "dismiss-removed-offer-price-links",
|
|
109
|
+
});
|
|
110
|
+
(0, steps_1.removeOfferPricesStep)(toRemoveIds);
|
|
111
|
+
const addPricesPayload = (0, workflows_sdk_1.transform)({ pricingDiff }, ({ pricingDiff }) => pricingDiff.addPricesPayload);
|
|
112
|
+
const addedPrices = (0, steps_1.addOfferPricesStep)(addPricesPayload);
|
|
113
|
+
const newLinks = (0, workflows_sdk_1.transform)({ addedPrices }, ({ addedPrices }) => {
|
|
114
|
+
const links = [];
|
|
115
|
+
for (const entry of addedPrices) {
|
|
116
|
+
for (const priceId of entry.price_ids) {
|
|
117
|
+
links.push({
|
|
118
|
+
[types_1.MercurModules.OFFER]: { offer_id: entry.offer_id },
|
|
119
|
+
[utils_1.Modules.PRICING]: { price_id: priceId },
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return links;
|
|
124
|
+
});
|
|
125
|
+
(0, core_flows_1.createRemoteLinkStep)(newLinks).config({
|
|
126
|
+
name: "create-new-offer-price-links",
|
|
127
|
+
});
|
|
128
|
+
return new workflows_sdk_1.WorkflowResponse(addedPrices);
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LW9mZmVyLXByaWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvb2ZmZXIvd29ya2Zsb3dzL3Vwc2VydC1vZmZlci1wcmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBRTFDLDREQUlvQztBQUNwQyxxREFBZ0U7QUFDaEUsMkNBQW9FO0FBRXBFLG9DQUlpQjtBQUNqQixvQ0FBb0Q7QUFTdkMsUUFBQSwyQkFBMkIsR0FBRyxxQkFBcUIsQ0FBQTtBQUVoRTs7OztHQUlHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELG1DQUEyQixFQUMzQixVQUFVLEtBQW1EO0lBQzNELE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQ2xELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzlCLENBQUE7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osWUFBWTtZQUNaLDhCQUE4QjtZQUM5QixXQUFXO1lBQ1gsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5QiwwQkFBMEI7U0FDM0I7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBRXZDLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQVMsRUFDM0IsRUFB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
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import { OrderPreviewDTO } from "@medusajs/framework/types";
|
|
1
|
+
import { BigNumberInput, OrderPreviewDTO } from "@medusajs/framework/types";
|
|
2
|
+
import { Hook } from "@medusajs/framework/workflows-sdk";
|
|
2
3
|
export type ConfirmReceiveReturnRequestWorkflowInput = {
|
|
3
4
|
return_id: string;
|
|
4
5
|
confirmed_by?: string;
|
|
5
6
|
};
|
|
6
7
|
export declare const confirmReturnReceiveWorkflowId = "mercur-confirm-return-receive";
|
|
7
|
-
export
|
|
8
|
+
export type ConfirmReturnReceiveWorkflowHooks = [
|
|
9
|
+
Hook<"returnReceived", {
|
|
10
|
+
order_id: string;
|
|
11
|
+
return_id: string;
|
|
12
|
+
seller_id: string | null;
|
|
13
|
+
items: {
|
|
14
|
+
id: string;
|
|
15
|
+
received_quantity: BigNumberInput;
|
|
16
|
+
damaged_quantity: BigNumberInput;
|
|
17
|
+
}[];
|
|
18
|
+
}, unknown>
|
|
19
|
+
];
|
|
20
|
+
export declare const confirmReturnReceiveWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ConfirmReceiveReturnRequestWorkflowInput, OrderPreviewDTO, ConfirmReturnReceiveWorkflowHooks>;
|