@devx-commerce/plugin-gati 0.0.2-beta.6 → 0.0.2-beta.61

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 (241) hide show
  1. package/.medusa/server/src/api/admin/erp-event/middlewares.js +17 -0
  2. package/.medusa/server/src/api/admin/erp-event/query-config.js +23 -0
  3. package/.medusa/server/src/api/admin/erp-event/route.js +22 -0
  4. package/.medusa/server/src/api/admin/erp-event/utils.js +20 -0
  5. package/.medusa/server/src/api/admin/erp-event/validators.js +9 -0
  6. package/.medusa/server/src/api/admin/middlewares.js +11 -0
  7. package/.medusa/server/src/api/erp/webhook/config.js +95 -0
  8. package/.medusa/server/src/api/erp/webhook/route.js +39 -45
  9. package/.medusa/server/src/api/erp/webhook/utils.js +61 -0
  10. package/.medusa/server/src/api/middlewares.js +15 -0
  11. package/.medusa/server/src/api/store/carts/[id]/custom-add-line-items/route.js +17 -0
  12. package/.medusa/server/src/api/store/carts/middleware.js +14 -0
  13. package/.medusa/server/src/api/store/custom-price/[variant_id]/route.js +25 -0
  14. package/.medusa/server/src/api/store/custom-price/middleware.js +13 -0
  15. package/.medusa/server/src/api/store/custom-price/query-config.js +11 -0
  16. package/.medusa/server/src/api/store/custom-price/validators.js +16 -0
  17. package/.medusa/server/src/api/store/middleware.js +15 -0
  18. package/.medusa/server/src/lib/api-response.js +103 -0
  19. package/.medusa/server/src/modules/category-group-master/index.js +13 -0
  20. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250531004725.js +15 -0
  21. package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +12 -0
  22. package/.medusa/server/src/modules/category-group-master/service.js +10 -0
  23. package/.medusa/server/src/modules/category-master/index.js +13 -0
  24. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  25. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  26. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
  27. package/.medusa/server/src/modules/category-master/models/category-master.js +15 -0
  28. package/.medusa/server/src/modules/category-master/service.js +10 -0
  29. package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
  30. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
  31. package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
  32. package/.medusa/server/src/modules/collection-group-master/service.js +10 -0
  33. package/.medusa/server/src/modules/collection-master/index.js +13 -0
  34. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  35. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +14 -0
  36. package/.medusa/server/src/modules/collection-master/models/collection-master.js +15 -0
  37. package/.medusa/server/src/modules/collection-master/service.js +10 -0
  38. package/.medusa/server/src/modules/discount-master/index.js +13 -0
  39. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +21 -0
  40. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +16 -0
  41. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +14 -0
  42. package/.medusa/server/src/modules/discount-master/models/discount-master.js +62 -0
  43. package/.medusa/server/src/modules/discount-master/service.js +84 -0
  44. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  45. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  46. package/.medusa/server/src/modules/erp/service.js +45 -1
  47. package/.medusa/server/src/modules/erp-event/index.js +13 -0
  48. package/.medusa/server/src/modules/erp-event/migrations/Migration20250608221239.js +15 -0
  49. package/.medusa/server/src/modules/erp-event/models/erp-event.js +11 -0
  50. package/.medusa/server/src/modules/erp-event/service.js +10 -0
  51. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
  52. package/.medusa/server/src/modules/extended-product/models/extended-product.js +54 -5
  53. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  54. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
  55. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
  56. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
  57. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
  58. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
  59. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +250 -11
  60. package/.medusa/server/src/modules/extended-variant/service.js +24 -1
  61. package/.medusa/server/src/modules/party-master/index.js +13 -0
  62. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
  63. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
  64. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
  65. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
  66. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
  67. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
  68. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
  69. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +14 -0
  70. package/.medusa/server/src/modules/party-master/models/party-master.js +61 -0
  71. package/.medusa/server/src/modules/party-master/service.js +10 -0
  72. package/.medusa/server/src/modules/raw-master/index.js +13 -0
  73. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
  74. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
  75. package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
  76. package/.medusa/server/src/modules/raw-master/service.js +10 -0
  77. package/.medusa/server/src/modules/shape-master/index.js +13 -0
  78. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
  79. package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
  80. package/.medusa/server/src/modules/shape-master/service.js +10 -0
  81. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  82. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  83. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  84. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  85. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +15 -0
  86. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  87. package/.medusa/server/src/subscribers/capture-payment.js +34 -0
  88. package/.medusa/server/src/subscribers/category-group-master.js +115 -0
  89. package/.medusa/server/src/subscribers/category-master.js +129 -0
  90. package/.medusa/server/src/subscribers/collection-master.js +119 -0
  91. package/.medusa/server/src/subscribers/create-customer.js +34 -0
  92. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  93. package/.medusa/server/src/subscribers/party-master.js +249 -0
  94. package/.medusa/server/src/subscribers/product-update.js +58 -0
  95. package/.medusa/server/src/subscribers/sub-category-master.js +129 -0
  96. package/.medusa/server/src/utils/address-formatter.js +60 -0
  97. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  98. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  99. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
  100. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  101. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  102. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  103. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  104. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +19 -0
  105. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  106. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  107. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +27 -0
  108. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  109. package/.medusa/server/src/workflows/category-master/steps/create-category.js +22 -0
  110. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  111. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  112. package/.medusa/server/src/workflows/category-master/steps/update-category.js +29 -0
  113. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  114. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +49 -0
  115. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  116. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  117. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  118. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  119. package/.medusa/server/src/workflows/collection-master/index.js +68 -0
  120. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  121. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +23 -0
  122. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  123. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  124. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +32 -0
  125. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +42 -12
  126. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  127. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  128. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  129. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +31 -13
  130. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  131. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  132. package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
  133. package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
  134. package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
  135. package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
  136. package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
  137. package/.medusa/server/src/workflows/discount-master/index.js +19 -0
  138. package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
  139. package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
  140. package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
  141. package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
  142. package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
  143. package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
  144. package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
  145. package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
  146. package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
  147. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  148. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  149. package/.medusa/server/src/workflows/helpers/product-helper.js +265 -62
  150. package/.medusa/server/src/workflows/hooks/variant-created.js +1 -2
  151. package/.medusa/server/src/workflows/index.js +18 -0
  152. package/.medusa/server/src/workflows/inward-master/helper/index.js +373 -0
  153. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  154. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
  155. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  156. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  157. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +21 -0
  158. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  159. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  160. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  161. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  162. package/.medusa/server/src/workflows/{create-or-update-style-master/steps/fetch-styles.js → inward-master/steps/fetch-inward-master.js} +5 -5
  163. package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
  164. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  165. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +44 -0
  166. package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +35 -0
  167. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  168. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +175 -0
  169. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +102 -0
  170. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  171. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +102 -0
  172. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +37 -0
  173. package/.medusa/server/src/workflows/orders/index.js +18 -0
  174. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  175. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +27 -0
  176. package/.medusa/server/src/workflows/orders/utils/order-helper.js +79 -0
  177. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  178. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +48 -0
  179. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  180. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  181. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +10 -0
  182. package/.medusa/server/src/workflows/party-master/steps/create-party.js +72 -0
  183. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  184. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  185. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  186. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  187. package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
  188. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  189. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
  190. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  191. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  192. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  193. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  194. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  195. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  196. package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
  197. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  198. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  199. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +226 -0
  200. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
  201. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  202. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  203. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  204. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +24 -0
  205. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  206. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  207. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  208. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  209. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +20 -0
  210. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  211. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  212. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  213. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  214. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  215. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  216. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  217. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +325 -0
  218. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  219. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  220. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  221. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +22 -0
  222. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  223. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  224. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +31 -0
  225. package/.medusa/server/src/workflows/types/common.js +21 -0
  226. package/.medusa/server/src/workflows/types/index.js +1 -9
  227. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +18 -11
  228. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  229. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +12 -10
  230. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +19 -2
  231. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
  232. package/package.json +6 -2
  233. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  234. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  235. package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
  236. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
  237. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
  238. package/.medusa/server/src/modules/extended-variant/types/party-style.js +0 -3
  239. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -123
  240. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
  241. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -160
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = collectionMasterHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const collection_master_1 = require("../modules/collection-master");
8
+ const product_helper_1 = require("../workflows/helpers/product-helper");
9
+ /**
10
+ * Handles collection master events by syncing them with Medusa collections
11
+ */
12
+ async function collectionMasterHandler({ 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 collection 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 { result } = await (0, core_flows_1.createCollectionsWorkflow)(container).run({
41
+ input: {
42
+ collections: [
43
+ {
44
+ title: data.collection_name,
45
+ handle: (0, product_helper_1.toKebabCase)([
46
+ data.collection_name,
47
+ data.collection_code,
48
+ data.collection_group_code,
49
+ ]),
50
+ metadata: {
51
+ external_id: data.id,
52
+ },
53
+ },
54
+ ],
55
+ additional_data: {
56
+ [data.id]: {
57
+ thumbnail: "",
58
+ images: [],
59
+ is_featured: false,
60
+ is_active: false,
61
+ is_custom: false,
62
+ smart_collection_type: null,
63
+ smart_collection_price_range: null,
64
+ },
65
+ },
66
+ },
67
+ });
68
+ const collectionMasterService = container.resolve(collection_master_1.COLLECTION_MASTER_MODULE);
69
+ await collectionMasterService.updateCollectionMasters([
70
+ {
71
+ id: data.id,
72
+ mapping_id: result[0].id,
73
+ },
74
+ ]);
75
+ }
76
+ /**
77
+ * Updates an existing collection 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: [collection_master], } = await query.graph({
82
+ entity: "collection_master",
83
+ fields: ["id", "mapping_id"],
84
+ filters: { id: data.id },
85
+ });
86
+ if (!collection_master?.mapping_id) {
87
+ return;
88
+ }
89
+ await (0, core_flows_1.updateCollectionsWorkflow)(container).run({
90
+ input: {
91
+ selector: {
92
+ id: collection_master.mapping_id,
93
+ },
94
+ update: {
95
+ title: data.collection_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.deleteCollectionsWorkflow)(container).run({
111
+ input: {
112
+ ids: [data.mapping_id],
113
+ },
114
+ });
115
+ }
116
+ exports.config = {
117
+ event: "collection_master",
118
+ };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvY29sbGVjdGlvbi1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0JBLDBDQXlCQztBQXZERCxxREFBc0U7QUFDdEUsNERBSXFDO0FBRXJDLG9FQUF3RTtBQUV4RSx3RUFBa0U7QUFrQmxFOztHQUVHO0FBQ1ksS0FBSyxVQUFVLHVCQUF1QixDQUFDLEVBQ3BELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDMUIsU0FBUyxHQUM2QjtJQUN0QyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN0QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFV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
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = createCustomerHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const party_master_1 = require("../modules/party-master");
7
+ const create_party_workflow_1 = require("../workflows/party-master/workflows/create-party-workflow");
8
+ async function createCustomerHandler({ event: { data }, container, }) {
9
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ const { data: [customer], } = await query.graph({
11
+ entity: "customer",
12
+ fields: ["*", "extended_customer.*"],
13
+ filters: { id: data.id },
14
+ });
15
+ //create party_master in medusa
16
+ const { result } = await (0, create_party_workflow_1.createPartyWorkflow)(container).run({
17
+ input: {
18
+ datafor: "PartyMst",
19
+ operation: "add",
20
+ data: [customer.extended_customer.external_id],
21
+ },
22
+ });
23
+ const partyMasterService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
24
+ await partyMasterService.updatePartyMasters([
25
+ {
26
+ id: result[0].id,
27
+ mapping_id: customer.id,
28
+ },
29
+ ]);
30
+ }
31
+ exports.config = {
32
+ event: "create-customer",
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2NyZWF0ZS1jdXN0b21lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSx3Q0E4QkM7QUFwQ0QscURBQXNFO0FBRXRFLDBEQUE4RDtBQUU5RCxxR0FBZ0c7QUFFakYsS0FBSyxVQUFVLHFCQUFxQixDQUFDLEVBQ2xELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FDc0I7SUFDL0IsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQ2pCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQztRQUNwQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtLQUN6QixDQUFDLENBQUM7SUFFSCwrQkFBK0I7SUFDL0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSwyQ0FBbUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDMUQsS0FBSyxFQUFFO1lBQ0wsT0FBTyxFQUFFLFVBQVU7WUFDbkIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztTQUMvQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sa0JBQWtCLEdBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQW1CLENBQUMsQ0FBQztJQUN6QyxNQUFNLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1FBQzFDO1lBQ0UsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTtTQUN4QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLGlCQUFpQjtDQUN6QixDQUFDIn0=
@@ -0,0 +1,126 @@
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
+ for (const item of data) {
17
+ switch (operation) {
18
+ case "create":
19
+ await handleCreate(container, item);
20
+ break;
21
+ case "update":
22
+ await handleUpdate(container, item);
23
+ break;
24
+ case "delete":
25
+ await handleDelete(container, item);
26
+ break;
27
+ default:
28
+ throw new Error(`Unsupported operation: ${operation}`);
29
+ }
30
+ }
31
+ }
32
+ catch (error) {
33
+ console.error("Error in party master location handler:", error);
34
+ throw error;
35
+ }
36
+ }
37
+ /**
38
+ * Creates a new stock location in Medusa and updates the party master mapping
39
+ */
40
+ async function handleCreate(container, data) {
41
+ const { result } = await (0, core_flows_1.createStockLocationsWorkflow)(container).run({
42
+ input: {
43
+ locations: [
44
+ {
45
+ name: data.firm_name,
46
+ address: {
47
+ ...(0, address_formatter_1.formatAddress)({
48
+ address_1: data.firm_add1 || "",
49
+ address_2: data.firm_add2 || "",
50
+ address_3: data.firm_add3 || "",
51
+ }),
52
+ country_code: data.country === "India" ? "IN" : data.country,
53
+ city: data.firm_city,
54
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
55
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
56
+ postal_code: data.firm_pin_code,
57
+ },
58
+ metadata: {
59
+ external_id: data.id,
60
+ },
61
+ },
62
+ ],
63
+ },
64
+ });
65
+ const partyMasterService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
66
+ await partyMasterService.updatePartyMasters([
67
+ {
68
+ id: data.id,
69
+ mapping_id: result[0].id,
70
+ },
71
+ ]);
72
+ }
73
+ /**
74
+ * Updates an existing stock location in Medusa if it has a mapping
75
+ */
76
+ async function handleUpdate(container, data) {
77
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
78
+ const customerModuleService = container.resolve(utils_1.Modules.CUSTOMER);
79
+ const { data: [party_master], } = await query.graph({
80
+ entity: "party_master",
81
+ fields: ["id", "mapping_id"],
82
+ filters: { id: data.id },
83
+ });
84
+ if (!party_master?.mapping_id) {
85
+ return;
86
+ }
87
+ await (0, core_flows_1.updateStockLocationsWorkflow)(container).run({
88
+ input: {
89
+ selector: {
90
+ id: party_master.mapping_id,
91
+ },
92
+ update: {
93
+ name: data.firm_name,
94
+ address: {
95
+ ...(0, address_formatter_1.formatAddress)({
96
+ address_1: data.firm_add1 || "",
97
+ address_2: data.firm_add2 || "",
98
+ address_3: data.firm_add3 || "",
99
+ }),
100
+ country_code: data.country === "India" ? "IN" : data.country,
101
+ city: data.firm_city,
102
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
103
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
104
+ postal_code: data.firm_pin_code,
105
+ },
106
+ },
107
+ },
108
+ });
109
+ }
110
+ /**
111
+ * Deletes a stock location in Medusa if it has a mapping
112
+ */
113
+ async function handleDelete(container, data) {
114
+ if (!data?.mapping_id) {
115
+ return;
116
+ }
117
+ await (0, core_flows_1.deleteStockLocationsWorkflow)(container).run({
118
+ input: {
119
+ ids: [data.mapping_id],
120
+ },
121
+ });
122
+ }
123
+ exports.config = {
124
+ event: "party_master_location",
125
+ };
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydHktbWFzdGVyLWxvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3BhcnR5LW1hc3Rlci1sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyRkEscUNBeUJDO0FBOUdELHFEQUErRTtBQUcvRSw0REFXcUM7QUFFckMsMERBQThEO0FBRTlELGtFQUFnRjtBQUNoRix3REFBZ0U7QUErRGhFOztHQUVHO0FBQ1ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLEVBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDMUIsU0FBUyxHQUN3QjtJQUNqQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN0QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVE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
@@ -0,0 +1,249 @@
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 customer and
12
+ */
13
+ async function partyMasterHandler({ event: { data: eventData }, container, }) {
14
+ try {
15
+ const { operation, data } = eventData;
16
+ for (const item of data) {
17
+ switch (operation) {
18
+ case "create":
19
+ await handleCreate(container, item);
20
+ break;
21
+ case "update":
22
+ await handleUpdate(container, item);
23
+ break;
24
+ case "delete":
25
+ await handleDelete(container, item);
26
+ break;
27
+ default:
28
+ throw new Error(`Unsupported operation: ${operation}`);
29
+ }
30
+ }
31
+ }
32
+ catch (error) {
33
+ console.error("Error in party master handler:", error);
34
+ throw error;
35
+ }
36
+ }
37
+ /**
38
+ * Creates a new customer in Medusa and updates the party master mapping
39
+ */
40
+ async function handleCreate(container, data) {
41
+ const { result } = await (0, core_flows_1.createCustomersWorkflow)(container).run({
42
+ input: {
43
+ customersData: [
44
+ {
45
+ first_name: data.firm_name.split(" ")[0],
46
+ last_name: data.firm_name.split(" ")[1],
47
+ email: `${data.party_no}@gati-medusa.com`, //this to unique create email for medusa bcz medusa doesn't allow same email for different customers
48
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
49
+ has_account: true,
50
+ addresses: [
51
+ {
52
+ address_name: "Default Address",
53
+ is_default_shipping: true,
54
+ is_default_billing: true,
55
+ company: data.firm_name,
56
+ ...(0, address_formatter_1.formatAddress)({
57
+ address_1: data.firm_add1,
58
+ address_2: data.firm_add2,
59
+ address_3: data.firm_add3,
60
+ }),
61
+ city: data.firm_city,
62
+ country_code: data.country === "India" ? "IN" : data.country,
63
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
64
+ postal_code: data.firm_pin_code,
65
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
66
+ },
67
+ ],
68
+ metadata: {
69
+ external_id: data.party_no,
70
+ },
71
+ },
72
+ ],
73
+ additional_data: {
74
+ [data.party_no]: {
75
+ is_blocked: false,
76
+ total_orders: 0,
77
+ total_spent: 0,
78
+ last_order_date: null,
79
+ email: data.firm_email || null,
80
+ gender: null,
81
+ birth_date: data.firm_birth_date
82
+ ? new Date(data.firm_birth_date)
83
+ : null,
84
+ anniversary_date: data.firm_anniversary_date
85
+ ? new Date(data.firm_anniversary_date)
86
+ : null,
87
+ spouse_name: null,
88
+ spouse_phone_number: null,
89
+ spouse_email: null,
90
+ gst_number: data?.gst_no || null,
91
+ pan_number: data?.firm_pan || null,
92
+ pan_image_url: null,
93
+ occupation: null,
94
+ external_id: data.party_no,
95
+ },
96
+ },
97
+ },
98
+ });
99
+ const partyMasterService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
100
+ await partyMasterService.updatePartyMasters([
101
+ {
102
+ id: data.id,
103
+ mapping_id: result[0].id,
104
+ },
105
+ ]);
106
+ const authModuleService = container.resolve(utils_1.Modules.AUTH);
107
+ const authIdentity = await authModuleService.createAuthIdentities({
108
+ provider_identities: [
109
+ {
110
+ provider: "passwordless",
111
+ entity_id: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
112
+ },
113
+ ],
114
+ });
115
+ const key = `customer_id`;
116
+ const appMetadata = authIdentity.app_metadata || {};
117
+ // If the value is null, we are deleting the association with an actor
118
+ if ((0, utils_1.isDefined)(appMetadata[key]) && result[0].id !== null) {
119
+ throw new Error(`Key ${key} already exists in app metadata`);
120
+ }
121
+ appMetadata[key] = result[0].id;
122
+ await authModuleService.updateAuthIdentities({
123
+ id: authIdentity.id,
124
+ app_metadata: appMetadata,
125
+ });
126
+ }
127
+ /**
128
+ * Updates an existing collection in Medusa if it has a mapping
129
+ */
130
+ async function handleUpdate(container, data) {
131
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
132
+ const customerModuleService = container.resolve(utils_1.Modules.CUSTOMER);
133
+ const { data: [party_master], } = await query.graph({
134
+ entity: "party_master",
135
+ fields: ["id", "mapping_id"],
136
+ filters: { id: data.id },
137
+ });
138
+ if (!party_master?.mapping_id) {
139
+ return;
140
+ }
141
+ await (0, core_flows_1.updateCustomersWorkflow)(container).run({
142
+ input: {
143
+ selector: {
144
+ id: party_master.mapping_id,
145
+ },
146
+ update: {
147
+ first_name: data.firm_name.split(" ")[0],
148
+ last_name: data.firm_name.split(" ")[1],
149
+ email: data.firm_email || `${data.party_no}@gati-medusa.com`,
150
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
151
+ },
152
+ },
153
+ });
154
+ const addresses = await customerModuleService.listCustomerAddresses({
155
+ customer_id: party_master.mapping_id,
156
+ });
157
+ const existingAddress = (0, address_formatter_1.findMatchingAddress)({
158
+ first_name: data.firm_name.split(" ")[0],
159
+ last_name: data.firm_name.split(" ")[1],
160
+ company: data.firm_name,
161
+ ...(0, address_formatter_1.formatAddress)({
162
+ address_1: data.firm_add1,
163
+ address_2: data.firm_add2,
164
+ address_3: data.firm_add3,
165
+ }),
166
+ city: data.firm_city,
167
+ country_code: data.country === "India" ? "IN" : data.country,
168
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
169
+ postal_code: data.firm_pin_code,
170
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
171
+ }, addresses);
172
+ if (existingAddress) {
173
+ await (0, core_flows_1.updateCustomerAddressesWorkflow)(container).run({
174
+ input: {
175
+ selector: {
176
+ id: existingAddress.id,
177
+ },
178
+ update: {
179
+ first_name: data.firm_name.split(" ")[0],
180
+ last_name: data.firm_name.split(" ")[1],
181
+ company: data.firm_name,
182
+ ...(0, address_formatter_1.formatAddress)({
183
+ address_1: data.firm_add1,
184
+ address_2: data.firm_add2,
185
+ address_3: data.firm_add3,
186
+ }),
187
+ city: data.firm_city,
188
+ country_code: data.country === "India" ? "IN" : data.country,
189
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
190
+ postal_code: data.firm_pin_code,
191
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
192
+ },
193
+ },
194
+ });
195
+ }
196
+ else {
197
+ await (0, core_flows_1.createCustomerAddressesWorkflow)(container).run({
198
+ input: {
199
+ addresses: [
200
+ {
201
+ customer_id: party_master.mapping_id,
202
+ address_name: "Default Address",
203
+ is_default_shipping: false,
204
+ is_default_billing: false,
205
+ company: data.firm_name,
206
+ ...(0, address_formatter_1.formatAddress)({
207
+ address_1: data.firm_add1,
208
+ address_2: data.firm_add2,
209
+ address_3: data.firm_add3,
210
+ }),
211
+ city: data.firm_city,
212
+ country_code: data.country === "India" ? "IN" : data.country,
213
+ province: data.state.match(/\[(.*?)\]/)?.[1] || data.state,
214
+ postal_code: data.firm_pin_code,
215
+ phone: (0, phone_mapper_1.formatIndianPhoneNumber)(data.owner_mobile),
216
+ },
217
+ ],
218
+ },
219
+ });
220
+ }
221
+ }
222
+ /**
223
+ * Deletes a collection in Medusa if it has a mapping
224
+ */
225
+ async function handleDelete(container, data) {
226
+ if (!data?.mapping_id) {
227
+ return;
228
+ }
229
+ const customerModuleService = container.resolve(utils_1.Modules.CUSTOMER);
230
+ const addresses = await customerModuleService.listCustomerAddresses({
231
+ customer_id: data.mapping_id,
232
+ });
233
+ await (0, core_flows_1.deleteCustomersWorkflow)(container).run({
234
+ input: {
235
+ ids: [data.mapping_id],
236
+ },
237
+ });
238
+ if (addresses.length > 0) {
239
+ await (0, core_flows_1.deleteCustomerAddressesWorkflow)(container).run({
240
+ input: {
241
+ ids: addresses.map((address) => address.id),
242
+ },
243
+ });
244
+ }
245
+ }
246
+ exports.config = {
247
+ event: "party_master",
248
+ };
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydHktbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3BhcnR5LW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyRkEscUNBeUJDO0FBOUdELHFEQUltQztBQUNuQyw0REFRcUM7QUFFckMsMERBQThEO0FBRTlELGtFQUFnRjtBQUNoRix3REFBZ0U7QUFnRWhFOztHQUVHO0FBQ1ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLEVBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDMUIsU0FBUyxHQUN3QjtJQUNqQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN0QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxV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
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ // import type { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
3
+ // import {
4
+ // ContainerRegistrationKeys,
5
+ // Module,
6
+ // Modules,
7
+ // } from "@medusajs/framework/utils";
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ // // export default async function productUpdatedHandler({
10
+ // // event: { data },
11
+ // // container,
12
+ // // }: SubscriberArgs<{ id: string }>) {
13
+ // // const query = container.resolve(ContainerRegistrationKeys.QUERY);
14
+ // // const productModuleService = container.resolve(Modules.PRODUCT);
15
+ // // const {
16
+ // // data: [product],
17
+ // // } = await query.graph({
18
+ // // entity: "product",
19
+ // // fields: ["*", "options.*", "options.values.*"],
20
+ // // filters: {
21
+ // // id: data.id,
22
+ // // },
23
+ // // });
24
+ // // const metalColorOption = product.options.filter(
25
+ // // (option) => option.title === "Metal Color"
26
+ // // )[0];
27
+ // // const metalColorValues = metalColorOption.values;
28
+ // // for (const optionValue of metalColorValues) {
29
+ // // if (!optionValue.metadata) {
30
+ // // optionValue.metadata = {};
31
+ // // }
32
+ // // if (optionValue.value === "Rose")
33
+ // // optionValue.metadata.icon =
34
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/rose-gold.png";
35
+ // // else if (optionValue.value === "Yellow")
36
+ // // optionValue.metadata.icon =
37
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/gold.png";
38
+ // // else if (optionValue.value === "White")
39
+ // // optionValue.metadata.icon =
40
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/silver.png";
41
+ // // else if (optionValue.value === "Yellow/Rose/White")
42
+ // // optionValue.metadata.icon =
43
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/yellow-rose-white.svg";
44
+ // // else if (optionValue.value === "Yellow/White")
45
+ // // optionValue.metadata.icon =
46
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/yellow-white.svg";
47
+ // // else if (optionValue.value === "Rose/White")
48
+ // // optionValue.metadata.icon =
49
+ // // "https://svaraa-dev-media-bucket.s3.ap-south-1.amazonaws.com/Admin/Variants/Metal/rose-white.svg";
50
+ // // await productModuleService.updateProductOptionValues(optionValue.id, {
51
+ // // metadata: optionValue.metadata,
52
+ // // });
53
+ // // }
54
+ // // }
55
+ // // export const config: SubscriberConfig = {
56
+ // // event: "product.updated",
57
+ // // };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC11cGRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcHJvZHVjdC11cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtFQUErRTtBQUMvRSxXQUFXO0FBQ1gsK0JBQStCO0FBQy9CLFlBQVk7QUFDWixhQUFhO0FBQ2Isc0NBQXNDOztBQUV0QywyREFBMkQ7QUFDM0Qsd0JBQXdCO0FBQ3hCLGtCQUFrQjtBQUNsQiwwQ0FBMEM7QUFDMUMseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUV4RSxlQUFlO0FBQ2YsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIseURBQXlEO0FBQ3pELG9CQUFvQjtBQUNwQix3QkFBd0I7QUFDeEIsWUFBWTtBQUNaLFdBQVc7QUFFWCx3REFBd0Q7QUFDeEQsb0RBQW9EO0FBQ3BELGFBQWE7QUFFYix5REFBeUQ7QUFFekQscURBQXFEO0FBQ3JELHNDQUFzQztBQUN0QyxzQ0FBc0M7QUFDdEMsV0FBVztBQUVYLDJDQUEyQztBQUMzQyx1Q0FBdUM7QUFDdkMsK0dBQStHO0FBQy9HLGtEQUFrRDtBQUNsRCx1Q0FBdUM7QUFDdkMsMEdBQTBHO0FBQzFHLGlEQUFpRDtBQUNqRCx1Q0FBdUM7QUFDdkMsNEdBQTRHO0FBQzVHLDZEQUE2RDtBQUM3RCx1Q0FBdUM7QUFDdkMsdUhBQXVIO0FBQ3ZILHdEQUF3RDtBQUN4RCx1Q0FBdUM7QUFDdkMsa0hBQWtIO0FBQ2xILHNEQUFzRDtBQUN0RCx1Q0FBdUM7QUFDdkMsZ0hBQWdIO0FBRWhILGdGQUFnRjtBQUNoRiwyQ0FBMkM7QUFDM0MsYUFBYTtBQUNiLFNBQVM7QUFDVCxPQUFPO0FBRVAsK0NBQStDO0FBQy9DLGlDQUFpQztBQUNqQyxRQUFRIn0=