@devx-commerce/plugin-gati 0.0.2-beta.1 → 0.0.2-beta.10
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/erp/webhook/route.js +61 -14
- package/.medusa/server/src/links/extended-product.js +10 -0
- package/.medusa/server/src/links/extended-variant.js +10 -0
- package/.medusa/server/src/modules/category-master/index.js +13 -0
- package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
- package/.medusa/server/src/modules/category-master/models/category-master.js +11 -0
- package/.medusa/server/src/modules/category-master/service.js +10 -0
- package/.medusa/server/src/modules/collection-master/index.js +13 -0
- package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
- package/.medusa/server/src/modules/collection-master/models/collection-master.js +12 -0
- package/.medusa/server/src/modules/collection-master/service.js +10 -0
- package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
- package/.medusa/server/src/modules/erp/models/erp.js +10 -0
- package/.medusa/server/src/modules/erp/service.js +1 -1
- package/.medusa/server/src/modules/extended-product/index.js +13 -0
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +27 -0
- package/.medusa/server/src/modules/extended-product/models/extended-product.js +126 -0
- package/.medusa/server/src/modules/extended-product/service.js +11 -0
- package/.medusa/server/src/modules/extended-variant/index.js +13 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +27 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +14 -0
- package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +131 -0
- package/.medusa/server/src/modules/extended-variant/service.js +12 -0
- package/.medusa/server/src/modules/raw-master/index.js +13 -0
- package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
- package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
- package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
- package/.medusa/server/src/modules/raw-master/service.js +10 -0
- package/.medusa/server/src/modules/shape-master/index.js +13 -0
- package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
- package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
- package/.medusa/server/src/modules/shape-master/service.js +10 -0
- package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
- package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +13 -0
- package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
- package/.medusa/server/src/subscribers/collection-master.js +121 -0
- package/.medusa/server/src/workflows/category-master/index.js +30 -0
- package/.medusa/server/src/workflows/category-master/steps/create-category.js +18 -0
- package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
- package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
- package/.medusa/server/src/workflows/category-master/steps/update-category.js +28 -0
- package/.medusa/server/src/workflows/collection-master/index.js +58 -0
- package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +19 -0
- package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +23 -0
- package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
- package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +29 -0
- package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +64 -0
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +18 -0
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-detail-lines.js +25 -0
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +64 -0
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-extended-variant.js +18 -0
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-style-detail-lines.js +25 -0
- package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +123 -0
- package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +70 -0
- package/.medusa/server/src/workflows/create-or-update-product-options/index.js +26 -0
- package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +20 -0
- package/.medusa/server/src/workflows/create-or-update-style-master/index.js +46 -99
- package/.medusa/server/src/workflows/create-or-update-style-master/steps/fetch-styles.js +70 -0
- package/.medusa/server/src/workflows/helpers/product-helper.js +393 -7
- package/.medusa/server/src/workflows/hooks/product-created.js +16 -0
- package/.medusa/server/src/workflows/hooks/product-updated.js +16 -0
- package/.medusa/server/src/workflows/hooks/variant-created.js +16 -0
- package/.medusa/server/src/workflows/raw-master/index.js +30 -0
- package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +25 -0
- package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
- package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
- package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
- package/.medusa/server/src/workflows/shape-master/index.js +30 -0
- package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +21 -0
- package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
- package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
- package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
- package/.medusa/server/src/workflows/sub-category-master/index.js +30 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +20 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +30 -0
- package/.medusa/server/src/workflows/types/index.js +9 -1
- package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +39 -0
- package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +37 -0
- package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-with-field.js +15 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +39 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +37 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-with-field.js +15 -0
- package/package.json +1 -1
- package/.medusa/server/src/workflows/create-or-update-style-master/steps/index.js +0 -68
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateExtendedProductFromProductWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const update_extended_product_from_product_1 = require("./steps/update-extended-product-from-product");
|
|
7
|
+
exports.updateExtendedProductFromProductWorkflow = (0, workflows_sdk_1.createWorkflow)("update-extended-product-from-product", (input) => {
|
|
8
|
+
const { data: products } = (0, core_flows_1.useQueryGraphStep)({
|
|
9
|
+
entity: "product",
|
|
10
|
+
fields: ["extended_product.*", "extended_product.style_details.*"],
|
|
11
|
+
filters: {
|
|
12
|
+
id: input.product.id,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
const updated = (0, workflows_sdk_1.when)({
|
|
16
|
+
input,
|
|
17
|
+
products,
|
|
18
|
+
}, (data) => data.products[0].extended_product !== undefined &&
|
|
19
|
+
data.input.additional_data?.extendedProductData !== undefined).then(() => {
|
|
20
|
+
return (0, update_extended_product_from_product_1.updateExtendedProductStep)({
|
|
21
|
+
existingProduct: products[0],
|
|
22
|
+
extendedProduct: input.additional_data
|
|
23
|
+
?.extendedProductData,
|
|
24
|
+
styleDetails: input.additional_data?.styleDetails,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
(0, core_flows_1.emitEventStep)({
|
|
28
|
+
eventName: "sync-to-os",
|
|
29
|
+
data: {
|
|
30
|
+
type: "product",
|
|
31
|
+
operation: "update",
|
|
32
|
+
id: input.product.id,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
36
|
+
updated,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3VwZGF0ZS1leHRlbmRlZC12YXJpYW50LWZyb20tdmFyaWFudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxRUFJMkM7QUFDM0MsNERBQStFO0FBRy9FLHVHQUF5RjtBQVU1RSxRQUFBLHdDQUF3QyxHQUFHLElBQUEsOEJBQWMsRUFDcEUsc0NBQXNDLEVBQ3RDLENBQUMsS0FBZ0QsRUFBRSxFQUFFO0lBQ25ELE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMzQyxNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQ0FBa0MsQ0FBQztRQUNsRSxPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ3JCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQUcsSUFBQSxvQkFBSSxFQUNsQjtRQUNFLEtBQUs7UUFDTCxRQUFRO0tBQ1QsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1FBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLG1CQUFtQixLQUFLLFNBQVMsQ0FDaEUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFBLGdFQUF5QixFQUFDO1lBQy9CLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzVCLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtnQkFDcEMsRUFBRSxtQkFBa0M7WUFDdEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsWUFBaUM7U0FDdkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztZQUNmLFNBQVMsRUFBRSxRQUFRO1lBQ25CLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7U0FDckI7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsT0FBTztLQUNSLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateExtendedProductStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const extended_product_1 = require("../../../modules/extended-product");
|
|
6
|
+
exports.updateExtendedProductStep = (0, workflows_sdk_1.createStep)("update-extended-product", async ({ extendedProduct, styleDetails, existingProduct, }, { container }) => {
|
|
7
|
+
const extendedProductService = container.resolve(extended_product_1.EXTENDED_PRODUCT_MODULE);
|
|
8
|
+
const prevData = await extendedProductService.retrieveExtendedProduct(existingProduct.extended_product.id, {
|
|
9
|
+
relations: ["style_details"],
|
|
10
|
+
});
|
|
11
|
+
await extendedProductService.deleteStyleDetailsLines(prevData.style_details.map((i) => i.id));
|
|
12
|
+
const formattedLines = styleDetails.map((line) => ({
|
|
13
|
+
...line,
|
|
14
|
+
extended_product: existingProduct.extended_product.id,
|
|
15
|
+
}));
|
|
16
|
+
const linesResult = await extendedProductService.createStyleDetailsLines([
|
|
17
|
+
...formattedLines,
|
|
18
|
+
]);
|
|
19
|
+
const custom = await extendedProductService.updateExtendedProducts({
|
|
20
|
+
id: existingProduct?.extended_product?.id,
|
|
21
|
+
...extendedProduct,
|
|
22
|
+
style_date: new Date(extendedProduct.style_date),
|
|
23
|
+
style_details: linesResult.map((i) => i.id),
|
|
24
|
+
});
|
|
25
|
+
return new workflows_sdk_1.StepResponse(custom, prevData);
|
|
26
|
+
}, async (prevData, { container }) => {
|
|
27
|
+
if (!prevData) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const extendedProductService = container.resolve(extended_product_1.EXTENDED_PRODUCT_MODULE);
|
|
31
|
+
await extendedProductService.updateExtendedProducts({
|
|
32
|
+
...prevData,
|
|
33
|
+
style_details: prevData.style_details.map((detail) => detail.id),
|
|
34
|
+
style_explorations: prevData.style_explorations.map((exploration) => exploration.id),
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWV4dGVuZGVkLXByb2R1Y3QtZnJvbS1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy91cGRhdGUtZXh0ZW5kZWQtdmFyaWFudC1mcm9tLXZhcmlhbnQvc3RlcHMvdXBkYXRlLWV4dGVuZGVkLXByb2R1Y3QtZnJvbS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSx3RUFBNEU7QUFVL0QsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELHlCQUF5QixFQUN6QixLQUFLLEVBQ0gsRUFDRSxlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsR0FDZ0IsRUFDakMsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxzQkFBc0IsR0FBMkIsU0FBUyxDQUFDLE9BQU8sQ0FDdEUsMENBQXVCLENBQ3hCLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLHNCQUFzQixDQUFDLHVCQUF1QixDQUNuRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUNuQztRQUNFLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztLQUM3QixDQUNGLENBQUM7SUFFRixNQUFNLHNCQUFzQixDQUFDLHVCQUF1QixDQUNsRCxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxHQUFHLElBQUk7UUFDUCxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtLQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVKLE1BQU0sV0FBVyxHQUFHLE1BQU0sc0JBQXNCLENBQUMsdUJBQXVCLENBQUM7UUFDdkUsR0FBRyxjQUFjO0tBQ2xCLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLE1BQU0sc0JBQXNCLENBQUMsc0JBQXNCLENBQUM7UUFDakUsRUFBRSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO1FBQ3pDLEdBQUcsZUFBZTtRQUNsQixVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNoRCxhQUFhLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUM1QyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxFQUNELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxzQkFBc0IsR0FBMkIsU0FBUyxDQUFDLE9BQU8sQ0FDdEUsMENBQXVCLENBQ3hCLENBQUM7SUFFRixNQUFNLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDO1FBQ2xELEdBQUcsUUFBUTtRQUNYLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUNqRCxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDaEM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateExtendedVariantWithFieldStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const extended_variant_1 = require("../../../modules/extended-variant");
|
|
6
|
+
exports.updateExtendedVariantWithFieldStep = (0, workflows_sdk_1.createStep)("update-extended-variant-with-field", async ({ id, data }, { container }) => {
|
|
7
|
+
const extendedVariantModuleService = container.resolve(extended_variant_1.EXTENDED_VARIANT_MODULE);
|
|
8
|
+
const prevData = await extendedVariantModuleService.retrieveExtendedVariant(id);
|
|
9
|
+
const extendedVariant = await extendedVariantModuleService.updateExtendedVariants({
|
|
10
|
+
id,
|
|
11
|
+
...data,
|
|
12
|
+
});
|
|
13
|
+
return new workflows_sdk_1.StepResponse(extendedVariant, prevData);
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWV4dGVuZGVkLXZhcmlhbnQtd2l0aC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvdXBkYXRlLWV4dGVuZGVkLXZhcmlhbnQtZnJvbS12YXJpYW50L3N0ZXBzL3VwZGF0ZS1leHRlbmRlZC12YXJpYW50LXdpdGgtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLHdFQUE0RTtBQVEvRCxRQUFBLGtDQUFrQyxHQUFHLElBQUEsMEJBQVUsRUFDMUQsb0NBQW9DLEVBQ3BDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQWtDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sNEJBQTRCLEdBQ2hDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQXVCLENBQUMsQ0FBQztJQUU3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLDRCQUE0QixDQUFDLHVCQUF1QixDQUN6RSxFQUFFLENBQ0gsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUNuQixNQUFNLDRCQUE0QixDQUFDLHNCQUFzQixDQUFDO1FBQ3hELEVBQUU7UUFDRixHQUFHLElBQUk7S0FDUixDQUFDLENBQUM7SUFFTCxPQUFPLElBQUksNEJBQVksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUNGLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchStyleData = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const BATCH_SIZE = 50; // Process 50 items at a time
|
|
6
|
-
const MAX_RETRIES = 3;
|
|
7
|
-
const RETRY_DELAY = 1000; // 1 second delay between retries
|
|
8
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
9
|
-
const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
|
|
10
|
-
try {
|
|
11
|
-
const results = await Promise.all(batch.map(async (transactionId) => {
|
|
12
|
-
try {
|
|
13
|
-
return await erpService.getMasterData(datafor, transactionId);
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error(`Error fetching data for ID ${transactionId}:`, error);
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
}));
|
|
20
|
-
// Filter out failed requests
|
|
21
|
-
const successfulResults = results.filter((result) => result !== null);
|
|
22
|
-
// If we have failed requests and haven't exceeded max retries, retry them
|
|
23
|
-
if (results.length !== successfulResults.length &&
|
|
24
|
-
retryCount < MAX_RETRIES) {
|
|
25
|
-
const failedIds = batch.filter((_, index) => results[index] === null);
|
|
26
|
-
console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
|
|
27
|
-
await sleep(RETRY_DELAY);
|
|
28
|
-
const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
|
|
29
|
-
return [...successfulResults, ...retryResults];
|
|
30
|
-
}
|
|
31
|
-
return successfulResults;
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
console.error("Batch processing error:", error);
|
|
35
|
-
if (retryCount < MAX_RETRIES) {
|
|
36
|
-
console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
|
|
37
|
-
await sleep(RETRY_DELAY);
|
|
38
|
-
return processBatch(erpService, datafor, batch, retryCount + 1);
|
|
39
|
-
}
|
|
40
|
-
throw error;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Step to fetch style data from ERP system
|
|
45
|
-
* This step processes data in batches to avoid timeouts and handle large datasets
|
|
46
|
-
* @param input - Contains datafor type and array of transaction IDs
|
|
47
|
-
* @param container - Dependency injection container to resolve services
|
|
48
|
-
*/
|
|
49
|
-
exports.fetchStyleData = (0, workflows_sdk_1.createStep)("fetch-style-data", async (input, { container }) => {
|
|
50
|
-
const erpService = container.resolve("erp");
|
|
51
|
-
const { datafor, data } = input;
|
|
52
|
-
// Split data into batches
|
|
53
|
-
const batches = [];
|
|
54
|
-
for (let i = 0; i < data.length; i += BATCH_SIZE) {
|
|
55
|
-
batches.push(data.slice(i, i + BATCH_SIZE));
|
|
56
|
-
}
|
|
57
|
-
console.log(`Processing ${data.length} items in ${batches.length} batches`);
|
|
58
|
-
// Process each batch sequentially
|
|
59
|
-
const allResults = [];
|
|
60
|
-
for (let i = 0; i < batches.length; i++) {
|
|
61
|
-
console.log(`Processing batch ${i + 1}/${batches.length}`);
|
|
62
|
-
const batchResults = await processBatch(erpService, datafor, batches[i]);
|
|
63
|
-
allResults.push(...batchResults);
|
|
64
|
-
}
|
|
65
|
-
console.log(`Successfully processed ${allResults.length} items`);
|
|
66
|
-
return new workflows_sdk_1.StepResponse(allResults);
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUV0RSwwRUFBMEU7UUFDMUUsSUFDRSxPQUFPLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLE1BQU07WUFDM0MsVUFBVSxHQUFHLFdBQVcsRUFDeEIsQ0FBQztZQUNELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FDVCxZQUFZLFNBQVMsQ0FBQyxNQUFNLDZCQUMxQixVQUFVLEdBQUcsQ0FDZixHQUFHLENBQ0osQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUNyQyxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLEdBQUcsQ0FBQyxDQUNmLENBQUM7WUFDRixPQUFPLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLFVBQVUsR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxNQUFNLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QixPQUFPLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsSUFBQSwwQkFBVSxFQUN0QyxrQkFBa0IsRUFDbEIsS0FBSyxFQUFFLEtBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzVDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFxQixDQUFDO0lBQ2hFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWhDLDBCQUEwQjtJQUMxQixNQUFNLE9BQU8sR0FBZSxFQUFFLENBQUM7SUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLENBQUMsTUFBTSxhQUFhLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDO0lBRTVFLGtDQUFrQztJQUNsQyxNQUFNLFVBQVUsR0FBVSxFQUFFLENBQUM7SUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixVQUFVLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztJQUNqRSxPQUFPLElBQUksNEJBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQ0YsQ0FBQyJ9
|