@devx-commerce/plugin-gati 0.0.2-beta.0 → 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 +47 -98
- 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 +396 -8
- 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 -18
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
8
|
+
const create_or_update_product_options_1 = __importDefault(require("../create-or-update-product-options"));
|
|
9
|
+
const product_helper_1 = require("../helpers/product-helper");
|
|
10
|
+
const fetch_party_styles_1 = require("./steps/fetch-party-styles");
|
|
11
|
+
/**
|
|
12
|
+
* Main workflow for handling PartyStyleMst operations
|
|
13
|
+
* This workflow:
|
|
14
|
+
* 1. Fetches PartyStyle data from ERP
|
|
15
|
+
* 2. Conditionally creates variants based on operation type
|
|
16
|
+
*
|
|
17
|
+
* @param input - Contains operation type, datafor type, and transaction IDs
|
|
18
|
+
*/
|
|
19
|
+
const partyStyleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("party-style-mst", (input) => {
|
|
20
|
+
// Step 1: Fetch style data from ERP system
|
|
21
|
+
const partyStyleData = (0, fetch_party_styles_1.fetchPartyStyleData)(input);
|
|
22
|
+
const externalIdsFilters = (0, workflows_sdk_1.transform)({
|
|
23
|
+
partyStyleData,
|
|
24
|
+
}, (data) => {
|
|
25
|
+
return [
|
|
26
|
+
...new Set(data.partyStyleData.map((product) => `${product.StyleId}`)),
|
|
27
|
+
];
|
|
28
|
+
});
|
|
29
|
+
const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
|
|
30
|
+
entity: "product",
|
|
31
|
+
fields: ["id", "external_id", "variants.*"],
|
|
32
|
+
filters: {
|
|
33
|
+
external_id: externalIdsFilters,
|
|
34
|
+
},
|
|
35
|
+
}).config({ name: "existing-products" });
|
|
36
|
+
(0, workflows_sdk_1.when)(input, (input) => {
|
|
37
|
+
return input.operation === "add";
|
|
38
|
+
}).then(() => {
|
|
39
|
+
// Create product options
|
|
40
|
+
create_or_update_product_options_1.default.runAsStep({
|
|
41
|
+
input: {
|
|
42
|
+
existingProducts,
|
|
43
|
+
partyStyleData,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const { variantsToCreate } = (0, workflows_sdk_1.transform)({
|
|
47
|
+
partyStyleData,
|
|
48
|
+
existingProducts,
|
|
49
|
+
}, (data) => {
|
|
50
|
+
const variantsToCreate = [];
|
|
51
|
+
const existingProductIds = data.existingProducts.map((product) => product.external_id);
|
|
52
|
+
data.partyStyleData
|
|
53
|
+
.filter((styleData) => existingProductIds.includes(String(styleData.StyleId)))
|
|
54
|
+
.forEach((styleData) => {
|
|
55
|
+
// Calculate costs based on raw codes
|
|
56
|
+
const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.PartyStyleMstDetail);
|
|
57
|
+
const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.PartyStyleMstDetail);
|
|
58
|
+
const existingProduct = data.existingProducts.find((p) => p.external_id === String(styleData.StyleId));
|
|
59
|
+
const productOptions = (0, product_helper_1.createProductOptionsForPartyStyleId)(styleData);
|
|
60
|
+
const variant = {
|
|
61
|
+
product_id: existingProduct.id,
|
|
62
|
+
title: styleData.PartyStyleCode,
|
|
63
|
+
sku: `${styleData.PartyStyleCode}-${styleData.PartyStyleId}-${styleData.StyleId}`,
|
|
64
|
+
prices: [
|
|
65
|
+
{
|
|
66
|
+
amount: styleData.Mrp,
|
|
67
|
+
currency_code: "inr",
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
options: {
|
|
71
|
+
...productOptions,
|
|
72
|
+
},
|
|
73
|
+
manage_inventory: false,
|
|
74
|
+
metadata: {
|
|
75
|
+
external_id: `${styleData.PartyStyleId}`,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
const extendedVariantData = (0, product_helper_1.getExtendedVariantData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
|
|
79
|
+
metal_total_cost,
|
|
80
|
+
diamond_total_cost,
|
|
81
|
+
stone_total_cost,
|
|
82
|
+
cpf_total_cost,
|
|
83
|
+
metal_total_amount,
|
|
84
|
+
diamond_total_amount,
|
|
85
|
+
stone_total_amount,
|
|
86
|
+
cpf_total_amount,
|
|
87
|
+
});
|
|
88
|
+
const styleDetails = (0, product_helper_1.getPartyStyleDetailLines)(styleData?.PartyStyleMstDetail);
|
|
89
|
+
const explorationDetails = (0, product_helper_1.getPartyStyleExplorationLines)(styleData?.PartyStyleMstExploration);
|
|
90
|
+
variantsToCreate.push({
|
|
91
|
+
variant: variant,
|
|
92
|
+
additional_data: {
|
|
93
|
+
extendedVariantData,
|
|
94
|
+
styleDetails,
|
|
95
|
+
explorationDetails,
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
variantsToCreate: {
|
|
101
|
+
product_variants: variantsToCreate.map((p) => p.variant),
|
|
102
|
+
additional_data: variantsToCreate.reduce((acc, p) => {
|
|
103
|
+
const externalId = p?.variant?.metadata?.external_id;
|
|
104
|
+
if (externalId) {
|
|
105
|
+
acc[externalId] = p.additional_data;
|
|
106
|
+
}
|
|
107
|
+
return acc;
|
|
108
|
+
}, {}),
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
core_flows_1.createProductVariantsWorkflow.runAsStep({
|
|
113
|
+
input: {
|
|
114
|
+
...variantsToCreate,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
119
|
+
success: true,
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
exports.default = partyStyleMstWorkflow;
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcGFydHktc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUVBSzJDO0FBQzNDLDREQUdxQztBQUdyQywyR0FBdUY7QUFDdkYsOERBT21DO0FBRW5DLG1FQUFpRTtBQUVqRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQzFDLGlCQUFpQixFQUNqQixDQUFDLEtBQXlCLEVBQUUsRUFBRTtJQUM1QiwyQ0FBMkM7SUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBQSx3Q0FBbUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxjQUFjO0tBQ2YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTztZQUNMLEdBQUcsSUFBSSxHQUFHLENBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQzNEO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLGtCQUFrQjtTQUNoQztLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLElBQUEsb0JBQUksRUFBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVB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
|
package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchPartyStyleData = 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.fetchPartyStyleData = (0, workflows_sdk_1.createStep)("fetch-party-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
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-style-data");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcGFydHktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtb3ItdXBkYXRlLXBhcnR5LXN0eWxlLW1hc3Rlci9zdGVwcy9mZXRjaC1wYXJ0eS1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSTdFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtBQUNwRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUNBQWlDO0FBRTNELE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFDeEIsVUFBNEIsRUFDNUIsT0FBZSxFQUNmLEtBQWUsRUFDZixVQUFVLEdBQUcsQ0FBQyxFQUNFLEVBQUU7SUFDbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLGFBQWEsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1B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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const create_update_product_options_1 = __importDefault(require("./steps/create-update-product-options"));
|
|
8
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
9
|
+
const createOrUpdateProductOptionsWorkflow = (0, workflows_sdk_1.createWorkflow)("create-or-update-product-options", (input) => {
|
|
10
|
+
const result = (0, workflows_sdk_1.when)(input, (input) => {
|
|
11
|
+
return input.existingProducts.length > 0;
|
|
12
|
+
}).then(() => {
|
|
13
|
+
const stepResult = (0, create_update_product_options_1.default)({
|
|
14
|
+
...input,
|
|
15
|
+
});
|
|
16
|
+
return stepResult;
|
|
17
|
+
}) || [];
|
|
18
|
+
(0, workflows_sdk_1.when)(result, (result) => result.length > 0).then(() => {
|
|
19
|
+
(0, core_flows_1.updateProductsStep)({
|
|
20
|
+
products: result,
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
return new workflows_sdk_1.WorkflowResponse(input);
|
|
24
|
+
});
|
|
25
|
+
exports.default = createOrUpdateProductOptionsWorkflow;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcHJvZHVjdC1vcHRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUVBSTJDO0FBRzNDLDBHQUEwRTtBQUMxRSw0REFBaUU7QUFPakUsTUFBTSxvQ0FBb0MsR0FBRyxJQUFBLDhCQUFjLEVBQ3pELGtDQUFrQyxFQUNsQyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FDVixJQUFBLG9CQUFJLEVBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBQSx1Q0FBcUIsRUFBQztZQUN2QyxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFWCxJQUFBLG9CQUFJLEVBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDcEQsSUFBQSwrQkFBa0IsRUFBQztZQUNqQixRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQ0YsQ0FBQztBQUVGLGtCQUFlLG9DQUFvQyxDQUFDIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
4
|
+
const product_helper_1 = require("../../helpers/product-helper");
|
|
5
|
+
const getProductOptionsStep = (0, workflows_sdk_1.createStep)("get-product-options", async (input, { container }) => {
|
|
6
|
+
const productWithOptions = [];
|
|
7
|
+
for (const product of input.existingProducts) {
|
|
8
|
+
const productOptions = (0, product_helper_1.createProductOptionsStepFromData)(input.partyStyleData);
|
|
9
|
+
const productOption = productOptions.find((option) => option.styleId === product.external_id);
|
|
10
|
+
const filteredOptions = productOption?.options?.filter((option) => option.values.length > 0) ||
|
|
11
|
+
[];
|
|
12
|
+
productWithOptions.push({
|
|
13
|
+
id: product.id,
|
|
14
|
+
options: filteredOptions,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return new workflows_sdk_1.StepResponse(productWithOptions);
|
|
18
|
+
});
|
|
19
|
+
exports.default = getProductOptionsStep;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVwZGF0ZS1wcm9kdWN0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcHJvZHVjdC1vcHRpb25zL3N0ZXBzL2NyZWF0ZS11cGRhdGUtcHJvZHVjdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscUVBQTZFO0FBSTdFLGlFQUFnRjtBQVloRixNQUFNLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDdEMscUJBQXFCLEVBQ3JCLEtBQUssRUFBRSxLQUFnQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLGtCQUFrQixHQUF5QixFQUFFLENBQUM7SUFDcEQsS0FBSyxNQUFNLE9BQU8sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLGNBQWMsR0FBRyxJQUFBLGlEQUFnQyxFQUNyRCxLQUFLLENBQUMsY0FBYyxDQUNyQixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FDdkMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FDbkQsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUNuQixhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLEVBQUUsQ0FBQztRQUVMLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN0QixFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxPQUFPLEVBQUUsZUFBZTtTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLDRCQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQ0YsQ0FBQztBQUVGLGtCQUFlLHFCQUFxQixDQUFDIn0=
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
4
4
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
5
5
|
const product_helper_1 = require("../helpers/product-helper");
|
|
6
|
-
const
|
|
6
|
+
const fetch_styles_1 = require("./steps/fetch-styles");
|
|
7
7
|
/**
|
|
8
8
|
* Main workflow for handling StyleMst operations
|
|
9
9
|
* This workflow:
|
|
@@ -15,7 +15,7 @@ const steps_1 = require("./steps");
|
|
|
15
15
|
*/
|
|
16
16
|
const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input) => {
|
|
17
17
|
// Step 1: Fetch style data from ERP system
|
|
18
|
-
const styleData = (0,
|
|
18
|
+
const styleData = (0, fetch_styles_1.fetchStyleData)(input);
|
|
19
19
|
// Step 2: Get all sales channels for product creation
|
|
20
20
|
const { data: stores } = (0, core_flows_1.useQueryGraphStep)({
|
|
21
21
|
entity: "store",
|
|
@@ -43,9 +43,8 @@ const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input
|
|
|
43
43
|
external_id: externalIdsFilters,
|
|
44
44
|
},
|
|
45
45
|
}).config({ name: "existing-products" });
|
|
46
|
-
// Conditional step: Only create products if operation is "add"
|
|
47
46
|
(0, workflows_sdk_1.when)(input, (input) => {
|
|
48
|
-
return input.operation === "add";
|
|
47
|
+
return input.operation === "add" || input.operation === "update";
|
|
49
48
|
}).then(() => {
|
|
50
49
|
const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
|
|
51
50
|
styleData,
|
|
@@ -57,31 +56,25 @@ const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input
|
|
|
57
56
|
const productsToUpdate = [];
|
|
58
57
|
data.styleData.forEach((styleData) => {
|
|
59
58
|
// Calculate costs based on raw codes
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// const otherMaterialTotalAmount = styleData.StyleMstDetail.filter(
|
|
77
|
-
// (detail) => detail.RawType === "Other Material"
|
|
78
|
-
// ).reduce((acc, detail) => acc + detail.Amount, 0);
|
|
79
|
-
const cpfTotalAmount = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Metal").reduce((acc, detail) => acc + detail.CPFAmt, 0);
|
|
80
|
-
const productTitle = styleData.StyleMstExploration.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue || "";
|
|
81
|
-
console.log("productTitle", productTitle);
|
|
59
|
+
const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.StyleMstDetail);
|
|
60
|
+
const productTitle = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue || `Style ${styleData.StyleCode}`;
|
|
61
|
+
const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.StyleMstDetail);
|
|
62
|
+
let collectionId = "";
|
|
63
|
+
const collection = styleData?.StyleMstCollection?.find((collection) => collection.IsBaseCollection)?.Collection;
|
|
64
|
+
if (collection) {
|
|
65
|
+
const { data: existingCollection } = (0, core_flows_1.useQueryGraphStep)({
|
|
66
|
+
entity: "collection_master",
|
|
67
|
+
fields: ["id", "mapping_id"],
|
|
68
|
+
filters: {
|
|
69
|
+
collection_code: collection,
|
|
70
|
+
},
|
|
71
|
+
}).config({ name: "existing-collection" });
|
|
72
|
+
collectionId = existingCollection[0].mapping_id;
|
|
73
|
+
}
|
|
74
|
+
//TODO: Add category ids
|
|
82
75
|
const product = {
|
|
83
76
|
external_id: `${styleData.StyleId}`,
|
|
84
|
-
title: productTitle,
|
|
77
|
+
title: productTitle || "",
|
|
85
78
|
description: styleData.WebDescription || "",
|
|
86
79
|
status: "draft",
|
|
87
80
|
options: [
|
|
@@ -90,7 +83,8 @@ const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input
|
|
|
90
83
|
values: ["Default"],
|
|
91
84
|
},
|
|
92
85
|
],
|
|
93
|
-
|
|
86
|
+
origin_country: "IN",
|
|
87
|
+
material: styleData.StyleMstDetail.find((i) => i.RawType === "Metal" && i.IsBase)?.RawCode || "",
|
|
94
88
|
handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
|
|
95
89
|
variants: [],
|
|
96
90
|
shipping_profile_id: data.shippingProfiles[0].id,
|
|
@@ -101,88 +95,43 @@ const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input
|
|
|
101
95
|
],
|
|
102
96
|
};
|
|
103
97
|
const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
|
|
98
|
+
if (collectionId) {
|
|
99
|
+
product.collection_id = collectionId;
|
|
100
|
+
}
|
|
104
101
|
if (existingProduct) {
|
|
105
102
|
product.id = existingProduct.id;
|
|
106
103
|
product.status = existingProduct.status;
|
|
104
|
+
product.title = existingProduct.title;
|
|
105
|
+
product.description = existingProduct.description;
|
|
106
|
+
product.handle = existingProduct.handle;
|
|
107
107
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
currency_code: "INR",
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
metadata: {
|
|
121
|
-
external_id: `${styleData.StyleId}`,
|
|
122
|
-
},
|
|
123
|
-
manage_inventory: false,
|
|
108
|
+
const extendedProductData = (0, product_helper_1.getExtendedProductData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
|
|
109
|
+
metal_total_cost,
|
|
110
|
+
diamond_total_cost,
|
|
111
|
+
stone_total_cost,
|
|
112
|
+
cpf_total_cost,
|
|
113
|
+
metal_total_amount,
|
|
114
|
+
diamond_total_amount,
|
|
115
|
+
stone_total_amount,
|
|
116
|
+
cpf_total_amount,
|
|
124
117
|
});
|
|
125
|
-
const
|
|
126
|
-
styleId: styleData.StyleId,
|
|
127
|
-
styleDate: styleData.StyleDate,
|
|
128
|
-
styleCode: styleData.StyleCode,
|
|
129
|
-
styleAliasNo: styleData.StyleAliasNo,
|
|
130
|
-
category: styleData.Category || "",
|
|
131
|
-
subCategory: styleData.SubCategory || "",
|
|
132
|
-
manufacturer: styleData.Manufacturer || "",
|
|
133
|
-
manufacturerNo: styleData.ManufacturerNo || "",
|
|
134
|
-
makeType: styleData.MakeType || "",
|
|
135
|
-
stockType: styleData.StockType || "",
|
|
136
|
-
itemSize: styleData.ItemSize || "",
|
|
137
|
-
brand: styleData.Brand || "",
|
|
138
|
-
gender: (0, product_helper_1.genderMapper)(styleData.Gender),
|
|
139
|
-
shapeCode: styleData.StyleMstDetail.find((detail) => detail.IsCenterStone)
|
|
140
|
-
?.ShapeCode || "",
|
|
141
|
-
isComplete: styleData.IsComplete || false,
|
|
142
|
-
restricted: styleData.Restricted || false,
|
|
143
|
-
currency: styleData.Currency || "INR",
|
|
144
|
-
rateChart: styleData.RateChart || "",
|
|
145
|
-
discountMarkup: styleData.DiscountMarkup || "",
|
|
146
|
-
cost: styleData.Cost || 0,
|
|
147
|
-
mrp: styleData.Mrp || 0,
|
|
148
|
-
hsnCode: styleData.HSN || "",
|
|
149
|
-
grossWeight: styleData.GrossWt || 0,
|
|
150
|
-
netWeight: styleData.NetWt || 0,
|
|
151
|
-
waxWeight: styleData.WaxWt || 0,
|
|
152
|
-
modelWeight: styleData.ModelWt || 0,
|
|
153
|
-
totalDiamondPcs: styleData.TotDiamondPcs || 0,
|
|
154
|
-
totalDiamondWeight: styleData.TotDiamondWt || 0,
|
|
155
|
-
totalClientDiamondPcs: styleData.TotClientDiamondPcs || 0,
|
|
156
|
-
totalClientDiamondWeight: styleData.TotClientDiamondWt || 0,
|
|
157
|
-
totalStonePcs: styleData.TotStonePcs || 0,
|
|
158
|
-
totalStoneWeight: styleData.TotStoneWt || 0,
|
|
159
|
-
totalCzPcs: styleData.TotCzPcs || 0,
|
|
160
|
-
totalCzWeight: styleData.TotCzWt || 0,
|
|
161
|
-
webDescription: styleData.WebDescription || "",
|
|
162
|
-
remarks: styleData.Remarks || "",
|
|
163
|
-
customerRemarks: styleData.CustomerRemarks || "",
|
|
164
|
-
specialRemarks: styleData.SpecialRemarks || "",
|
|
165
|
-
metalTotalCost,
|
|
166
|
-
diamondTotalCost,
|
|
167
|
-
stoneTotalCost,
|
|
168
|
-
czTotalCost: 0,
|
|
169
|
-
cpfTotalCost,
|
|
170
|
-
metalTotalAmount,
|
|
171
|
-
diamondTotalAmount,
|
|
172
|
-
stoneTotalAmount,
|
|
173
|
-
czTotalAmount: 0,
|
|
174
|
-
cpfTotalAmount,
|
|
175
|
-
};
|
|
118
|
+
const styleDetails = (0, product_helper_1.getStyleDetailLines)(styleData?.StyleMstDetail);
|
|
176
119
|
if (existingProduct) {
|
|
177
120
|
productsToUpdate.push({
|
|
178
121
|
product: product,
|
|
179
|
-
additional_data:
|
|
122
|
+
additional_data: {
|
|
123
|
+
extendedProductData,
|
|
124
|
+
styleDetails,
|
|
125
|
+
},
|
|
180
126
|
});
|
|
181
127
|
}
|
|
182
128
|
else {
|
|
183
129
|
productsToCreate.push({
|
|
184
130
|
product: product,
|
|
185
|
-
additional_data:
|
|
131
|
+
additional_data: {
|
|
132
|
+
extendedProductData,
|
|
133
|
+
styleDetails,
|
|
134
|
+
},
|
|
186
135
|
});
|
|
187
136
|
}
|
|
188
137
|
});
|
|
@@ -225,4 +174,4 @@ const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input
|
|
|
225
174
|
});
|
|
226
175
|
});
|
|
227
176
|
exports.default = styleMstWorkflow;
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUVBSzJDO0FBQzNDLDREQUlxQztBQU1yQyw4REFBc0U7QUFFdEUsbUNBQXlDO0FBRXpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQzVFLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEMsc0RBQXNEO0lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3JDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1I7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMs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
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEscUVBTzJDO0FBQzNDLDREQUlxQztBQUdyQyw4REFNbUM7QUFFbkMsdURBQXNEO0FBRXREOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQzVFLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLDZCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEMsc0RBQXNEO0lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3JDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1I7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMs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
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-style-data");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtb3ItdXBkYXRlLXN0eWxlLW1hc3Rlci9zdGVwcy9mZXRjaC1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSTdFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtBQUNwRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUNBQWlDO0FBRTNELE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFDeEIsVUFBNEIsRUFDNUIsT0FBZSxFQUNmLEtBQWUsRUFDZixVQUFVLEdBQUcsQ0FBQyxFQUNFLEVBQUU7SUFDbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLGFBQWEsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsT0FB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
|