@devx-commerce/plugin-gati 0.0.2-beta.9 → 0.0.3

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 (100) hide show
  1. package/.medusa/server/src/api/erp/webhook/route.js +41 -3
  2. package/.medusa/server/src/modules/category-group-master/index.js +13 -0
  3. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250531004725.js +15 -0
  4. package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +12 -0
  5. package/.medusa/server/src/modules/category-group-master/service.js +10 -0
  6. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  7. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  8. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
  9. package/.medusa/server/src/modules/category-master/models/category-master.js +5 -1
  10. package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
  11. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
  12. package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
  13. package/.medusa/server/src/modules/collection-group-master/service.js +10 -0
  14. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  15. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +14 -0
  16. package/.medusa/server/src/modules/collection-master/models/collection-master.js +4 -1
  17. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  18. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  19. package/.medusa/server/src/modules/erp-event/index.js +13 -0
  20. package/.medusa/server/src/modules/erp-event/migrations/Migration20250608221239.js +15 -0
  21. package/.medusa/server/src/modules/erp-event/models/erp-event.js +11 -0
  22. package/.medusa/server/src/modules/erp-event/service.js +10 -0
  23. package/.medusa/server/src/modules/extended-product/migrations/{Migration20250507055326.js → Migration20250519043358.js} +5 -5
  24. package/.medusa/server/src/modules/extended-product/migrations/Migration20250601030519.js +23 -0
  25. package/.medusa/server/src/modules/extended-product/models/extended-product.js +50 -3
  26. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  27. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250601045242.js +18 -0
  28. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +32 -1
  29. package/.medusa/server/src/modules/party-master/index.js +13 -0
  30. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
  31. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
  32. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
  33. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
  34. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
  35. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
  36. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
  37. package/.medusa/server/src/modules/party-master/models/party-master.js +60 -0
  38. package/.medusa/server/src/modules/party-master/service.js +10 -0
  39. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  40. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  41. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  42. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +3 -1
  43. package/.medusa/server/src/subscribers/category-group-master.js +117 -0
  44. package/.medusa/server/src/subscribers/category-master.js +130 -0
  45. package/.medusa/server/src/subscribers/collection-master.js +30 -23
  46. package/.medusa/server/src/subscribers/party-master-location.js +128 -0
  47. package/.medusa/server/src/subscribers/party-master.js +226 -0
  48. package/.medusa/server/src/subscribers/sub-category-master.js +130 -0
  49. package/.medusa/server/src/utils/address-formatter.js +60 -0
  50. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  51. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  52. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +18 -0
  53. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  54. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  55. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +26 -0
  56. package/.medusa/server/src/workflows/category-master/index.js +29 -1
  57. package/.medusa/server/src/workflows/category-master/steps/create-category.js +4 -1
  58. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +1 -1
  59. package/.medusa/server/src/workflows/category-master/steps/update-category.js +10 -9
  60. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  61. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +50 -0
  62. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +18 -0
  63. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  64. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  65. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +26 -0
  66. package/.medusa/server/src/workflows/collection-master/index.js +13 -3
  67. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +60 -0
  68. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +4 -1
  69. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +7 -8
  70. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +4 -1
  71. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +23 -1
  72. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  73. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +26 -0
  74. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +11 -1
  75. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +88 -21
  76. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  77. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  78. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +175 -10
  79. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  80. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  81. package/.medusa/server/src/workflows/helpers/product-helper.js +250 -61
  82. package/.medusa/server/src/workflows/index.js +18 -0
  83. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  84. package/.medusa/server/src/workflows/party-master/index.js +139 -0
  85. package/.medusa/server/src/workflows/party-master/steps/create-party.js +71 -0
  86. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  87. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  88. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  89. package/.medusa/server/src/workflows/party-master/steps/update-party.js +79 -0
  90. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  91. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +1 -2
  92. package/.medusa/server/src/workflows/sub-category-master/index.js +31 -3
  93. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +2 -1
  94. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +2 -2
  95. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +10 -9
  96. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +11 -2
  97. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  98. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +5 -1
  99. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +19 -2
  100. package/package.json +6 -2
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = categoryGroupMasterHandler;
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 category_group_master_1 = require("../modules/category-group-master");
9
+ /**
10
+ * Handles category master events by syncing them with Medusa categories
11
+ */
12
+ async function categoryGroupMasterHandler({ 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
+ // TODO: remove math.random from handle
41
+ const { result } = await (0, core_flows_1.createProductCategoriesWorkflow)(container).run({
42
+ input: {
43
+ product_categories: [
44
+ {
45
+ name: data.category_group_name,
46
+ handle: (0, product_helper_1.toKebabCase)([
47
+ data.category_group_name,
48
+ data.category_group_code,
49
+ Math.random().toString(36).substring(2, 15),
50
+ ]),
51
+ is_active: false,
52
+ is_internal: false,
53
+ metadata: {
54
+ external_id: data.id,
55
+ },
56
+ },
57
+ ],
58
+ additional_data: {
59
+ [data.id]: {
60
+ thumbnail: "",
61
+ images: [],
62
+ is_featured: false,
63
+ is_custom: false,
64
+ },
65
+ },
66
+ },
67
+ });
68
+ const categoryGroupMasterService = container.resolve(category_group_master_1.CATEGORY_GROUP_MASTER_MODULE);
69
+ await categoryGroupMasterService.updateCategoryGroupMasters([
70
+ {
71
+ id: data.id,
72
+ mapping_id: result[0].id,
73
+ },
74
+ ]);
75
+ }
76
+ /**
77
+ * Updates an existing category in Medusa if it has a mapping
78
+ */
79
+ async function handleUpdate(container, data) {
80
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
81
+ const { data: [category_master], } = await query.graph({
82
+ entity: "category_group_master",
83
+ fields: ["id", "mapping_id"],
84
+ filters: { id: data.id },
85
+ });
86
+ if (!category_master?.mapping_id) {
87
+ return;
88
+ }
89
+ await (0, core_flows_1.updateProductCategoriesWorkflow)(container).run({
90
+ input: {
91
+ selector: {
92
+ id: category_master.mapping_id,
93
+ },
94
+ update: {
95
+ name: data.category_group_name,
96
+ metadata: {
97
+ external_id: data.id,
98
+ },
99
+ },
100
+ },
101
+ });
102
+ }
103
+ /**
104
+ * Deletes a collection in Medusa if it has a mapping
105
+ */
106
+ async function handleDelete(container, data) {
107
+ if (!data?.mapping_id) {
108
+ return;
109
+ }
110
+ await (0, core_flows_1.deleteProductCategoriesWorkflow)(container).run({
111
+ input: [data.mapping_id],
112
+ });
113
+ }
114
+ exports.config = {
115
+ event: "category_group_master",
116
+ };
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZ3JvdXAtbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NhdGVnb3J5LWdyb3VwLW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsNkNBeUJDO0FBdERELHFEQUFzRTtBQUN0RSw0REFJcUM7QUFJckMsd0VBQWtFO0FBRWxFLDRFQUFnRjtBQWVoRjs7R0FFRztBQUNZLEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxFQUN2RCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQzFCLFNBQVMsR0FDZ0M7SUFDekMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixRQUFRLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxZQUFZLENBQ3pCLFNBQWMsRUFDZCxJQUE2QjtJQUU3Qix1Q0FBdUM7SUFDdkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0Q0FBK0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEUsS0FBSyxFQUFFO1lBQ0wsa0JBQWtCLEVBQUU7Z0JBQ2xCO29CQUNFLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CO29CQUM5QixNQUFNLEVBQUUsSUFBQSw0QkFBVyxFQUFDO3dCQUNsQixJQUFJLENBQUMsbUJBQW1CO3dCQUN4QixJQUFJLENBQUMsbUJBQW1CO3dCQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3FCQUM1QyxDQUFDO29CQUNGLFNBQVMsRUFBRSxLQUFLO29CQUNoQixXQUFXLEVBQUUsS0FBSztvQkFDbEIsUUFBUSxFQUFFO3dCQUNSLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRTtxQkFDckI7aUJBQ0Y7YUFDRjtZQUNELGVBQWUsRUFBRTtnQkFDZixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDVCxTQUFTLEVBQUUsRUFBRTtvQkFDYixNQUFNLEVBQUUsRUFBRTtvQkFDVixXQUFXLEVBQUUsS0FBSztvQkFDbEIsU0FBUyxFQUFFLEtBQUs7aUJBQ2pCO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUNILE1BQU0sMEJBQTBCLEdBQzlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0RBQTRCLENBQUMsQ0FBQztJQUVsRCxNQUFNLDBCQUEwQixDQUFDLDBCQUEwQixDQUFDO1FBQzFEO1lBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3pCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLFlBQVksQ0FDekIsU0FBYyxFQUNkLElBQTZCO0lBRTdCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUN4QixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7UUFDNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7S0FDekIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNqQyxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sSUFBQSw0Q0FBK0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbkQsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLEVBQUUsRUFBRSxlQUFlLENBQUMsVUFBVTthQUMvQjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtnQkFDOUIsUUFBUSxFQUFFO29CQUNSLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRTtpQkFDckI7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLFlBQVksQ0FDekIsU0FBYyxFQUNkLElBQTZCO0lBRTdCLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDdEIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLElBQUEsNENBQStCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ25ELEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDekIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsdUJBQXVCO0NBQy9CLENBQUMifQ==
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = categoryMasterHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const category_master_1 = require("../modules/category-master");
8
+ const product_helper_1 = require("../workflows/helpers/product-helper");
9
+ /**
10
+ * Handles category master events by syncing them with Medusa categories
11
+ */
12
+ async function categoryMasterHandler({ 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_group_master], } = await query.graph({
42
+ entity: "category_group_master",
43
+ fields: ["id", "mapping_id"],
44
+ filters: { grp_no: data.grp_group_no },
45
+ });
46
+ // TODO: remove math.random from handle
47
+ const { result } = await (0, core_flows_1.createProductCategoriesWorkflow)(container).run({
48
+ input: {
49
+ product_categories: [
50
+ {
51
+ name: data.category_name,
52
+ handle: (0, product_helper_1.toKebabCase)([
53
+ data.category_name,
54
+ data.category_code,
55
+ Math.random().toString(36).substring(2, 15),
56
+ ]),
57
+ is_active: false,
58
+ is_internal: false,
59
+ parent_category_id: category_group_master?.mapping_id,
60
+ metadata: {
61
+ external_id: data.id,
62
+ },
63
+ },
64
+ ],
65
+ additional_data: {
66
+ [data.id]: {
67
+ thumbnail: "",
68
+ images: [],
69
+ is_featured: false,
70
+ is_custom: false,
71
+ },
72
+ },
73
+ },
74
+ });
75
+ const categoryMasterService = container.resolve(category_master_1.CATEGORY_MASTER_MODULE);
76
+ await categoryMasterService.updateCategoryMasters([
77
+ {
78
+ id: data.id,
79
+ mapping_id: result[0].id,
80
+ },
81
+ ]);
82
+ }
83
+ /**
84
+ * Updates an existing category in Medusa if it has a mapping
85
+ */
86
+ async function handleUpdate(container, data) {
87
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
88
+ const { data: [category_master], } = await query.graph({
89
+ entity: "category_master",
90
+ fields: ["id", "mapping_id"],
91
+ filters: { id: data.id },
92
+ });
93
+ const { data: [category_group_master], } = await query.graph({
94
+ entity: "category_group_master",
95
+ fields: ["id", "mapping_id"],
96
+ filters: { grp_no: category_master.grp_group_no },
97
+ });
98
+ if (!category_master?.mapping_id) {
99
+ return;
100
+ }
101
+ await (0, core_flows_1.updateProductCategoriesWorkflow)(container).run({
102
+ input: {
103
+ selector: {
104
+ id: category_master.mapping_id,
105
+ },
106
+ update: {
107
+ name: data.category_name,
108
+ parent_category_id: category_group_master?.mapping_id,
109
+ metadata: {
110
+ external_id: data.id,
111
+ },
112
+ },
113
+ },
114
+ });
115
+ }
116
+ /**
117
+ * Deletes a collection in Medusa if it has a mapping
118
+ */
119
+ async function handleDelete(container, data) {
120
+ if (!data?.mapping_id) {
121
+ return;
122
+ }
123
+ await (0, core_flows_1.deleteProductCategoriesWorkflow)(container).run({
124
+ input: [data.mapping_id],
125
+ });
126
+ }
127
+ exports.config = {
128
+ event: "category_master",
129
+ };
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NhdGVnb3J5LW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErQkEsd0NBeUJDO0FBdkRELHFEQUFzRTtBQUN0RSw0REFJcUM7QUFFckMsZ0VBQW9FO0FBRXBFLHdFQUFrRTtBQWtCbEU7O0dBRUc7QUFDWSxLQUFLLFVBQVUscUJBQXFCLENBQUMsRUFDbEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUMxQixTQUFTLEdBQzJCO0lBQ3BDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQ3RDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDeEIsUUFBUSxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1I7b0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsWUFB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
@@ -5,24 +5,27 @@ exports.default = collectionMasterHandler;
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
6
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
7
  const collection_master_1 = require("../modules/collection-master");
8
+ const product_helper_1 = require("../workflows/helpers/product-helper");
8
9
  /**
9
10
  * Handles collection master events by syncing them with Medusa collections
10
11
  */
11
12
  async function collectionMasterHandler({ event: { data: eventData }, container, }) {
12
13
  try {
13
14
  const { operation, data } = eventData;
14
- switch (operation) {
15
- case "create":
16
- await handleCreate(container, data);
17
- break;
18
- case "update":
19
- await handleUpdate(container, data);
20
- break;
21
- case "delete":
22
- await handleDelete(container, data);
23
- break;
24
- default:
25
- throw new Error(`Unsupported operation: ${operation}`);
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
+ }
26
29
  }
27
30
  }
28
31
  catch (error) {
@@ -39,12 +42,23 @@ async function handleCreate(container, data) {
39
42
  collections: [
40
43
  {
41
44
  title: data.collection_name,
42
- handle: data.collection_name.toLowerCase(),
45
+ handle: (0, product_helper_1.toKebabCase)([data.collection_name]),
43
46
  metadata: {
44
47
  external_id: data.id,
45
48
  },
46
49
  },
47
50
  ],
51
+ additional_data: {
52
+ [data.id]: {
53
+ thumbnail: "",
54
+ images: [],
55
+ is_featured: false,
56
+ is_active: false,
57
+ is_custom: false,
58
+ smart_collection_type: null,
59
+ smart_collection_price_range: null,
60
+ },
61
+ },
48
62
  },
49
63
  });
50
64
  const collectionMasterService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
@@ -75,7 +89,6 @@ async function handleUpdate(container, data) {
75
89
  },
76
90
  update: {
77
91
  title: data.collection_name,
78
- handle: data.collection_name.toLowerCase(),
79
92
  metadata: {
80
93
  external_id: data.id,
81
94
  },
@@ -87,22 +100,16 @@ async function handleUpdate(container, data) {
87
100
  * Deletes a collection in Medusa if it has a mapping
88
101
  */
89
102
  async function handleDelete(container, data) {
90
- const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
91
- const { data: [collection_master], } = await query.graph({
92
- entity: "collection_master",
93
- fields: ["id", "mapping_id"],
94
- filters: { id: data.id },
95
- });
96
- if (!collection_master?.mapping_id) {
103
+ if (!data?.mapping_id) {
97
104
  return;
98
105
  }
99
106
  await (0, core_flows_1.deleteCollectionsWorkflow)(container).run({
100
107
  input: {
101
- ids: [collection_master.mapping_id],
108
+ ids: [data.mapping_id],
102
109
  },
103
110
  });
104
111
  }
105
112
  exports.config = {
106
113
  event: "collection_master",
107
114
  };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvY29sbGVjdGlvbi1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMEJBLDBDQXdCQztBQWpERCxxREFBc0U7QUFDdEUsNERBSXFDO0FBQ3JDLG9FQUF3RTtBQWdCeEU7O0dBRUc7QUFDWSxLQUFLLFVBQVUsdUJBQXVCLENBQUMsRUFDcEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUMxQixTQUFTLEdBQzZCO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBRXRDLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxZQUFZLENBQ3pCLFNBQWMsRUFDZCxJQUEwQjtJQUUxQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFB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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvY29sbGVjdGlvbi1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0JBLDBDQXlCQztBQXZERCxxREFBc0U7QUFDdEUsNERBSXFDO0FBRXJDLG9FQUF3RTtBQUV4RSx3RUFBa0U7QUFrQmxFOztHQUVHO0FBQ1ksS0FBSyxVQUFVLHVCQUF1QixDQUFDLEVBQ3BELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDMUIsU0FBUyxHQUM2QjtJQUN0QyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN0QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFV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
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = partyMasterHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const party_master_1 = require("../modules/party-master");
8
+ const address_formatter_1 = require("../utils/address-formatter");
9
+ const phone_mapper_1 = require("../utils/phone-mapper");
10
+ /**
11
+ * Handles party master events by syncing them with Medusa stock location
12
+ */
13
+ async function partyMasterHandler({ event: { data: eventData }, container, }) {
14
+ try {
15
+ const { operation, data } = eventData;
16
+ console.log("eventData", eventData);
17
+ for (const item of data) {
18
+ switch (operation) {
19
+ case "create":
20
+ await handleCreate(container, item);
21
+ break;
22
+ case "update":
23
+ await handleUpdate(container, item);
24
+ break;
25
+ case "delete":
26
+ await handleDelete(container, item);
27
+ break;
28
+ default:
29
+ throw new Error(`Unsupported operation: ${operation}`);
30
+ }
31
+ }
32
+ }
33
+ catch (error) {
34
+ console.error("Error in collection master handler:", error);
35
+ throw error;
36
+ }
37
+ }
38
+ /**
39
+ * Creates a new stock location in Medusa and updates the party master mapping
40
+ */
41
+ async function handleCreate(container, data) {
42
+ console.log("first", data);
43
+ const { result } = await (0, core_flows_1.createStockLocationsWorkflow)(container).run({
44
+ input: {
45
+ locations: [
46
+ {
47
+ name: data.firm_name,
48
+ address: {
49
+ ...(0, address_formatter_1.formatAddress)({
50
+ address_1: data.firm_add1 || "",
51
+ address_2: data.firm_add2 || "",
52
+ address_3: data.firm_add3 || "",
53
+ }),
54
+ country_code: data.country === "India" ? "IN" : data.country,
55
+ city: data.firm_city,
56
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
57
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
58
+ postal_code: data.firm_pin_code,
59
+ },
60
+ metadata: {
61
+ external_id: data.id,
62
+ },
63
+ },
64
+ ],
65
+ },
66
+ });
67
+ const partyMasterService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
68
+ await partyMasterService.updatePartyMasters([
69
+ {
70
+ id: data.id,
71
+ mapping_id: result[0].id,
72
+ },
73
+ ]);
74
+ }
75
+ /**
76
+ * Updates an existing stock location in Medusa if it has a mapping
77
+ */
78
+ async function handleUpdate(container, data) {
79
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
80
+ const customerModuleService = container.resolve(utils_1.Modules.CUSTOMER);
81
+ const { data: [party_master], } = await query.graph({
82
+ entity: "party_master",
83
+ fields: ["id", "mapping_id"],
84
+ filters: { id: data.id },
85
+ });
86
+ if (!party_master?.mapping_id) {
87
+ return;
88
+ }
89
+ await (0, core_flows_1.updateStockLocationsWorkflow)(container).run({
90
+ input: {
91
+ selector: {
92
+ id: party_master.mapping_id,
93
+ },
94
+ update: {
95
+ name: data.firm_name,
96
+ address: {
97
+ ...(0, address_formatter_1.formatAddress)({
98
+ address_1: data.firm_add1 || "",
99
+ address_2: data.firm_add2 || "",
100
+ address_3: data.firm_add3 || "",
101
+ }),
102
+ country_code: data.country === "India" ? "IN" : data.country,
103
+ city: data.firm_city,
104
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
105
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
106
+ postal_code: data.firm_pin_code,
107
+ },
108
+ },
109
+ },
110
+ });
111
+ }
112
+ /**
113
+ * Deletes a stock location in Medusa if it has a mapping
114
+ */
115
+ async function handleDelete(container, data) {
116
+ if (!data?.mapping_id) {
117
+ return;
118
+ }
119
+ await (0, core_flows_1.deleteStockLocationsWorkflow)(container).run({
120
+ input: {
121
+ ids: [data.mapping_id],
122
+ },
123
+ });
124
+ }
125
+ exports.config = {
126
+ event: "party_master_location",
127
+ };
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydHktbWFzdGVyLWxvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3BhcnR5LW1hc3Rlci1sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyRkEscUNBMEJDO0FBL0dELHFEQUErRTtBQUcvRSw0REFXcUM7QUFFckMsMERBQThEO0FBRTlELGtFQUFnRjtBQUNoRix3REFBZ0U7QUErRGhFOztHQUVHO0FBQ1ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLEVBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDMUIsU0FBUyxHQUN3QjtJQUNqQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFD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