@devx-commerce/plugin-gati 0.0.2-beta.2 → 0.0.2-beta.20

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.
Files changed (80) hide show
  1. package/.medusa/server/src/api/erp/webhook/route.js +63 -14
  2. package/.medusa/server/src/links/extended-variant.js +10 -0
  3. package/.medusa/server/src/modules/category-master/index.js +13 -0
  4. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  5. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  6. package/.medusa/server/src/modules/category-master/models/category-master.js +12 -0
  7. package/.medusa/server/src/modules/category-master/service.js +10 -0
  8. package/.medusa/server/src/modules/collection-master/index.js +13 -0
  9. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  10. package/.medusa/server/src/modules/collection-master/models/collection-master.js +12 -0
  11. package/.medusa/server/src/modules/collection-master/service.js +10 -0
  12. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  13. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  14. package/.medusa/server/src/modules/extended-product/migrations/{Migration20250426103546.js → Migration20250519043358.js} +11 -5
  15. package/.medusa/server/src/modules/extended-product/models/extended-product.js +15 -2
  16. package/.medusa/server/src/modules/extended-variant/index.js +13 -0
  17. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +27 -0
  18. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +14 -0
  19. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +131 -0
  20. package/.medusa/server/src/modules/extended-variant/service.js +12 -0
  21. package/.medusa/server/src/modules/raw-master/index.js +13 -0
  22. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
  23. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
  24. package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
  25. package/.medusa/server/src/modules/raw-master/service.js +10 -0
  26. package/.medusa/server/src/modules/shape-master/index.js +13 -0
  27. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
  28. package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
  29. package/.medusa/server/src/modules/shape-master/service.js +10 -0
  30. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  31. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  32. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  33. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +14 -0
  34. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  35. package/.medusa/server/src/subscribers/category-master.js +112 -0
  36. package/.medusa/server/src/subscribers/collection-master.js +115 -0
  37. package/.medusa/server/src/subscribers/sub-category-master.js +119 -0
  38. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  39. package/.medusa/server/src/workflows/category-master/steps/create-category.js +18 -0
  40. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  41. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  42. package/.medusa/server/src/workflows/category-master/steps/update-category.js +26 -0
  43. package/.medusa/server/src/workflows/collection-master/index.js +58 -0
  44. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +19 -0
  45. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  46. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  47. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +29 -0
  48. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +9 -1
  49. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +74 -0
  50. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-extended-variant.js +18 -0
  51. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-style-detail-lines.js +25 -0
  52. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +181 -0
  53. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +70 -0
  54. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +25 -0
  55. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +20 -0
  56. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +34 -9
  57. package/.medusa/server/src/workflows/helpers/product-helper.js +309 -2
  58. package/.medusa/server/src/workflows/hooks/variant-created.js +16 -0
  59. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  60. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +25 -0
  61. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  62. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  63. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  64. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  65. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +21 -0
  66. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  67. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  68. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  69. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  70. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +21 -0
  71. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  72. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  73. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +30 -0
  74. package/.medusa/server/src/workflows/types/index.js +1 -1
  75. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +9 -1
  76. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +2 -1
  77. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +39 -0
  78. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +37 -0
  79. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-with-field.js +15 -0
  80. package/package.json +1 -1
@@ -0,0 +1,119 @@
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 product_helper_1 = require("../workflows/helpers/product-helper");
8
+ const sub_category_master_1 = require("../modules/sub-category-master");
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)([data.sub_category_name]),
52
+ is_active: false,
53
+ is_internal: false,
54
+ parent_category_id: category_master.mapping_id,
55
+ metadata: {
56
+ external_id: data.id,
57
+ },
58
+ },
59
+ ],
60
+ additional_data: {
61
+ [data.id]: {
62
+ thumbnail: "",
63
+ images: [],
64
+ is_featured: false,
65
+ is_custom: false,
66
+ },
67
+ },
68
+ },
69
+ });
70
+ const subCategoryMasterService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
71
+ await subCategoryMasterService.updateSubCategoryMasters([
72
+ {
73
+ id: data.id,
74
+ mapping_id: result[0].id,
75
+ },
76
+ ]);
77
+ }
78
+ /**
79
+ * Updates an existing category in Medusa if it has a mapping
80
+ */
81
+ async function handleUpdate(container, data) {
82
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
83
+ const { data: [sub_category_master], } = await query.graph({
84
+ entity: "sub_category_master",
85
+ fields: ["id", "mapping_id"],
86
+ filters: { id: data.id },
87
+ });
88
+ if (!sub_category_master?.mapping_id) {
89
+ return;
90
+ }
91
+ await (0, core_flows_1.updateProductCategoriesWorkflow)(container).run({
92
+ input: {
93
+ selector: {
94
+ id: sub_category_master.mapping_id,
95
+ },
96
+ update: {
97
+ name: data.sub_category_name,
98
+ metadata: {
99
+ external_id: data.id,
100
+ },
101
+ },
102
+ },
103
+ });
104
+ }
105
+ /**
106
+ * Deletes a collection in Medusa if it has a mapping
107
+ */
108
+ async function handleDelete(container, data) {
109
+ if (!data?.mapping_id) {
110
+ return;
111
+ }
112
+ await (0, core_flows_1.deleteProductCategoriesWorkflow)(container).run({
113
+ input: [data.mapping_id],
114
+ });
115
+ }
116
+ exports.config = {
117
+ event: "sub_category_master",
118
+ };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNhdGVnb3J5LW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zdWItY2F0ZWdvcnktbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtDQSwyQ0F5QkM7QUExREQscURBQXNFO0FBQ3RFLDREQUlxQztBQUlyQyx3RUFBa0U7QUFJbEUsd0VBQTRFO0FBaUI1RTs7R0FFRztBQUNZLEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxFQUNyRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQzFCLFNBQVMsR0FDOEI7SUFDdkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixRQUFRLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUss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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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1leHRlbmRlZC1wcm9kdWN0LWZyb20tcHJvZHVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxxREFBb0Q7QUFDcEQscUVBSzJDO0FBQzNDLDREQUFtRTtBQUVuRSxxRUFBeUU7QUFFekUseUlBQXNJO0FBQ3RJLDhGQUF3RTtBQUN4RSxrR0FBMkU7QUFVOUQsUUFBQSx3Q0FBd0MsR0FBRyxJQUFBLDhCQUFjLEVBQ3BFLHNDQUFzQyxFQUN0QyxDQUFDLEtBQW9ELEVBQUUsRUFBRTtJQUN2RCxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQ3BCO1FBQ0UsS0FBSztLQUNOLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUNyQyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBQSxpQ0FBeUIsRUFBQztRQUNoRCxHQUFHLElBQUksQ0FBQyxtQkFBbUI7S0FDNUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLG9CQUFJLEVBQzVCLEVBQUUsZUFBZSxFQUFFLEVBQ25CLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFBLG1DQUEwQixFQUFDO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCw4Q0FBOEM7SUFDOUMsTUFBTSxlQUFlLEdBQUcsSUFBQSx5QkFBUyxFQUMvQjtRQUNFLGlCQUFpQjtLQUNsQixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzFELENBQUM7SUFFRixJQUFBLG9CQUFJLEVBQ0YsRUFBRSxpQkFBaUIsRUFBRSxFQUNyQixDQUFDLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUMzRCxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixJQUFBLHVFQUFrQyxFQUFDO1lBQ2pDLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0osYUFBYSxFQUFFLGVBQWU7YUFDL0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRixFQUFFLGVBQWUsRUFBRSxFQUNuQixDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLElBQUEsaUNBQW9CLEVBQUM7WUFDbkI7Z0JBQ0UsQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7aUJBQzdCO2dCQUNELENBQUMsMENBQXVCLENBQUMsRUFBRTtvQkFDekIsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBQUU7aUJBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixlQUFlO1FBQ2YsaUJBQWlCO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1leHRlbmRlZC1wcm9kdWN0LWZyb20tcHJvZHVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxxREFBb0Q7QUFDcEQscUVBSzJDO0FBQzNDLDREQUdxQztBQUVyQyxxRUFBeUU7QUFFekUseUlBQXNJO0FBQ3RJLDhGQUF3RTtBQUN4RSxrR0FBMkU7QUFVOUQsUUFBQSx3Q0FBd0MsR0FBRyxJQUFBLDhCQUFjLEVBQ3BFLHNDQUFzQyxFQUN0QyxDQUFDLEtBQW9ELEVBQUUsRUFBRTtJQUN2RCxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQ3BCO1FBQ0UsS0FBSztLQUNOLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUNyQyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBQSxpQ0FBeUIsRUFBQztRQUNoRCxHQUFHLElBQUksQ0FBQyxtQkFBbUI7S0FDNUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLG9CQUFJLEVBQzVCLEVBQUUsZUFBZSxFQUFFLEVBQ25CLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFBLG1DQUEwQixFQUFDO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCw4Q0FBOEM7SUFDOUMsTUFBTSxlQUFlLEdBQUcsSUFBQSx5QkFBUyxFQUMvQjtRQUNFLGlCQUFpQjtLQUNsQixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzFELENBQUM7SUFFRixJQUFBLG9CQUFJLEVBQ0YsRUFBRSxpQkFBaUIsRUFBRSxFQUNyQixDQUFDLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUMzRCxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixJQUFBLHVFQUFrQyxFQUFDO1lBQ2pDLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0osYUFBYSxFQUFFLGVBQWU7YUFDL0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRixFQUFFLGVBQWUsRUFBRSxFQUNuQixDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLElBQUEsaUNBQW9CLEVBQUM7WUFDbkI7Z0JBQ0UsQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7aUJBQzdCO2dCQUNELENBQUMsMENBQXVCLENBQUMsRUFBRTtvQkFDekIsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBQUU7aUJBQ3hDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsMEJBQWEsRUFBQztRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1lBQ2YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtTQUNyQjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixlQUFlO1FBQ2YsaUJBQWlCO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=