@medusajs/core-flows 3.0.0-snapshot-20251216135612 → 3.0.0-snapshot-20260102125810
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/dist/auth/workflows/generate-reset-password-token.d.ts +1 -0
- package/dist/auth/workflows/generate-reset-password-token.d.ts.map +1 -1
- package/dist/auth/workflows/generate-reset-password-token.js +1 -0
- package/dist/auth/workflows/generate-reset-password-token.js.map +1 -1
- package/dist/auth/workflows/index.d.ts +1 -0
- package/dist/auth/workflows/index.d.ts.map +1 -1
- package/dist/auth/workflows/index.js +1 -0
- package/dist/auth/workflows/index.js.map +1 -1
- package/dist/auth/workflows/set-auth-app-metadata.d.ts +40 -0
- package/dist/auth/workflows/set-auth-app-metadata.d.ts.map +1 -0
- package/dist/auth/workflows/set-auth-app-metadata.js +47 -0
- package/dist/auth/workflows/set-auth-app-metadata.js.map +1 -0
- package/dist/cart/steps/update-cart-items-translations.js +1 -1
- package/dist/cart/steps/update-cart-items-translations.js.map +1 -1
- package/dist/cart/utils/fields.d.ts.map +1 -1
- package/dist/cart/utils/fields.js +2 -0
- package/dist/cart/utils/fields.js.map +1 -1
- package/dist/cart/workflows/list-shipping-options-for-cart-with-pricing.d.ts.map +1 -1
- package/dist/cart/workflows/list-shipping-options-for-cart-with-pricing.js +6 -1
- package/dist/cart/workflows/list-shipping-options-for-cart-with-pricing.js.map +1 -1
- package/dist/cart/workflows/list-shipping-options-for-cart.d.ts +1 -1
- package/dist/cart/workflows/list-shipping-options-for-cart.d.ts.map +1 -1
- package/dist/cart/workflows/list-shipping-options-for-cart.js +6 -1
- package/dist/cart/workflows/list-shipping-options-for-cart.js.map +1 -1
- package/dist/cart/workflows/refresh-cart-shipping-methods.d.ts.map +1 -1
- package/dist/cart/workflows/refresh-cart-shipping-methods.js +1 -0
- package/dist/cart/workflows/refresh-cart-shipping-methods.js.map +1 -1
- package/dist/common/steps/get-translated-line-items.d.ts.map +1 -1
- package/dist/common/steps/get-translated-line-items.js.map +1 -1
- package/dist/common/steps/get-translated-shipping-option.d.ts +8 -0
- package/dist/common/steps/get-translated-shipping-option.d.ts.map +1 -0
- package/dist/common/steps/get-translated-shipping-option.js +15 -0
- package/dist/common/steps/get-translated-shipping-option.js.map +1 -0
- package/dist/common/utils/apply-translations-to-items.d.ts.map +1 -1
- package/dist/common/utils/apply-translations-to-items.js +1 -0
- package/dist/common/utils/apply-translations-to-items.js.map +1 -1
- package/dist/defaults/workflows/create-defaults.d.ts.map +1 -1
- package/dist/defaults/workflows/create-defaults.js +32 -0
- package/dist/defaults/workflows/create-defaults.js.map +1 -1
- package/dist/draft-order/utils/fields.d.ts.map +1 -1
- package/dist/draft-order/utils/fields.js +1 -0
- package/dist/draft-order/utils/fields.js.map +1 -1
- package/dist/draft-order/workflows/add-draft-order-shipping-methods.d.ts.map +1 -1
- package/dist/draft-order/workflows/add-draft-order-shipping-methods.js +6 -1
- package/dist/draft-order/workflows/add-draft-order-shipping-methods.js.map +1 -1
- package/dist/draft-order/workflows/update-draft-order.d.ts.map +1 -1
- package/dist/draft-order/workflows/update-draft-order.js +8 -2
- package/dist/draft-order/workflows/update-draft-order.js.map +1 -1
- package/dist/fulfillment/workflows/create-shipping-options.d.ts.map +1 -1
- package/dist/fulfillment/workflows/create-shipping-options.js +11 -1
- package/dist/fulfillment/workflows/create-shipping-options.js.map +1 -1
- package/dist/fulfillment/workflows/delete-shipping-options.d.ts.map +1 -1
- package/dist/fulfillment/workflows/delete-shipping-options.js +5 -1
- package/dist/fulfillment/workflows/delete-shipping-options.js.map +1 -1
- package/dist/fulfillment/workflows/update-shipping-options.d.ts.map +1 -1
- package/dist/fulfillment/workflows/update-shipping-options.js +8 -1
- package/dist/fulfillment/workflows/update-shipping-options.js.map +1 -1
- package/dist/order/steps/index.d.ts +1 -0
- package/dist/order/steps/index.d.ts.map +1 -1
- package/dist/order/steps/index.js +1 -0
- package/dist/order/steps/index.js.map +1 -1
- package/dist/order/steps/update-order-shipping-methods-translations.d.ts +8 -0
- package/dist/order/steps/update-order-shipping-methods-translations.d.ts.map +1 -0
- package/dist/order/steps/update-order-shipping-methods-translations.js +41 -0
- package/dist/order/steps/update-order-shipping-methods-translations.js.map +1 -0
- package/dist/order/workflows/claim/create-claim-shipping-method.d.ts.map +1 -1
- package/dist/order/workflows/claim/create-claim-shipping-method.js +14 -2
- package/dist/order/workflows/claim/create-claim-shipping-method.js.map +1 -1
- package/dist/order/workflows/exchange/create-exchange-shipping-method.d.ts.map +1 -1
- package/dist/order/workflows/exchange/create-exchange-shipping-method.js +7 -2
- package/dist/order/workflows/exchange/create-exchange-shipping-method.js.map +1 -1
- package/dist/order/workflows/order-edit/create-order-edit-shipping-method.d.ts.map +1 -1
- package/dist/order/workflows/order-edit/create-order-edit-shipping-method.js +7 -2
- package/dist/order/workflows/order-edit/create-order-edit-shipping-method.js.map +1 -1
- package/dist/order/workflows/return/create-return-shipping-method.d.ts.map +1 -1
- package/dist/order/workflows/return/create-return-shipping-method.js +7 -2
- package/dist/order/workflows/return/create-return-shipping-method.js.map +1 -1
- package/dist/order/workflows/update-order.d.ts.map +1 -1
- package/dist/order/workflows/update-order.js +8 -2
- package/dist/order/workflows/update-order.js.map +1 -1
- package/dist/product/steps/create-product-options.d.ts +11 -2
- package/dist/product/steps/create-product-options.d.ts.map +1 -1
- package/dist/product/steps/create-product-options.js +6 -1
- package/dist/product/steps/create-product-options.js.map +1 -1
- package/dist/product/steps/index.d.ts +2 -0
- package/dist/product/steps/index.d.ts.map +1 -1
- package/dist/product/steps/index.js +2 -0
- package/dist/product/steps/index.js.map +1 -1
- package/dist/product/steps/link-product-options-to-product.d.ts +41 -0
- package/dist/product/steps/link-product-options-to-product.d.ts.map +1 -0
- package/dist/product/steps/link-product-options-to-product.js +69 -0
- package/dist/product/steps/link-product-options-to-product.js.map +1 -0
- package/dist/product/steps/process-product-options-for-import.d.ts +51 -0
- package/dist/product/steps/process-product-options-for-import.d.ts.map +1 -0
- package/dist/product/steps/process-product-options-for-import.js +87 -0
- package/dist/product/steps/process-product-options-for-import.js.map +1 -0
- package/dist/product/steps/update-product-options.d.ts.map +1 -1
- package/dist/product/steps/update-product-options.js +6 -6
- package/dist/product/steps/update-product-options.js.map +1 -1
- package/dist/product/workflows/batch-products.d.ts.map +1 -1
- package/dist/product/workflows/batch-products.js +10 -4
- package/dist/product/workflows/batch-products.js.map +1 -1
- package/dist/product/workflows/create-and-link-product-options-to-product.d.ts +73 -0
- package/dist/product/workflows/create-and-link-product-options-to-product.d.ts.map +1 -0
- package/dist/product/workflows/create-and-link-product-options-to-product.js +96 -0
- package/dist/product/workflows/create-and-link-product-options-to-product.js.map +1 -0
- package/dist/product/workflows/create-product-options.d.ts +7 -1
- package/dist/product/workflows/create-product-options.d.ts.map +1 -1
- package/dist/product/workflows/create-product-options.js +7 -1
- package/dist/product/workflows/create-product-options.js.map +1 -1
- package/dist/product/workflows/delete-product-options.d.ts.map +1 -1
- package/dist/product/workflows/delete-product-options.js +2 -2
- package/dist/product/workflows/delete-product-options.js.map +1 -1
- package/dist/product/workflows/index.d.ts +1 -0
- package/dist/product/workflows/index.d.ts.map +1 -1
- package/dist/product/workflows/index.js +1 -0
- package/dist/product/workflows/index.js.map +1 -1
- package/dist/product/workflows/update-product-options.d.ts +1 -1
- package/dist/product/workflows/update-product-options.d.ts.map +1 -1
- package/dist/product/workflows/update-product-options.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -78,6 +78,9 @@ exports.updateOrderWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.update
|
|
|
78
78
|
"shipping_address.*",
|
|
79
79
|
"billing_address.*",
|
|
80
80
|
"metadata",
|
|
81
|
+
"shipping_methods.id",
|
|
82
|
+
"shipping_methods.name",
|
|
83
|
+
"shipping_methods.shipping_option_id",
|
|
81
84
|
],
|
|
82
85
|
filters: { id: input.id },
|
|
83
86
|
options: { throwIfKeyNotFound: true },
|
|
@@ -183,10 +186,13 @@ exports.updateOrderWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.update
|
|
|
183
186
|
(0, workflows_sdk_1.when)("locale-changed", { input, order }, ({ input, order }) => {
|
|
184
187
|
return !!input.locale && input.locale !== order.locale;
|
|
185
188
|
}).then(() => {
|
|
186
|
-
(0, steps_1.updateOrderItemsTranslationsStep)({
|
|
189
|
+
(0, workflows_sdk_1.parallelize)((0, steps_1.updateOrderItemsTranslationsStep)({
|
|
187
190
|
order_id: input.id,
|
|
188
191
|
locale: input.locale,
|
|
189
|
-
})
|
|
192
|
+
}), (0, steps_1.updateOrderShippingMethodsTranslationsStep)({
|
|
193
|
+
locale: input.locale,
|
|
194
|
+
shippingMethods: order.shipping_methods,
|
|
195
|
+
}));
|
|
190
196
|
});
|
|
191
197
|
(0, common_1.emitEventStep)({
|
|
192
198
|
eventName: utils_1.OrderWorkflowEvents.UPDATED,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-order.js","sourceRoot":"","sources":["../../../src/order/workflows/update-order.ts"],"names":[],"mappings":";;;AAMA,qDAIkC;AAClC,
|
|
1
|
+
{"version":3,"file":"update-order.js","sourceRoot":"","sources":["../../../src/order/workflows/update-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { ProductTypes } from "@medusajs/framework/types";
|
|
2
|
+
/**
|
|
3
|
+
* The data to create one or more product options.
|
|
4
|
+
*/
|
|
5
|
+
export type CreateProductOptionsStepInput = ProductTypes.CreateProductOptionDTO[];
|
|
2
6
|
export declare const createProductOptionsStepId = "create-product-options";
|
|
3
7
|
/**
|
|
4
8
|
* This step creates one or more product options.
|
|
@@ -6,8 +10,13 @@ export declare const createProductOptionsStepId = "create-product-options";
|
|
|
6
10
|
* @example
|
|
7
11
|
* const data = createProductOptionsStep([{
|
|
8
12
|
* title: "Size",
|
|
9
|
-
* values: ["S", "M", "L"]
|
|
13
|
+
* values: ["S", "M", "L"],
|
|
14
|
+
* ranks: {
|
|
15
|
+
* "S": 2,
|
|
16
|
+
* "M": 1,
|
|
17
|
+
* "L": 3
|
|
18
|
+
* }
|
|
10
19
|
* }])
|
|
11
20
|
*/
|
|
12
|
-
export declare const createProductOptionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<
|
|
21
|
+
export declare const createProductOptionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateProductOptionsStepInput, ProductTypes.ProductOptionDTO[]>;
|
|
13
22
|
//# sourceMappingURL=create-product-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-product-options.d.ts","sourceRoot":"","sources":["../../../src/product/steps/create-product-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,2BAA2B,CAAA;AAIlC,eAAO,MAAM,0BAA0B,2BAA2B,CAAA;AAClE
|
|
1
|
+
{"version":3,"file":"create-product-options.d.ts","sourceRoot":"","sources":["../../../src/product/steps/create-product-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,2BAA2B,CAAA;AAIlC;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAA;AAEjF,eAAO,MAAM,0BAA0B,2BAA2B,CAAA;AAClE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,0HAoBpC,CAAA"}
|
|
@@ -10,7 +10,12 @@ exports.createProductOptionsStepId = "create-product-options";
|
|
|
10
10
|
* @example
|
|
11
11
|
* const data = createProductOptionsStep([{
|
|
12
12
|
* title: "Size",
|
|
13
|
-
* values: ["S", "M", "L"]
|
|
13
|
+
* values: ["S", "M", "L"],
|
|
14
|
+
* ranks: {
|
|
15
|
+
* "S": 2,
|
|
16
|
+
* "M": 1,
|
|
17
|
+
* "L": 3
|
|
18
|
+
* }
|
|
14
19
|
* }])
|
|
15
20
|
*/
|
|
16
21
|
exports.createProductOptionsStep = (0, workflows_sdk_1.createStep)(exports.createProductOptionsStepId, async (data, { container }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-product-options.js","sourceRoot":"","sources":["../../../src/product/steps/create-product-options.ts"],"names":[],"mappings":";;;AAIA,qDAAmD;AACnD,qEAA4E;
|
|
1
|
+
{"version":3,"file":"create-product-options.js","sourceRoot":"","sources":["../../../src/product/steps/create-product-options.ts"],"names":[],"mappings":";;;AAIA,qDAAmD;AACnD,qEAA4E;AAO/D,QAAA,0BAA0B,GAAG,wBAAwB,CAAA;AAClE;;;;;;;;;;;;;GAaG;AACU,QAAA,wBAAwB,GAAG,IAAA,0BAAU,EAChD,kCAA0B,EAC1B,KAAK,EAAE,IAAmC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACxD,OAAO,IAAI,4BAAY,CACrB,OAAO,EACP,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CACjD,CAAA;AACH,CAAC,EACD,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAClC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;AAChD,CAAC,CACF,CAAA"}
|
|
@@ -32,4 +32,6 @@ export * from "./get-variant-availability";
|
|
|
32
32
|
export * from "./normalize-products";
|
|
33
33
|
export * from "./normalize-products-to-chunks";
|
|
34
34
|
export * from "./process-import-chunks";
|
|
35
|
+
export * from "./link-product-options-to-product";
|
|
36
|
+
export * from "./process-product-options-for-import";
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/product/steps/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/product/steps/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oCAAoC,CAAA;AAClD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA"}
|
|
@@ -48,4 +48,6 @@ __exportStar(require("./get-variant-availability"), exports);
|
|
|
48
48
|
__exportStar(require("./normalize-products"), exports);
|
|
49
49
|
__exportStar(require("./normalize-products-to-chunks"), exports);
|
|
50
50
|
__exportStar(require("./process-import-chunks"), exports);
|
|
51
|
+
__exportStar(require("./link-product-options-to-product"), exports);
|
|
52
|
+
__exportStar(require("./process-product-options-for-import"), exports);
|
|
51
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/product/steps/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,0DAAuC;AACvC,+DAA4C;AAC5C,oDAAiC;AACjC,oDAAiC;AACjC,oDAAiC;AACjC,iDAA8B;AAC9B,qDAAkC;AAClC,gEAA6C;AAC7C,2DAAwC;AACxC,2DAAwC;AACxC,2DAAwC;AACxC,4DAAyC;AACzC,4DAAyC;AACzC,4DAAyC;AACzC,uDAAoC;AACpC,uDAAoC;AACpC,uDAAoC;AACpC,mEAAgD;AAChD,oEAAiD;AACjD,yDAAsC;AACtC,yDAAsC;AACtC,yDAAsC;AACtC,wDAAqC;AACrC,wDAAqC;AACrC,wDAAqC;AACrC,+DAA4C;AAC5C,yDAAsC;AACtC,sDAAmC;AACnC,qEAAkD;AAClD,6DAA0C;AAC1C,uDAAoC;AACpC,iEAA8C;AAC9C,0DAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/product/steps/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,0DAAuC;AACvC,+DAA4C;AAC5C,oDAAiC;AACjC,oDAAiC;AACjC,oDAAiC;AACjC,iDAA8B;AAC9B,qDAAkC;AAClC,gEAA6C;AAC7C,2DAAwC;AACxC,2DAAwC;AACxC,2DAAwC;AACxC,4DAAyC;AACzC,4DAAyC;AACzC,4DAAyC;AACzC,uDAAoC;AACpC,uDAAoC;AACpC,uDAAoC;AACpC,mEAAgD;AAChD,oEAAiD;AACjD,yDAAsC;AACtC,yDAAsC;AACtC,yDAAsC;AACtC,wDAAqC;AACrC,wDAAqC;AACrC,wDAAqC;AACrC,+DAA4C;AAC5C,yDAAsC;AACtC,sDAAmC;AACnC,qEAAkD;AAClD,6DAA0C;AAC1C,uDAAoC;AACpC,iEAA8C;AAC9C,0DAAuC;AACvC,oEAAiD;AACjD,uEAAoD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ProductTypes } from "@medusajs/framework/types";
|
|
2
|
+
/**
|
|
3
|
+
* The data to add/remove one or more product options to/from a product.
|
|
4
|
+
*/
|
|
5
|
+
export type LinkProductOptionsToProductStepInput = {
|
|
6
|
+
/**
|
|
7
|
+
* The product ID to add/remove the options to/from.
|
|
8
|
+
*/
|
|
9
|
+
product_id: string;
|
|
10
|
+
/**
|
|
11
|
+
* The product options to add to the product.
|
|
12
|
+
*/
|
|
13
|
+
add?: (string | Omit<ProductTypes.ProductOptionProductPair, "product_id">)[];
|
|
14
|
+
/**
|
|
15
|
+
* The product options to remove from the product.
|
|
16
|
+
*/
|
|
17
|
+
remove?: string[];
|
|
18
|
+
};
|
|
19
|
+
export declare const linkProductOptionsToProductStepId = "link-product-options-to-product";
|
|
20
|
+
/**
|
|
21
|
+
* This step manages options of a product. You can add or remove
|
|
22
|
+
* options from a product.
|
|
23
|
+
*
|
|
24
|
+
* @since 2.13.0
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const data = linkProductOptionsToProductStep({
|
|
28
|
+
* product_id: "prod_123",
|
|
29
|
+
* add: [
|
|
30
|
+
* "opt_123",
|
|
31
|
+
* {
|
|
32
|
+
* product_option_id: "opt_789",
|
|
33
|
+
* product_id: "prod_123",
|
|
34
|
+
* product_option_value_ids: ["optval_1", "optval_2"]
|
|
35
|
+
* }
|
|
36
|
+
* ],
|
|
37
|
+
* remove: ["opt_456"]
|
|
38
|
+
* })
|
|
39
|
+
*/
|
|
40
|
+
export declare const linkProductOptionsToProductStep: import("@medusajs/framework/workflows-sdk").StepFunction<LinkProductOptionsToProductStepInput, undefined>;
|
|
41
|
+
//# sourceMappingURL=link-product-options-to-product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-product-options-to-product.d.ts","sourceRoot":"","sources":["../../../src/product/steps/link-product-options-to-product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAI/E;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC,EAAE,CAAA;IAC5E;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iCAAiC,oCACX,CAAA;AACnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,2GAkD3C,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.linkProductOptionsToProductStep = exports.linkProductOptionsToProductStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.linkProductOptionsToProductStepId = "link-product-options-to-product";
|
|
7
|
+
/**
|
|
8
|
+
* This step manages options of a product. You can add or remove
|
|
9
|
+
* options from a product.
|
|
10
|
+
*
|
|
11
|
+
* @since 2.13.0
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const data = linkProductOptionsToProductStep({
|
|
15
|
+
* product_id: "prod_123",
|
|
16
|
+
* add: [
|
|
17
|
+
* "opt_123",
|
|
18
|
+
* {
|
|
19
|
+
* product_option_id: "opt_789",
|
|
20
|
+
* product_id: "prod_123",
|
|
21
|
+
* product_option_value_ids: ["optval_1", "optval_2"]
|
|
22
|
+
* }
|
|
23
|
+
* ],
|
|
24
|
+
* remove: ["opt_456"]
|
|
25
|
+
* })
|
|
26
|
+
*/
|
|
27
|
+
exports.linkProductOptionsToProductStep = (0, workflows_sdk_1.createStep)(exports.linkProductOptionsToProductStepId, async (input, { container }) => {
|
|
28
|
+
const service = container.resolve(utils_1.Modules.PRODUCT);
|
|
29
|
+
const toAdd = (input.add ?? []).map((option) => {
|
|
30
|
+
if (typeof option === "string") {
|
|
31
|
+
return {
|
|
32
|
+
product_option_id: option,
|
|
33
|
+
product_id: input.product_id,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
product_option_id: option.product_option_id,
|
|
38
|
+
product_id: input.product_id,
|
|
39
|
+
product_option_value_ids: option.product_option_value_ids,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
const toRemove = (input.remove ?? []).map((optionId) => {
|
|
43
|
+
return {
|
|
44
|
+
product_option_id: optionId,
|
|
45
|
+
product_id: input.product_id,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const promises = [];
|
|
49
|
+
if (toAdd.length) {
|
|
50
|
+
promises.push(service.addProductOptionToProduct(toAdd));
|
|
51
|
+
}
|
|
52
|
+
if (toRemove.length) {
|
|
53
|
+
promises.push(service.removeProductOptionFromProduct(toRemove));
|
|
54
|
+
}
|
|
55
|
+
await (0, utils_1.promiseAll)(promises);
|
|
56
|
+
return new workflows_sdk_1.StepResponse(void 0, { toAdd, toRemove });
|
|
57
|
+
}, async (prevData, { container }) => {
|
|
58
|
+
if (!prevData) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const service = container.resolve(utils_1.Modules.PRODUCT);
|
|
62
|
+
if (prevData.toAdd.length) {
|
|
63
|
+
await service.removeProductOptionFromProduct(prevData.toAdd);
|
|
64
|
+
}
|
|
65
|
+
if (prevData.toRemove.length) {
|
|
66
|
+
await service.addProductOptionToProduct(prevData.toRemove);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=link-product-options-to-product.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-product-options-to-product.js","sourceRoot":"","sources":["../../../src/product/steps/link-product-options-to-product.ts"],"names":[],"mappings":";;;AACA,qDAA+D;AAC/D,qEAA4E;AAoB/D,QAAA,iCAAiC,GAC5C,iCAAiC,CAAA;AACnC;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,+BAA+B,GAAG,IAAA,0BAAU,EACvD,yCAAiC,EACjC,KAAK,EAAE,KAA2C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;gBACL,iBAAiB,EAAE,MAAM;gBACzB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAA;QACH,CAAC;QACD,OAAO;YACL,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;SAC1D,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrD,OAAO;YACL,iBAAiB,EAAE,QAAQ;YAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAmB,EAAE,CAAA;IACnC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAA;IAE1B,OAAO,IAAI,4BAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtD,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC,CACF,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ProductTypes, UpdateProductWorkflowInputDTO } from "@medusajs/framework/types";
|
|
2
|
+
export declare const processProductOptionsForImportStepId = "process-product-options-for-import";
|
|
3
|
+
/**
|
|
4
|
+
* The data to process products with options during import.
|
|
5
|
+
*/
|
|
6
|
+
export type ProcessProductOptionsForImportInput = {
|
|
7
|
+
/**
|
|
8
|
+
* The products to process. Each product can optionally have an `options` field
|
|
9
|
+
* containing the product options to create.
|
|
10
|
+
*/
|
|
11
|
+
products: (Omit<UpdateProductWorkflowInputDTO, "option_ids"> & {
|
|
12
|
+
/**
|
|
13
|
+
* The product options to create for the product.
|
|
14
|
+
*/
|
|
15
|
+
options?: ProductTypes.CreateProductOptionDTO[];
|
|
16
|
+
})[];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* This step processes products with options during import. It performs the following actions:
|
|
20
|
+
*
|
|
21
|
+
* 1. Creates product options.
|
|
22
|
+
* 2. Transforms `product.options` in the input to `product.option_ids`.
|
|
23
|
+
* 3. Transforms variant options from `{title: value}` to `{optionId: value}`.
|
|
24
|
+
*
|
|
25
|
+
* @since 2.13.0
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const data = processProductOptionsForImportStep({
|
|
29
|
+
* products: [
|
|
30
|
+
* {
|
|
31
|
+
* title: "T-Shirt",
|
|
32
|
+
* options: [
|
|
33
|
+
* {
|
|
34
|
+
* title: "Size",
|
|
35
|
+
* values: ["S", "M", "L"]
|
|
36
|
+
* }
|
|
37
|
+
* ],
|
|
38
|
+
* variants: [
|
|
39
|
+
* {
|
|
40
|
+
* title: "T-Shirt - Small",
|
|
41
|
+
* options: {
|
|
42
|
+
* Size: "S"
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
* ]
|
|
46
|
+
* }
|
|
47
|
+
* ]
|
|
48
|
+
* })
|
|
49
|
+
*/
|
|
50
|
+
export declare const processProductOptionsForImportStep: import("@medusajs/framework/workflows-sdk").StepFunction<ProcessProductOptionsForImportInput, UpdateProductWorkflowInputDTO[]>;
|
|
51
|
+
//# sourceMappingURL=process-product-options-for-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-product-options-for-import.d.ts","sourceRoot":"","sources":["../../../src/product/steps/process-product-options-for-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACZ,6BAA6B,EAC9B,MAAM,2BAA2B,CAAA;AAKlC,eAAO,MAAM,oCAAoC,uCACX,CAAA;AAEtC;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,YAAY,CAAC,GAAG;QAC7D;;WAEG;QACH,OAAO,CAAC,EAAE,YAAY,CAAC,sBAAsB,EAAE,CAAA;KAChD,CAAC,EAAE,CAAA;CACL,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kCAAkC,gIAyE9C,CAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processProductOptionsForImportStep = exports.processProductOptionsForImportStepId = 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("@medusajs/utils");
|
|
7
|
+
exports.processProductOptionsForImportStepId = "process-product-options-for-import";
|
|
8
|
+
/**
|
|
9
|
+
* This step processes products with options during import. It performs the following actions:
|
|
10
|
+
*
|
|
11
|
+
* 1. Creates product options.
|
|
12
|
+
* 2. Transforms `product.options` in the input to `product.option_ids`.
|
|
13
|
+
* 3. Transforms variant options from `{title: value}` to `{optionId: value}`.
|
|
14
|
+
*
|
|
15
|
+
* @since 2.13.0
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const data = processProductOptionsForImportStep({
|
|
19
|
+
* products: [
|
|
20
|
+
* {
|
|
21
|
+
* title: "T-Shirt",
|
|
22
|
+
* options: [
|
|
23
|
+
* {
|
|
24
|
+
* title: "Size",
|
|
25
|
+
* values: ["S", "M", "L"]
|
|
26
|
+
* }
|
|
27
|
+
* ],
|
|
28
|
+
* variants: [
|
|
29
|
+
* {
|
|
30
|
+
* title: "T-Shirt - Small",
|
|
31
|
+
* options: {
|
|
32
|
+
* Size: "S"
|
|
33
|
+
* }
|
|
34
|
+
* }
|
|
35
|
+
* ]
|
|
36
|
+
* }
|
|
37
|
+
* ]
|
|
38
|
+
* })
|
|
39
|
+
*/
|
|
40
|
+
exports.processProductOptionsForImportStep = (0, workflows_sdk_1.createStep)(exports.processProductOptionsForImportStepId, async (data, { container }) => {
|
|
41
|
+
const productService = container.resolve(utils_1.Modules.PRODUCT);
|
|
42
|
+
const processedProducts = [];
|
|
43
|
+
const allOptions = [];
|
|
44
|
+
const productIndices = []; // Maps option index to product index
|
|
45
|
+
data.products.forEach((product, index) => {
|
|
46
|
+
(product.options ?? []).forEach((option) => {
|
|
47
|
+
allOptions.push(option);
|
|
48
|
+
productIndices.push(index);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
const createdOptions = allOptions.length > 0
|
|
52
|
+
? await productService.createProductOptions(allOptions.map(option => ({
|
|
53
|
+
...option,
|
|
54
|
+
is_exclusive: true // Until we change the CSV logic to pass option id in there, we have to default to exclusive
|
|
55
|
+
})))
|
|
56
|
+
: [];
|
|
57
|
+
const createdOptionIds = createdOptions.map((opt) => opt.id);
|
|
58
|
+
const productOptionsMap = new Map();
|
|
59
|
+
createdOptions.forEach((option, index) => {
|
|
60
|
+
const productIndex = productIndices[index];
|
|
61
|
+
if (!productOptionsMap.has(productIndex)) {
|
|
62
|
+
productOptionsMap.set(productIndex, []);
|
|
63
|
+
}
|
|
64
|
+
productOptionsMap.get(productIndex).push(option);
|
|
65
|
+
});
|
|
66
|
+
data.products.forEach((product, index) => {
|
|
67
|
+
const createdOptionsForProduct = productOptionsMap.get(index);
|
|
68
|
+
if (createdOptionsForProduct && createdOptionsForProduct.length) {
|
|
69
|
+
// Transform product to use option_ids instead of options
|
|
70
|
+
const transformedProduct = (0, utils_2.deepCopy)(product);
|
|
71
|
+
delete transformedProduct.options;
|
|
72
|
+
transformedProduct.option_ids = createdOptionsForProduct.map((opt) => opt.id);
|
|
73
|
+
processedProducts.push(transformedProduct);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
processedProducts.push(product);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return new workflows_sdk_1.StepResponse(processedProducts, createdOptionIds);
|
|
80
|
+
}, async (createdOptionIds, { container }) => {
|
|
81
|
+
if (!createdOptionIds || createdOptionIds.length === 0) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const productService = container.resolve(utils_1.Modules.PRODUCT);
|
|
85
|
+
await productService.deleteProductOptions(createdOptionIds);
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=process-product-options-for-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-product-options-for-import.js","sourceRoot":"","sources":["../../../src/product/steps/process-product-options-for-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-product-options.d.ts","sourceRoot":"","sources":["../../../src/product/steps/update-product-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"update-product-options.d.ts","sourceRoot":"","sources":["../../../src/product/steps/update-product-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,2BAA2B,CAAA;AAQlC;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC,4BAA4B,CAAA;IACnD;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,0BAA0B,2BAA2B,CAAA;AAClE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,0HAwCpC,CAAA"}
|
|
@@ -19,13 +19,15 @@ exports.updateProductOptionsStepId = "update-product-options";
|
|
|
19
19
|
*/
|
|
20
20
|
exports.updateProductOptionsStep = (0, workflows_sdk_1.createStep)(exports.updateProductOptionsStepId, async (data, { container }) => {
|
|
21
21
|
const service = container.resolve(utils_1.Modules.PRODUCT);
|
|
22
|
-
const {
|
|
23
|
-
|
|
24
|
-
]);
|
|
22
|
+
const { ranks, ...cleanedUpdate } = data.update;
|
|
23
|
+
const { selects } = (0, utils_1.getSelectsAndRelationsFromObjectArray)([cleanedUpdate]);
|
|
25
24
|
const prevData = await service.listProductOptions(data.selector, {
|
|
26
25
|
select: selects,
|
|
27
|
-
relations,
|
|
26
|
+
relations: ["values"],
|
|
28
27
|
});
|
|
28
|
+
if (!prevData.length) {
|
|
29
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product option with id "${data.selector.id}" not found`);
|
|
30
|
+
}
|
|
29
31
|
const productOptions = await service.updateProductOptions(data.selector, data.update);
|
|
30
32
|
return new workflows_sdk_1.StepResponse(productOptions, prevData);
|
|
31
33
|
}, async (prevData, { container }) => {
|
|
@@ -36,8 +38,6 @@ exports.updateProductOptionsStep = (0, workflows_sdk_1.createStep)(exports.updat
|
|
|
36
38
|
await service.upsertProductOptions(prevData.map((o) => ({
|
|
37
39
|
...o,
|
|
38
40
|
values: o.values?.map((v) => v.value),
|
|
39
|
-
product: undefined,
|
|
40
|
-
product_id: o.product_id ?? undefined,
|
|
41
41
|
})));
|
|
42
42
|
});
|
|
43
43
|
//# sourceMappingURL=update-product-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-product-options.js","sourceRoot":"","sources":["../../../src/product/steps/update-product-options.ts"],"names":[],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"update-product-options.js","sourceRoot":"","sources":["../../../src/product/steps/update-product-options.ts"],"names":[],"mappings":";;;AAIA,qDAIkC;AAClC,qEAA4E;AAgB/D,QAAA,0BAA0B,GAAG,wBAAwB,CAAA;AAClE;;;;;;;;;;;;GAYG;AACU,QAAA,wBAAwB,GAAG,IAAA,0BAAU,EAChD,kCAA0B,EAC1B,KAAK,EAAE,IAAmC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,6CAAqC,EAAC,CAAC,aAAa,CAAC,CAAC,CAAA;IAE1E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC/D,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,CAAC,QAAQ,CAAC;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,SAAS,EAC3B,2BAA2B,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,CACzD,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,oBAAoB,CACvD,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CAAA;IACD,OAAO,IAAI,4BAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;AACnD,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAChC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAwB,eAAO,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,OAAO,CAAC,oBAAoB,CAChC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,CAAC;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KACtC,CAAC,CAAC,CACJ,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-products.d.ts","sourceRoot":"","sources":["../../../src/product/workflows/batch-products.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,YAAY,EACZ,6BAA6B,EAC9B,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"batch-products.d.ts","sourceRoot":"","sources":["../../../src/product/workflows/batch-products.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,YAAY,EACZ,6BAA6B,EAC9B,MAAM,2BAA2B,CAAA;AAclC;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,kBAAkB,CACxB,6BAA6B,EAC7B,6BAA6B,CAC9B;CAAG;AAEN,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,qBAAqB,yIA2CjC,CAAA"}
|
|
@@ -5,9 +5,7 @@ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
|
5
5
|
const create_products_1 = require("./create-products");
|
|
6
6
|
const delete_products_1 = require("./delete-products");
|
|
7
7
|
const update_products_1 = require("./update-products");
|
|
8
|
-
const
|
|
9
|
-
const conditionallyUpdateProducts = (input) => (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.update?.length).then(() => update_products_1.updateProductsWorkflow.runAsStep({ input: { products: input.update } }));
|
|
10
|
-
const conditionallyDeleteProducts = (input) => (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.delete?.length).then(() => delete_products_1.deleteProductsWorkflow.runAsStep({ input: { ids: input.delete } }));
|
|
8
|
+
const process_product_options_for_import_1 = require("../steps/process-product-options-for-import");
|
|
11
9
|
exports.batchProductsWorkflowId = "batch-products";
|
|
12
10
|
/**
|
|
13
11
|
* This workflow creates, updates, or deletes products. It's used by the
|
|
@@ -60,7 +58,15 @@ exports.batchProductsWorkflowId = "batch-products";
|
|
|
60
58
|
* Manage products in bulk.
|
|
61
59
|
*/
|
|
62
60
|
exports.batchProductsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.batchProductsWorkflowId, (input) => {
|
|
63
|
-
const
|
|
61
|
+
const productsToUpdate = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
|
|
62
|
+
return input.update ?? [];
|
|
63
|
+
});
|
|
64
|
+
const processedProductsToUpdate = (0, process_product_options_for_import_1.processProductOptionsForImportStep)({
|
|
65
|
+
products: productsToUpdate,
|
|
66
|
+
});
|
|
67
|
+
const res = (0, workflows_sdk_1.parallelize)((0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.create?.length).then(() => create_products_1.createProductsWorkflow.runAsStep({ input: { products: input.create } })), (0, workflows_sdk_1.when)({ processedProductsToUpdate }, ({ processedProductsToUpdate }) => !!processedProductsToUpdate.length).then(() => update_products_1.updateProductsWorkflow.runAsStep({
|
|
68
|
+
input: { products: processedProductsToUpdate },
|
|
69
|
+
})), (0, workflows_sdk_1.when)({ input }, ({ input }) => !!input.delete?.length).then(() => delete_products_1.deleteProductsWorkflow.runAsStep({ input: { ids: input.delete } })));
|
|
64
70
|
return new workflows_sdk_1.WorkflowResponse((0, workflows_sdk_1.transform)({ res, input }, (data) => {
|
|
65
71
|
return {
|
|
66
72
|
created: data.res[0] ?? [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-products.js","sourceRoot":"","sources":["../../../src/product/workflows/batch-products.ts"],"names":[],"mappings":";;;AAOA,qEAO0C;AAC1C,uDAA0D;AAC1D,uDAA0D;AAC1D,uDAA0D;
|
|
1
|
+
{"version":3,"file":"batch-products.js","sourceRoot":"","sources":["../../../src/product/workflows/batch-products.ts"],"names":[],"mappings":";;;AAOA,qEAO0C;AAC1C,uDAA0D;AAC1D,uDAA0D;AAC1D,uDAA0D;AAC1D,oGAAgG;AAWnF,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACU,QAAA,qBAAqB,GAAG,IAAA,8BAAc,EACjD,+BAAuB,EACvB,CACE,KAA8C,EACkB,EAAE;IAClE,MAAM,gBAAgB,GAAG,IAAA,yBAAS,EAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1D,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,IAAA,uEAAkC,EAAC;QACnE,QAAQ,EAAE,gBAG+C;KAC1D,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,IAAA,2BAAW,EACrB,IAAA,oBAAI,EAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/D,wCAAsB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAO,EAAE,EAAE,CAAC,CACzE,EACD,IAAA,oBAAI,EACF,EAAE,yBAAyB,EAAE,EAC7B,CAAC,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CACtE,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,wCAAsB,CAAC,SAAS,CAAC;QAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE;KAC/C,CAAC,CACH,EACD,IAAA,oBAAI,EAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/D,wCAAsB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAO,EAAE,EAAE,CAAC,CACpE,CACF,CAAA;IAED,OAAO,IAAI,gCAAgB,CACzB,IAAA,yBAAS,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACjC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE;SACjC,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { ProductTypes } from "@medusajs/framework/types";
|
|
2
|
+
/**
|
|
3
|
+
* The data to manage product options of a product.
|
|
4
|
+
*/
|
|
5
|
+
export type LinkProductOptionsToProductWorkflowInput = {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of the product to manage its options.
|
|
8
|
+
*/
|
|
9
|
+
product_id: string;
|
|
10
|
+
/**
|
|
11
|
+
* The product options to add to the product. You can pass one of the
|
|
12
|
+
* following:
|
|
13
|
+
*
|
|
14
|
+
* 1. The ID of an existing product option as a string.
|
|
15
|
+
* 2. An object with `id` and `value_ids` to add an existing product option with specific values. This
|
|
16
|
+
* is useful when you want to associate only specific option values of an option to the product.
|
|
17
|
+
* 3. An object to create a new product option.
|
|
18
|
+
*/
|
|
19
|
+
add?: (string | {
|
|
20
|
+
/**
|
|
21
|
+
* The ID of the product option to add.
|
|
22
|
+
*/
|
|
23
|
+
id: string;
|
|
24
|
+
/**
|
|
25
|
+
* The IDs of the product option values to associate with the product option.
|
|
26
|
+
*/
|
|
27
|
+
value_ids: string[];
|
|
28
|
+
} | ProductTypes.CreateProductOptionDTO)[];
|
|
29
|
+
/**
|
|
30
|
+
* The product options to remove from the product.
|
|
31
|
+
*/
|
|
32
|
+
remove?: string[];
|
|
33
|
+
};
|
|
34
|
+
export declare const createAndLinkProductOptionsToProductWorkflowId = "create-and-link-product-options-to-product";
|
|
35
|
+
/**
|
|
36
|
+
* This workflow manages one or more product options of a product. It's used by the
|
|
37
|
+
* [Manage Product Options](https://docs.medusajs.com/api/admin#products_postproductsidoptions).
|
|
38
|
+
* This workflow also creates non-existing product options before adding them to the product.
|
|
39
|
+
*
|
|
40
|
+
* You can also use this workflow within your customizations or your own custom workflows, allowing you
|
|
41
|
+
* to wrap custom logic around product-option and product association.
|
|
42
|
+
*
|
|
43
|
+
* @since 2.13.0
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* const { result } = await createAndLinkProductOptionsToProductWorkflow(container)
|
|
47
|
+
* .run({
|
|
48
|
+
* input: {
|
|
49
|
+
* product_id: "prod_123"
|
|
50
|
+
* add: [
|
|
51
|
+
* // Add existing option by ID
|
|
52
|
+
* "opt_456",
|
|
53
|
+
* // Create new option
|
|
54
|
+
* {
|
|
55
|
+
* title: "Size",
|
|
56
|
+
* values: ["S", "M", "L", "XL"]
|
|
57
|
+
* },
|
|
58
|
+
* // Add existing option with specific values
|
|
59
|
+
* {
|
|
60
|
+
* id: "opt_123"
|
|
61
|
+
* value_ids: ["optval_1", "optval_2"]
|
|
62
|
+
* }
|
|
63
|
+
* ],
|
|
64
|
+
* remove: ["opt_321"]
|
|
65
|
+
* }
|
|
66
|
+
* })
|
|
67
|
+
*
|
|
68
|
+
* @summary
|
|
69
|
+
*
|
|
70
|
+
* Manage options of a product.
|
|
71
|
+
*/
|
|
72
|
+
export declare const createAndLinkProductOptionsToProductWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<LinkProductOptionsToProductWorkflowInput, never, []>;
|
|
73
|
+
//# sourceMappingURL=create-and-link-product-options-to-product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-and-link-product-options-to-product.d.ts","sourceRoot":"","sources":["../../../src/product/workflows/create-and-link-product-options-to-product.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAc7D;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,CACF,MAAM,GACN;QACA;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QACX;;WAEG;QACH,SAAS,EAAE,MAAM,EAAE,CAAA;KACpB,GACC,YAAY,CAAC,sBAAsB,CACtC,EAAE,CAAA;IACH;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,8CAA8C,+CACb,CAAA;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,4CAA4C,iHA+ExD,CAAA"}
|