@devx-commerce/plugin-gati 0.0.2-beta.2 → 0.0.2-beta.21
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-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/migrations/Migration20250519180539.js +14 -0
- package/.medusa/server/src/modules/category-master/models/category-master.js +12 -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/extended-product/migrations/{Migration20250426103546.js → Migration20250519043358.js} +11 -5
- package/.medusa/server/src/modules/extended-product/models/extended-product.js +15 -2
- 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/migrations/Migration20250519180538.js +14 -0
- package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +14 -0
- package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
- package/.medusa/server/src/subscribers/category-master.js +112 -0
- package/.medusa/server/src/subscribers/collection-master.js +115 -0
- package/.medusa/server/src/subscribers/sub-category-master.js +123 -0
- package/.medusa/server/src/workflows/category-master/index.js +58 -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 +26 -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 +22 -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 +9 -1
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +74 -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 +205 -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 +25 -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 +34 -9
- package/.medusa/server/src/workflows/helpers/product-helper.js +309 -2
- 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 +58 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +21 -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 +1 -1
- package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +9 -1
- package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +2 -1
- 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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = subCategoryMasterHandler;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const sub_category_master_1 = require("../modules/sub-category-master");
|
|
8
|
+
const product_helper_1 = require("../workflows/helpers/product-helper");
|
|
9
|
+
/**
|
|
10
|
+
* Handles sub category master events by syncing them with Medusa sub categories
|
|
11
|
+
*/
|
|
12
|
+
async function subCategoryMasterHandler({ event: { data: eventData }, container, }) {
|
|
13
|
+
try {
|
|
14
|
+
const { operation, data } = eventData;
|
|
15
|
+
for (const item of data) {
|
|
16
|
+
switch (operation) {
|
|
17
|
+
case "create":
|
|
18
|
+
await handleCreate(container, item);
|
|
19
|
+
break;
|
|
20
|
+
case "update":
|
|
21
|
+
await handleUpdate(container, item);
|
|
22
|
+
break;
|
|
23
|
+
case "delete":
|
|
24
|
+
await handleDelete(container, item);
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
throw new Error(`Unsupported operation: ${operation}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error("Error in category master handler:", error);
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new collection in Medusa and updates the collection master mapping
|
|
38
|
+
*/
|
|
39
|
+
async function handleCreate(container, data) {
|
|
40
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
41
|
+
const { data: [category_master], } = await query.graph({
|
|
42
|
+
entity: "category_master",
|
|
43
|
+
fields: ["id", "mapping_id"],
|
|
44
|
+
filters: { category_code: data.category_code },
|
|
45
|
+
});
|
|
46
|
+
const { result } = await (0, core_flows_1.createProductCategoriesWorkflow)(container).run({
|
|
47
|
+
input: {
|
|
48
|
+
product_categories: [
|
|
49
|
+
{
|
|
50
|
+
name: data.sub_category_name,
|
|
51
|
+
handle: (0, product_helper_1.toKebabCase)([
|
|
52
|
+
data.sub_category_name,
|
|
53
|
+
data.sub_category_code,
|
|
54
|
+
Math.random().toString(36).substring(2, 15),
|
|
55
|
+
]),
|
|
56
|
+
is_active: false,
|
|
57
|
+
is_internal: false,
|
|
58
|
+
parent_category_id: category_master.mapping_id,
|
|
59
|
+
metadata: {
|
|
60
|
+
external_id: data.id,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
additional_data: {
|
|
65
|
+
[data.id]: {
|
|
66
|
+
thumbnail: "",
|
|
67
|
+
images: [],
|
|
68
|
+
is_featured: false,
|
|
69
|
+
is_custom: false,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
const subCategoryMasterService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
|
|
75
|
+
await subCategoryMasterService.updateSubCategoryMasters([
|
|
76
|
+
{
|
|
77
|
+
id: data.id,
|
|
78
|
+
mapping_id: result[0].id,
|
|
79
|
+
},
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Updates an existing category in Medusa if it has a mapping
|
|
84
|
+
*/
|
|
85
|
+
async function handleUpdate(container, data) {
|
|
86
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
87
|
+
const { data: [sub_category_master], } = await query.graph({
|
|
88
|
+
entity: "sub_category_master",
|
|
89
|
+
fields: ["id", "mapping_id"],
|
|
90
|
+
filters: { id: data.id },
|
|
91
|
+
});
|
|
92
|
+
if (!sub_category_master?.mapping_id) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
await (0, core_flows_1.updateProductCategoriesWorkflow)(container).run({
|
|
96
|
+
input: {
|
|
97
|
+
selector: {
|
|
98
|
+
id: sub_category_master.mapping_id,
|
|
99
|
+
},
|
|
100
|
+
update: {
|
|
101
|
+
name: data.sub_category_name,
|
|
102
|
+
metadata: {
|
|
103
|
+
external_id: data.id,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Deletes a collection in Medusa if it has a mapping
|
|
111
|
+
*/
|
|
112
|
+
async function handleDelete(container, data) {
|
|
113
|
+
if (!data?.mapping_id) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
await (0, core_flows_1.deleteProductCategoriesWorkflow)(container).run({
|
|
117
|
+
input: [data.mapping_id],
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
exports.config = {
|
|
121
|
+
event: "sub_category_master",
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNhdGVnb3J5LW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zdWItY2F0ZWdvcnktbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQThCQSwyQ0F5QkM7QUF0REQscURBQXNFO0FBQ3RFLDREQUlxQztBQUVyQyx3RUFBNEU7QUFFNUUsd0VBQWtFO0FBaUJsRTs7R0FFRztBQUNZLEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxFQUNyRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQzFCLFNBQVMsR0FDOEI7SUFDdkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixRQUFRLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUss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
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.categoryMasterWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const create_category_1 = require("./steps/create-category");
|
|
6
|
+
const delete_category_1 = require("./steps/delete-category");
|
|
7
|
+
const fetch_category_master_1 = require("./steps/fetch-category-master");
|
|
8
|
+
const update_category_1 = require("./steps/update-category");
|
|
9
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
10
|
+
exports.categoryMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("category-master", (input) => {
|
|
11
|
+
const categoryData = (0, fetch_category_master_1.fetchCategoryData)(input);
|
|
12
|
+
(0, workflows_sdk_1.when)("create-category", input, (input) => {
|
|
13
|
+
return input.operation === "add";
|
|
14
|
+
}).then(() => {
|
|
15
|
+
const category = (0, create_category_1.createCategoryStep)(categoryData);
|
|
16
|
+
(0, core_flows_1.emitEventStep)({
|
|
17
|
+
eventName: "category_master",
|
|
18
|
+
data: {
|
|
19
|
+
operation: "create",
|
|
20
|
+
data: category,
|
|
21
|
+
},
|
|
22
|
+
}).config({
|
|
23
|
+
name: "create-category-event",
|
|
24
|
+
});
|
|
25
|
+
return new workflows_sdk_1.WorkflowResponse(category);
|
|
26
|
+
});
|
|
27
|
+
(0, workflows_sdk_1.when)("update-category", input, (input) => {
|
|
28
|
+
return input.operation === "update";
|
|
29
|
+
}).then(() => {
|
|
30
|
+
const category = (0, update_category_1.updateCategoryStep)(categoryData);
|
|
31
|
+
(0, core_flows_1.emitEventStep)({
|
|
32
|
+
eventName: "category_master",
|
|
33
|
+
data: {
|
|
34
|
+
operation: "update",
|
|
35
|
+
data: category,
|
|
36
|
+
},
|
|
37
|
+
}).config({
|
|
38
|
+
name: "update-category-event",
|
|
39
|
+
});
|
|
40
|
+
return new workflows_sdk_1.WorkflowResponse(category);
|
|
41
|
+
});
|
|
42
|
+
(0, workflows_sdk_1.when)("delete-category", input, (input) => {
|
|
43
|
+
return input.operation === "delete";
|
|
44
|
+
}).then(() => {
|
|
45
|
+
const category = (0, delete_category_1.deleteCategoryStep)(categoryData);
|
|
46
|
+
(0, core_flows_1.emitEventStep)({
|
|
47
|
+
eventName: "category_master",
|
|
48
|
+
data: {
|
|
49
|
+
operation: "delete",
|
|
50
|
+
data: category,
|
|
51
|
+
},
|
|
52
|
+
}).config({
|
|
53
|
+
name: "delete-category-event",
|
|
54
|
+
});
|
|
55
|
+
return new workflows_sdk_1.WorkflowResponse(category);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhdGVnb3J5LW1hc3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMkM7QUFHM0MsNkRBQTZEO0FBQzdELDZEQUE2RDtBQUM3RCx5RUFBa0U7QUFDbEUsNkRBQTZEO0FBQzdELDREQUE0RDtBQUUvQyxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsaUJBQWlCLEVBQ2pCLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUEseUNBQWlCLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUMsSUFBQSxvQkFBSSxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUEsb0NBQWtCLEVBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsSUFBQSwwQkFBYSxFQUFDO1lBQ1osU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixJQUFJLEVBQUU7Z0JBQ0osU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ1IsSUFBSSxFQUFFLHVCQUF1QjtTQUM5QixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBQSxvQ0FBa0IsRUFBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxJQUFBLDBCQUFhLEVBQUM7WUFDWixTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDUixJQUFJLEVBQUUsdUJBQXVCO1NBQzlCLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLFFBQVEsR0FBRyxJQUFBLG9DQUFrQixFQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUEsMEJBQWEsRUFBQztZQUNaLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNSLElBQUksRUFBRSx1QkFBdUI7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCategoryStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const category_master_1 = require("../../../modules/category-master");
|
|
6
|
+
exports.createCategoryStep = (0, workflows_sdk_1.createStep)("create-category-step", async (input, { container }) => {
|
|
7
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
8
|
+
const category = await categoryMasterModuleService.createCategoryMasters(input.map((item) => ({
|
|
9
|
+
grp_no: item.GrpNo,
|
|
10
|
+
category_code: item.CategoryCode,
|
|
11
|
+
category_name: item.CategoryName,
|
|
12
|
+
})));
|
|
13
|
+
return new workflows_sdk_1.StepResponse(category, category.map((item) => item.id));
|
|
14
|
+
}, async (id, { container }) => {
|
|
15
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
16
|
+
await categoryMasterModuleService.deleteCategoryMasters(id);
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNhdGVnb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXRlZ29yeS1tYXN0ZXIvc3RlcHMvY3JlYXRlLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxzRUFBMEU7QUFTN0QsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLHNCQUFzQixFQUN0QixLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSwyQkFBMkIsR0FDL0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3Q0FBc0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFHLE1BQU0sMkJBQTJCLENBQUMscUJBQXFCLENBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2xCLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWTtRQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7S0FDakMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixRQUFRLEVBQ1IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxFQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BDLE1BQU0sMkJBQTJCLEdBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0NBQXNCLENBQUMsQ0FBQztJQUU1QyxNQUFNLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteCategoryStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const category_master_1 = require("../../../modules/category-master");
|
|
6
|
+
exports.deleteCategoryStep = (0, workflows_sdk_1.createStep)("delete-category-step", async (input, { container }) => {
|
|
7
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
8
|
+
const prevCategory = await categoryMasterModuleService.listCategoryMasters({
|
|
9
|
+
filters: {
|
|
10
|
+
id: {
|
|
11
|
+
in: input.map((item) => item.id),
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
const category = await categoryMasterModuleService.deleteCategoryMasters(input.map((item) => item.id));
|
|
16
|
+
return new workflows_sdk_1.StepResponse(category, prevCategory);
|
|
17
|
+
}, async (prevCategory, { container }) => {
|
|
18
|
+
if (!prevCategory)
|
|
19
|
+
return;
|
|
20
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
21
|
+
await categoryMasterModuleService.createCategoryMasters(prevCategory);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNhdGVnb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXRlZ29yeS1tYXN0ZXIvc3RlcHMvZGVsZXRlLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUs3RSxzRUFBMEU7QUFNN0QsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLHNCQUFzQixFQUN0QixLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSwyQkFBMkIsR0FDL0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3Q0FBc0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7UUFDekUsT0FBTyxFQUFFO1lBQ1AsRUFBRSxFQUFFO2dCQUNGLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2pDO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLDJCQUEyQixDQUFDLHFCQUFxQixDQUN0RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzdCLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxFQUNELEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BDLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTztJQUMxQixNQUFNLDJCQUEyQixHQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLHdDQUFzQixDQUFDLENBQUM7SUFFNUMsTUFBTSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchCategoryData = 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.fetchCategoryData = (0, workflows_sdk_1.createStep)("fetch-category-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.flatMap((innerArray) => innerArray));
|
|
67
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-sub-category-data");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2F0ZWdvcnktbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXRlZ29yeS1tYXN0ZXIvc3RlcHMvZmV0Y2gtY2F0ZWdvcnktbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFH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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCategoryStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const category_master_1 = require("../../../modules/category-master");
|
|
6
|
+
exports.updateCategoryStep = (0, workflows_sdk_1.createStep)("update-category-step", async (input, { container }) => {
|
|
7
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
8
|
+
const prevCategory = await categoryMasterModuleService.listCategoryMasters({
|
|
9
|
+
grp_no: {
|
|
10
|
+
$in: input.map((item) => item.GrpNo),
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
const category = await categoryMasterModuleService.updateCategoryMasters(input.map((item) => ({
|
|
14
|
+
id: prevCategory.find((c) => c.grp_no === item.GrpNo)?.id,
|
|
15
|
+
grp_no: item.GrpNo,
|
|
16
|
+
category_code: item.CategoryCode,
|
|
17
|
+
category_name: item.CategoryName,
|
|
18
|
+
})));
|
|
19
|
+
return new workflows_sdk_1.StepResponse(category, prevCategory);
|
|
20
|
+
}, async (prevCategory, { container }) => {
|
|
21
|
+
if (!prevCategory)
|
|
22
|
+
return;
|
|
23
|
+
const categoryMasterModuleService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
|
|
24
|
+
await categoryMasterModuleService.createCategoryMasters(prevCategory);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNhdGVnb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXRlZ29yeS1tYXN0ZXIvc3RlcHMvdXBkYXRlLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSxzRUFBMEU7QUFTN0QsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLHNCQUFzQixFQUN0QixLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSwyQkFBMkIsR0FDL0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3Q0FBc0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7UUFDekUsTUFBTSxFQUFFO1lBQ04sR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDckM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLDJCQUEyQixDQUFDLHFCQUFxQixDQUN0RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEVBQUUsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQ3pELE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDaEMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO0tBQ2pDLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxFQUNELEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BDLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTztJQUMxQixNQUFNLDJCQUEyQixHQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLHdDQUFzQixDQUFDLENBQUM7SUFFNUMsTUFBTSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectionMasterWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const create_collection_1 = require("./steps/create-collection");
|
|
7
|
+
const delete_collection_1 = require("./steps/delete-collection");
|
|
8
|
+
const fetch_collection_master_1 = require("./steps/fetch-collection-master");
|
|
9
|
+
const update_collection_1 = require("./steps/update-collection");
|
|
10
|
+
exports.collectionMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("collection-master", (input) => {
|
|
11
|
+
const collectionData = (0, fetch_collection_master_1.fetchCollectionData)(input);
|
|
12
|
+
(0, workflows_sdk_1.when)("create-collection", input, (input) => {
|
|
13
|
+
return input.operation === "add";
|
|
14
|
+
}).then(() => {
|
|
15
|
+
const collection = (0, create_collection_1.createCollectionStep)(collectionData);
|
|
16
|
+
(0, core_flows_1.emitEventStep)({
|
|
17
|
+
eventName: "collection_master",
|
|
18
|
+
data: {
|
|
19
|
+
operation: "create",
|
|
20
|
+
data: collection,
|
|
21
|
+
},
|
|
22
|
+
}).config({
|
|
23
|
+
name: "create-collection-event",
|
|
24
|
+
});
|
|
25
|
+
return new workflows_sdk_1.WorkflowResponse(collection);
|
|
26
|
+
});
|
|
27
|
+
(0, workflows_sdk_1.when)("update-collection", input, (input) => {
|
|
28
|
+
return input.operation === "update";
|
|
29
|
+
}).then(() => {
|
|
30
|
+
const collection = (0, update_collection_1.updateCollectionStep)(collectionData);
|
|
31
|
+
(0, core_flows_1.emitEventStep)({
|
|
32
|
+
eventName: "collection_master",
|
|
33
|
+
data: {
|
|
34
|
+
operation: "update",
|
|
35
|
+
data: collection,
|
|
36
|
+
},
|
|
37
|
+
}).config({
|
|
38
|
+
name: "update-collection-event",
|
|
39
|
+
});
|
|
40
|
+
return new workflows_sdk_1.WorkflowResponse(collection);
|
|
41
|
+
});
|
|
42
|
+
(0, workflows_sdk_1.when)("delete-collection", input, (input) => {
|
|
43
|
+
return input.operation === "delete";
|
|
44
|
+
}).then(() => {
|
|
45
|
+
const collection = (0, delete_collection_1.deleteCollectionStep)(collectionData);
|
|
46
|
+
(0, core_flows_1.emitEventStep)({
|
|
47
|
+
eventName: "collection_master",
|
|
48
|
+
data: {
|
|
49
|
+
operation: "delete",
|
|
50
|
+
data: collection,
|
|
51
|
+
},
|
|
52
|
+
}).config({
|
|
53
|
+
name: "delete-collection-event",
|
|
54
|
+
});
|
|
55
|
+
return new workflows_sdk_1.WorkflowResponse(collection);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbGxlY3Rpb24tbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkyQztBQUMzQyw0REFBNEQ7QUFHNUQsaUVBQWlFO0FBQ2pFLGlFQUFpRTtBQUNqRSw2RUFBc0U7QUFDdEUsaUVBQWlFO0FBRXBELFFBQUEsd0JBQXdCLEdBQUcsSUFBQSw4QkFBYyxFQUNwRCxtQkFBbUIsRUFDbkIsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDckIsTUFBTSxjQUFjLEdBQUcsSUFBQSw2Q0FBbUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxJQUFBLG9CQUFJLEVBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxJQUFBLDBCQUFhLEVBQUM7WUFDWixTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLFVBQVU7YUFDakI7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ1IsSUFBSSxFQUFFLHlCQUF5QjtTQUNoQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxJQUFBLDBCQUFhLEVBQUM7WUFDWixTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLFVBQVU7YUFDakI7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ1IsSUFBSSxFQUFFLHlCQUF5QjtTQUNoQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxJQUFBLDBCQUFhLEVBQUM7WUFDWixTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLFVBQVU7YUFDakI7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ1IsSUFBSSxFQUFFLHlCQUF5QjtTQUNoQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCollectionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const collection_master_1 = require("../../../modules/collection-master");
|
|
6
|
+
exports.createCollectionStep = (0, workflows_sdk_1.createStep)("create-collection-step", async (input, { container }) => {
|
|
7
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
8
|
+
const collection = await collectionMasterModuleService.createCollectionMasters(input.map((item) => ({
|
|
9
|
+
collection_no: item.CollectionNo,
|
|
10
|
+
collection_code: item.CollectionCode,
|
|
11
|
+
collection_name: item.CollectionName,
|
|
12
|
+
mapping_id: null,
|
|
13
|
+
})));
|
|
14
|
+
return new workflows_sdk_1.StepResponse(collection, collection.map((item) => item.id));
|
|
15
|
+
}, async (id, { container }) => {
|
|
16
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
17
|
+
await collectionMasterModuleService.deleteCollectionMasters(id);
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbGxlY3Rpb24tbWFzdGVyL3N0ZXBzL2NyZWF0ZS1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSwwRUFBOEU7QUFTakUsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLHdCQUF3QixFQUN4QixLQUFLLEVBQUUsS0FBa0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDMUQsTUFBTSw2QkFBNkIsR0FDakMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBd0IsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sVUFBVSxHQUNkLE1BQU0sNkJBQTZCLENBQUMsdUJBQXVCLENBQ3pELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYztRQUNwQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7UUFDcEMsVUFBVSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUVKLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixVQUFVLEVBQ1YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNsQyxDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxFQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BDLE1BQU0sNkJBQTZCLEdBQ2pDLFNBQVMsQ0FBQyxPQUFPLENBQUMsNENBQXdCLENBQUMsQ0FBQztJQUU5QyxNQUFNLDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteCollectionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const collection_master_1 = require("../../../modules/collection-master");
|
|
6
|
+
exports.deleteCollectionStep = (0, workflows_sdk_1.createStep)("delete-collection-step", async (input, { container }) => {
|
|
7
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
8
|
+
const prevCollection = await collectionMasterModuleService.listCollectionMasters({
|
|
9
|
+
collection_no: input.map((item) => item.CollectionNo),
|
|
10
|
+
});
|
|
11
|
+
if (!prevCollection.length) {
|
|
12
|
+
return new workflows_sdk_1.StepResponse(null, null);
|
|
13
|
+
}
|
|
14
|
+
await collectionMasterModuleService.deleteCollectionMasters(prevCollection.map((item) => item.id));
|
|
15
|
+
return new workflows_sdk_1.StepResponse(prevCollection, prevCollection);
|
|
16
|
+
}, async (prevCollection, { container }) => {
|
|
17
|
+
if (!prevCollection)
|
|
18
|
+
return;
|
|
19
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
20
|
+
await collectionMasterModuleService.createCollectionMasters(prevCollection);
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbGxlY3Rpb24tbWFzdGVyL3N0ZXBzL2RlbGV0ZS1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSwwRUFBOEU7QUFTakUsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLHdCQUF3QixFQUN4QixLQUFLLEVBQUUsS0FBa0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDMUQsTUFBTSw2QkFBNkIsR0FDakMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBd0IsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sY0FBYyxHQUNsQixNQUFNLDZCQUE2QixDQUFDLHFCQUFxQixDQUFDO1FBQ3hELGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ3RELENBQUMsQ0FBQztJQUVMLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLDZCQUE2QixDQUFDLHVCQUF1QixDQUN6RCxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ3RDLENBQUM7SUFDRixPQUFPLElBQUksNEJBQVksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxFQUNELEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3RDLElBQUksQ0FBQyxjQUFjO1FBQUUsT0FBTztJQUM1QixNQUFNLDZCQUE2QixHQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRDQUF3QixDQUFDLENBQUM7SUFFOUMsTUFBTSw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchCollectionData = 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.fetchCollectionData = (0, workflows_sdk_1.createStep)("fetch-collection-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.flatMap((innerArray) => innerArray));
|
|
67
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-collection-data");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY29sbGVjdGlvbi1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbGxlY3Rpb24tbWFzdGVyL3N0ZXBzL2ZldGNoLWNvbGxlY3Rpb24tbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFp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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCollectionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const collection_master_1 = require("../../../modules/collection-master");
|
|
6
|
+
exports.updateCollectionStep = (0, workflows_sdk_1.createStep)("update-collection-step", async (input, { container }) => {
|
|
7
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
8
|
+
const prevCollection = await collectionMasterModuleService.listCollectionMasters({
|
|
9
|
+
filters: {
|
|
10
|
+
id: {
|
|
11
|
+
in: input.map((item) => item.id),
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
const collection = await collectionMasterModuleService.updateCollectionMasters(input.map((item) => ({
|
|
16
|
+
id: item.id,
|
|
17
|
+
collection_no: item.collection_no,
|
|
18
|
+
collection_code: item.collection_code,
|
|
19
|
+
collection_name: item.collection_name,
|
|
20
|
+
mapping_id: item.mapping_id ?? null,
|
|
21
|
+
})));
|
|
22
|
+
return new workflows_sdk_1.StepResponse(collection, prevCollection);
|
|
23
|
+
}, async (prevCollection, { container }) => {
|
|
24
|
+
if (!prevCollection)
|
|
25
|
+
return;
|
|
26
|
+
const collectionMasterModuleService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
|
|
27
|
+
await collectionMasterModuleService.createCollectionMasters(prevCollection);
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbGxlY3Rpb24tbWFzdGVyL3N0ZXBzL3VwZGF0ZS1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSwwRUFBOEU7QUFXakUsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLHdCQUF3QixFQUN4QixLQUFLLEVBQUUsS0FBa0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDMUQsTUFBTSw2QkFBNkIsR0FDakMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBd0IsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sY0FBYyxHQUNsQixNQUFNLDZCQUE2QixDQUFDLHFCQUFxQixDQUFDO1FBQ3hELE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNqQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUwsTUFBTSxVQUFVLEdBQ2QsTUFBTSw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FDekQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDWCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7UUFDakMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtRQUNyQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJO0tBQ3BDLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFFSixPQUFPLElBQUksNEJBQVksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxFQUNELEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3RDLElBQUksQ0FBQyxjQUFjO1FBQUUsT0FBTztJQUM1QixNQUFNLDZCQUE2QixHQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRDQUF3QixDQUFDLENBQUM7SUFFOUMsTUFBTSw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -48,9 +48,17 @@ exports.createExtendedProductFromProductWorkflow = (0, workflows_sdk_1.createWor
|
|
|
48
48
|
},
|
|
49
49
|
]);
|
|
50
50
|
});
|
|
51
|
+
(0, core_flows_1.emitEventStep)({
|
|
52
|
+
eventName: "sync-to-os",
|
|
53
|
+
data: {
|
|
54
|
+
type: "product",
|
|
55
|
+
operation: "create",
|
|
56
|
+
id: input.product.id,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
51
59
|
return new workflows_sdk_1.WorkflowResponse({
|
|
52
60
|
extendedProduct,
|
|
53
61
|
styleDetailsLines,
|
|
54
62
|
});
|
|
55
63
|
});
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1leHRlbmRlZC1wcm9kdWN0LWZyb20tcHJvZHVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxxREFBb0Q7QUFDcEQscUVBSzJDO0FBQzNDLDREQUdxQztBQUVyQyxxRUFBeUU7QUFFekUseUlBQXNJO0FBQ3RJLDhGQUF3RTtBQUN4RSxrR0FBMkU7QUFVOUQsUUFBQSx3Q0FBd0MsR0FBRyxJQUFBLDhCQUFjLEVBQ3BFLHNDQUFzQyxFQUN0QyxDQUFDLEtBQW9ELEVBQUUsRUFBRTtJQUN2RCxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQ3BCO1FBQ0UsS0FBSztLQUNOLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUNyQyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBQSxpQ0FBeUIsRUFBQztRQUNoRCxHQUFHLElBQUksQ0FBQyxtQkFBbUI7S0FDNUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLG9CQUFJLEVBQzVCLEVBQUUsZUFBZSxFQUFFLEVBQ25CLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFBLG1DQUEwQixFQUFDO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCw4Q0FBOEM7SUFDOUMsTUFBTSxlQUFlLEdBQUcsSUFBQSx5QkFBUyxFQUMvQjtRQUNFLGlCQUFpQjtLQUNsQixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzFELENBQUM7SUFFRixJQUFBLG9CQUFJLEVBQ0YsRUFBRSxpQkFBaUIsRUFBRSxFQUNyQixDQUFDLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUMzRCxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixJQUFBLHVFQUFrQyxFQUFDO1lBQ2pDLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0osYUFBYSxFQUFFLGVBQWU7YUFDL0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRixFQUFFLGVBQWUsRUFBRSxFQUNuQixDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLElBQUEsaUNBQW9CLEVBQUM7WUFDbkI7Z0JBQ0UsQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7aUJBQzdCO2dCQUNELENBQUMsMENBQXVCLENBQUMsRUFBRTtvQkFDekIsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBQUU7aUJBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1lBQ2YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtTQUNyQjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixlQUFlO1FBQ2YsaUJBQWlCO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|