@devx-commerce/plugin-gati 0.0.2-beta.8 → 0.0.2-beta.80

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 (250) 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 +101 -0
  8. package/.medusa/server/src/api/erp/webhook/route.js +39 -65
  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 +67 -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/migrations/Migration20250716041546.js +14 -0
  53. package/.medusa/server/src/modules/extended-product/models/extended-product.js +55 -5
  54. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  55. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
  56. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
  57. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
  58. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
  59. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
  60. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +14 -0
  61. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +253 -11
  62. package/.medusa/server/src/modules/extended-variant/service.js +24 -1
  63. package/.medusa/server/src/modules/party-master/index.js +13 -0
  64. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
  65. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
  66. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
  67. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
  68. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
  69. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
  70. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
  71. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +14 -0
  72. package/.medusa/server/src/modules/party-master/models/party-master.js +61 -0
  73. package/.medusa/server/src/modules/party-master/service.js +10 -0
  74. package/.medusa/server/src/modules/shipping-info-master/index.js +13 -0
  75. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +17 -0
  76. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +16 -0
  77. package/.medusa/server/src/modules/shipping-info-master/models/shipping-info-master.js +22 -0
  78. package/.medusa/server/src/modules/shipping-info-master/service.js +10 -0
  79. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  80. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  81. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  82. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  83. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +15 -0
  84. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  85. package/.medusa/server/src/subscribers/capture-payment.js +36 -0
  86. package/.medusa/server/src/subscribers/category-group-master.js +115 -0
  87. package/.medusa/server/src/subscribers/category-master.js +129 -0
  88. package/.medusa/server/src/subscribers/collection-master.js +119 -0
  89. package/.medusa/server/src/subscribers/create-customer.js +67 -0
  90. package/.medusa/server/src/subscribers/mark-inward.js +77 -0
  91. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  92. package/.medusa/server/src/subscribers/party-master.js +247 -0
  93. package/.medusa/server/src/subscribers/product-update.js +58 -0
  94. package/.medusa/server/src/subscribers/shipping-info-master.js +136 -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/utils/state-helper.js +72 -0
  99. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  100. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
  101. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  102. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  103. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  104. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  105. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +19 -0
  106. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  107. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  108. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +27 -0
  109. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  110. package/.medusa/server/src/workflows/category-master/steps/create-category.js +22 -0
  111. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  112. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  113. package/.medusa/server/src/workflows/category-master/steps/update-category.js +29 -0
  114. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  115. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +49 -0
  116. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  117. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  118. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  119. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  120. package/.medusa/server/src/workflows/collection-master/index.js +68 -0
  121. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  122. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +23 -0
  123. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  124. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  125. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +32 -0
  126. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +35 -3
  127. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  128. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  129. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  130. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +23 -3
  131. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  132. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  133. package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
  134. package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
  135. package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
  136. package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
  137. package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
  138. package/.medusa/server/src/workflows/discount-master/index.js +19 -0
  139. package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
  140. package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
  141. package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
  142. package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
  143. package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
  144. package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
  145. package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
  146. package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
  147. package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
  148. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  149. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  150. package/.medusa/server/src/workflows/helpers/product-helper.js +260 -76
  151. package/.medusa/server/src/workflows/hooks/variant-updated.js +16 -0
  152. package/.medusa/server/src/workflows/index.js +20 -0
  153. package/.medusa/server/src/workflows/inward-master/helper/index.js +373 -0
  154. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  155. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
  156. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  157. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  158. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +21 -0
  159. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  160. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  161. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  162. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  163. package/.medusa/server/src/workflows/{create-or-update-style-master/steps/fetch-styles.js → inward-master/steps/fetch-inward-master.js} +5 -5
  164. package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
  165. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  166. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +44 -0
  167. package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +36 -0
  168. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  169. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +209 -0
  170. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +102 -0
  171. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  172. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +102 -0
  173. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +37 -0
  174. package/.medusa/server/src/workflows/orders/index.js +18 -0
  175. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  176. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +32 -0
  177. package/.medusa/server/src/workflows/orders/utils/order-helper.js +77 -0
  178. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  179. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +41 -0
  180. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  181. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  182. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +33 -0
  183. package/.medusa/server/src/workflows/party-master/steps/create-party.js +73 -0
  184. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  185. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  186. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  187. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  188. package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
  189. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  190. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
  191. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  192. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  193. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  194. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  195. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  196. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  197. package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
  198. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  199. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  200. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +352 -0
  201. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
  202. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  203. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  204. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +1 -2
  205. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +1 -2
  206. package/.medusa/server/src/workflows/shipping-info-master/helper/index.js +23 -0
  207. package/.medusa/server/src/workflows/shipping-info-master/index.js +19 -0
  208. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info-erp.js +10 -0
  209. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info.js +17 -0
  210. package/.medusa/server/src/workflows/shipping-info-master/steps/delete-shipping-info.js +20 -0
  211. package/.medusa/server/src/workflows/shipping-info-master/steps/fetch-shipping-info-master.js +70 -0
  212. package/.medusa/server/src/workflows/shipping-info-master/steps/index.js +22 -0
  213. package/.medusa/server/src/workflows/shipping-info-master/steps/update-shipping-info.js +36 -0
  214. package/.medusa/server/src/workflows/shipping-info-master/types/index.js +3 -0
  215. package/.medusa/server/src/workflows/shipping-info-master/workflows/create-shipping-info.js +24 -0
  216. package/.medusa/server/src/workflows/shipping-info-master/workflows/delete-shipping-info.js +28 -0
  217. package/.medusa/server/src/workflows/shipping-info-master/workflows/index.js +20 -0
  218. package/.medusa/server/src/workflows/shipping-info-master/workflows/update-shipping-info.js +22 -0
  219. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  220. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  221. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  222. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  223. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +326 -0
  224. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  225. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  226. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  227. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +22 -0
  228. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  229. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  230. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +31 -0
  231. package/.medusa/server/src/workflows/types/common.js +21 -0
  232. package/.medusa/server/src/workflows/types/index.js +1 -9
  233. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +11 -2
  234. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  235. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +17 -37
  236. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/index.js +20 -0
  237. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
  238. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-from-variant.js +55 -0
  239. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/index.js +18 -0
  240. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-from-variant.js +42 -0
  241. package/package.json +6 -2
  242. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  243. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  244. package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
  245. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
  246. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
  247. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -124
  248. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
  249. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -161
  250. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +0 -37
@@ -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=
@@ -0,0 +1,136 @@
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 shipping_info_master_1 = require("../modules/shipping-info-master");
8
+ const state_helper_1 = require("../utils/state-helper");
9
+ /**
10
+ * Handles sub category master events by syncing them with Medusa sub categories
11
+ */
12
+ async function subCategoryMasterHandler({ event: { data: eventData }, container, }) {
13
+ try {
14
+ const { operation, data: shippingInfoIds } = eventData;
15
+ for (const shippingInfoId of shippingInfoIds) {
16
+ switch (operation) {
17
+ case "create":
18
+ await handleCreate(container, shippingInfoId);
19
+ break;
20
+ case "update":
21
+ await handleUpdate(container, shippingInfoId);
22
+ break;
23
+ case "delete":
24
+ await handleDelete(container, shippingInfoId);
25
+ break;
26
+ default:
27
+ throw new Error(`Unsupported operation: ${operation}`);
28
+ }
29
+ }
30
+ }
31
+ catch (error) {
32
+ console.error("Error in sub category master handler:", error);
33
+ throw error;
34
+ }
35
+ }
36
+ /**
37
+ * Creates a new customer address in Medusa and updates the shipping info master mapping
38
+ */
39
+ async function handleCreate(container, shippingInfoId) {
40
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
41
+ const { data: [shipping_info_master], } = await query.graph({
42
+ entity: "shipping_info_master",
43
+ fields: ["*"],
44
+ filters: { id: shippingInfoId },
45
+ });
46
+ const { data: [party_master], } = await query.graph({
47
+ entity: "party_master",
48
+ fields: ["*"],
49
+ filters: { id: shipping_info_master.party_no },
50
+ });
51
+ const { result } = await (0, core_flows_1.createCustomerAddressesWorkflow)(container).run({
52
+ input: {
53
+ addresses: [
54
+ {
55
+ is_default_shipping: false,
56
+ is_default_billing: false,
57
+ address_name: shipping_info_master.shipping_name,
58
+ company: shipping_info_master.shipping_name,
59
+ first_name: party_master.firm_name,
60
+ last_name: party_master.firm_name,
61
+ address_1: shipping_info_master.address1,
62
+ address_2: shipping_info_master.address2,
63
+ city: shipping_info_master.city,
64
+ country_code: "in",
65
+ province: (0, state_helper_1.getStateCode)(shipping_info_master.state),
66
+ postal_code: shipping_info_master.pin_code,
67
+ customer_id: party_master.mapping_id,
68
+ metadata: {
69
+ external_id: shippingInfoId,
70
+ },
71
+ },
72
+ ],
73
+ },
74
+ });
75
+ const shippingInfoMasterService = container.resolve(shipping_info_master_1.SHIPPING_INFO_MASTER_MODULE);
76
+ await shippingInfoMasterService.updateShippingInfoMasters([
77
+ {
78
+ id: shippingInfoId,
79
+ mapping_id: result[0].id,
80
+ },
81
+ ]);
82
+ }
83
+ /**
84
+ * Updates an existing customer address in Medusa if it has a mapping
85
+ */
86
+ async function handleUpdate(container, shippingInfoId) {
87
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
88
+ const { data: [shipping_info_master], } = await query.graph({
89
+ entity: "shipping_info_master",
90
+ fields: ["*"],
91
+ filters: { id: shippingInfoId },
92
+ });
93
+ if (!shipping_info_master?.mapping_id) {
94
+ return;
95
+ }
96
+ await (0, core_flows_1.updateCustomerAddressesWorkflow)(container).run({
97
+ input: {
98
+ selector: {
99
+ id: shipping_info_master.mapping_id,
100
+ },
101
+ update: {
102
+ address_1: shipping_info_master.address1,
103
+ address_2: shipping_info_master.address2,
104
+ city: shipping_info_master.city,
105
+ province: (0, state_helper_1.getStateCode)(shipping_info_master.state),
106
+ postal_code: shipping_info_master.pin_code,
107
+ country_code: "in",
108
+ company: shipping_info_master.shipping_name,
109
+ address_name: shipping_info_master.shipping_name,
110
+ },
111
+ },
112
+ });
113
+ }
114
+ /**
115
+ * Deletes a customer address in Medusa if it has a mapping
116
+ */
117
+ async function handleDelete(container, shippingInfoId) {
118
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
119
+ const { data: [shipping_info_master], } = await query.graph({
120
+ entity: "shipping_info_master",
121
+ fields: ["*"],
122
+ filters: { id: shippingInfoId },
123
+ });
124
+ if (!shipping_info_master?.mapping_id) {
125
+ return;
126
+ }
127
+ await (0, core_flows_1.deleteCustomerAddressesWorkflow)(container).run({
128
+ input: {
129
+ ids: [shipping_info_master.mapping_id],
130
+ },
131
+ });
132
+ }
133
+ exports.config = {
134
+ event: "shipping_info_master",
135
+ };
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctaW5mby1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvc2hpcHBpbmctaW5mby1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0JBLDJDQXlCQztBQTVDRCxxREFBc0U7QUFDdEUsNERBSXFDO0FBRXJDLDBFQUE4RTtBQUU5RSx3REFBcUQ7QUFPckQ7O0dBRUc7QUFDWSxLQUFLLFVBQVUsd0JBQXdCLENBQUMsRUFDckQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUMxQixTQUFTLEdBQytCO0lBQ3hDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN2RCxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzdDLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQzlDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDOUMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUM5QyxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVH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
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = subCategoryMasterHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const sub_category_master_1 = require("../modules/sub-category-master");
8
+ const product_helper_1 = require("../workflows/helpers/product-helper");
9
+ /**
10
+ * Handles sub category master events by syncing them with Medusa sub categories
11
+ */
12
+ async function subCategoryMasterHandler({ event: { data: eventData }, container, }) {
13
+ try {
14
+ const { operation, data } = eventData;
15
+ for (const item of data) {
16
+ switch (operation) {
17
+ case "create":
18
+ await handleCreate(container, item);
19
+ break;
20
+ case "update":
21
+ await handleUpdate(container, item);
22
+ break;
23
+ case "delete":
24
+ await handleDelete(container, item);
25
+ break;
26
+ default:
27
+ throw new Error(`Unsupported operation: ${operation}`);
28
+ }
29
+ }
30
+ }
31
+ catch (error) {
32
+ console.error("Error in sub category master handler:", error);
33
+ throw error;
34
+ }
35
+ }
36
+ /**
37
+ * Creates a new collection in Medusa and updates the collection master mapping
38
+ */
39
+ async function handleCreate(container, data) {
40
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
41
+ const { data: [category_master], } = await query.graph({
42
+ entity: "category_master",
43
+ fields: ["id", "mapping_id"],
44
+ filters: { category_code: data.category_code },
45
+ });
46
+ const { result } = await (0, core_flows_1.createProductCategoriesWorkflow)(container).run({
47
+ input: {
48
+ product_categories: [
49
+ {
50
+ name: data.sub_category_name,
51
+ handle: (0, product_helper_1.toKebabCase)([
52
+ data.sub_category_name,
53
+ data.sub_category_code,
54
+ data.category_code,
55
+ ]),
56
+ is_active: false,
57
+ is_internal: false,
58
+ parent_category_id: category_master.mapping_id,
59
+ metadata: {
60
+ external_id: data.sub_item_no,
61
+ },
62
+ },
63
+ ],
64
+ additional_data: {
65
+ [data.sub_item_no]: {
66
+ thumbnail: "",
67
+ images: [],
68
+ is_featured: false,
69
+ is_custom: false,
70
+ },
71
+ },
72
+ },
73
+ });
74
+ const subCategoryMasterService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
75
+ await subCategoryMasterService.updateSubCategoryMasters([
76
+ {
77
+ id: data.id,
78
+ mapping_id: result[0].id,
79
+ },
80
+ ]);
81
+ }
82
+ /**
83
+ * Updates an existing category in Medusa if it has a mapping
84
+ */
85
+ async function handleUpdate(container, data) {
86
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
87
+ const { data: [sub_category_master], } = await query.graph({
88
+ entity: "sub_category_master",
89
+ fields: ["id", "mapping_id"],
90
+ filters: { id: data.id },
91
+ });
92
+ const { data: [category_master], } = await query.graph({
93
+ entity: "category_master",
94
+ fields: ["id", "mapping_id"],
95
+ filters: { grp_no: sub_category_master.grp_no },
96
+ });
97
+ if (!sub_category_master?.mapping_id) {
98
+ return;
99
+ }
100
+ await (0, core_flows_1.updateProductCategoriesWorkflow)(container).run({
101
+ input: {
102
+ selector: {
103
+ id: sub_category_master.mapping_id,
104
+ },
105
+ update: {
106
+ name: data.sub_category_name,
107
+ parent_category_id: category_master.mapping_id,
108
+ metadata: {
109
+ external_id: data.id,
110
+ },
111
+ },
112
+ },
113
+ });
114
+ }
115
+ /**
116
+ * Deletes a collection in Medusa if it has a mapping
117
+ */
118
+ async function handleDelete(container, data) {
119
+ if (!data?.mapping_id) {
120
+ return;
121
+ }
122
+ await (0, core_flows_1.deleteProductCategoriesWorkflow)(container).run({
123
+ input: [data.mapping_id],
124
+ });
125
+ }
126
+ exports.config = {
127
+ event: "sub_category_master",
128
+ };
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNhdGVnb3J5LW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zdWItY2F0ZWdvcnktbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQThCQSwyQ0F5QkM7QUF0REQscURBQXNFO0FBQ3RFLDREQUlxQztBQUVyQyx3RUFBNEU7QUFFNUUsd0VBQWtFO0FBaUJsRTs7R0FFRztBQUNZLEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxFQUNyRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQzFCLFNBQVMsR0FDOEI7SUFDdkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixRQUFRLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFFBQVE7b0JBQ1gsTUFBTSxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUss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
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findMatchingAddress = exports.compareAddresses = exports.formatAddress = void 0;
4
+ const lodash_1 = require("lodash");
5
+ /**
6
+ * Formats address fields by handling commas and cleaning up the text
7
+ * @param address - The address object containing address fields
8
+ * @returns Formatted address object
9
+ */
10
+ const formatAddress = (address) => {
11
+ const formattedAddress = { ...address };
12
+ // Helper function to clean address field
13
+ const cleanAddressField = (field) => {
14
+ if (!field)
15
+ return "";
16
+ return field.trim().replace(/,\s*$/, ""); // Remove trailing comma and spaces
17
+ };
18
+ // Clean and format address_1
19
+ if (formattedAddress.address_1) {
20
+ formattedAddress.address_1 =
21
+ cleanAddressField(formattedAddress.address_1) || "";
22
+ }
23
+ // Combine address_2 and address_3 with proper comma handling
24
+ if (formattedAddress.address_2 || formattedAddress.address_3) {
25
+ const addr2 = cleanAddressField(formattedAddress.address_2);
26
+ const addr3 = cleanAddressField(formattedAddress.address_3);
27
+ if (addr2 && addr3) {
28
+ formattedAddress.address_2 = `${addr2}, ${addr3}`;
29
+ }
30
+ else {
31
+ formattedAddress.address_2 = addr2 || addr3;
32
+ }
33
+ // Remove address_3 as it's now combined with address_2
34
+ delete formattedAddress.address_3;
35
+ }
36
+ return formattedAddress;
37
+ };
38
+ exports.formatAddress = formatAddress;
39
+ const ADDRESS_FIELDS_TO_COMPARE = [
40
+ "first_name",
41
+ "last_name",
42
+ "address_1",
43
+ "company",
44
+ "postal_code",
45
+ "city",
46
+ "country_code",
47
+ "province",
48
+ "phone",
49
+ ];
50
+ const compareAddresses = (address1, address2) => {
51
+ const address1Fields = (0, lodash_1.pick)(address1, ADDRESS_FIELDS_TO_COMPARE);
52
+ const address2Fields = (0, lodash_1.pick)(address2, ADDRESS_FIELDS_TO_COMPARE);
53
+ return (0, lodash_1.isEqual)(address1Fields, address2Fields);
54
+ };
55
+ exports.compareAddresses = compareAddresses;
56
+ const findMatchingAddress = (targetAddress, addresses) => {
57
+ return addresses.find((address) => (0, exports.compareAddresses)(targetAddress, address));
58
+ };
59
+ exports.findMatchingAddress = findMatchingAddress;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvYWRkcmVzcy1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQXVDO0FBRXZDOzs7O0dBSUc7QUFDSSxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BSzdCLEVBQWtCLEVBQUU7SUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFFeEMseUNBQXlDO0lBQ3pDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFnQyxFQUFVLEVBQUU7UUFDckUsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO0lBQy9FLENBQUMsQ0FBQztJQUVGLDZCQUE2QjtJQUM3QixJQUFJLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLGdCQUFnQixDQUFDLFNBQVM7WUFDeEIsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0QsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUQsSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbkIsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLEdBQUcsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ04sZ0JBQWdCLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUM7UUFDOUMsQ0FBQztRQUVELHVEQUF1RDtRQUN2RCxPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFwQ1csUUFBQSxhQUFhLGlCQW9DeEI7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLFlBQVk7SUFDWixXQUFXO0lBQ1gsV0FBVztJQUNYLFNBQVM7SUFDVCxhQUFhO0lBQ2IsTUFBTTtJQUNOLGNBQWM7SUFDZCxVQUFVO0lBQ1YsT0FBTztDQUNDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLENBQzlCLFFBQWtDLEVBQ2xDLFFBQWtDLEVBQ3pCLEVBQUU7SUFDWCxNQUFNLGNBQWMsR0FBRyxJQUFBLGFBQUksRUFBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUNqRSxNQUFNLGNBQWMsR0FBRyxJQUFBLGFBQUksRUFBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUVqRSxPQUFPLElBQUEsZ0JBQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBUlcsUUFBQSxnQkFBZ0Isb0JBUTNCO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxhQUF1QyxFQUN2QyxTQUE0QixFQUNDLEVBQUU7SUFDL0IsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUxXLFFBQUEsbUJBQW1CLHVCQUs5QiJ9
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatIndianPhoneNumber = void 0;
4
+ /**
5
+ * Adds +91 prefix to phone number if not present
6
+ * @param phoneNumber - The phone number to format
7
+ * @returns Formatted phone number with +91 prefix
8
+ */
9
+ const formatIndianPhoneNumber = (phoneNumber) => {
10
+ // Remove any existing spaces or special characters
11
+ const cleanedNumber = phoneNumber.replace(/[\s\-\(\)]/g, "");
12
+ // If number already has +91, return as is
13
+ if (cleanedNumber.startsWith("+91")) {
14
+ return cleanedNumber;
15
+ }
16
+ // If number starts with 91 and is 12 digits (91 + 10 digits), add + prefix
17
+ if (cleanedNumber.startsWith("91") && cleanedNumber.length === 12) {
18
+ return `+${cleanedNumber}`;
19
+ }
20
+ // If number is 10 digits, add +91 prefix
21
+ if (/^\d{10}$/.test(cleanedNumber)) {
22
+ return `+91${cleanedNumber}`;
23
+ }
24
+ // If number doesn't match any pattern, return original
25
+ return phoneNumber;
26
+ };
27
+ exports.formatIndianPhoneNumber = formatIndianPhoneNumber;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3Bob25lLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0ksTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFdBQW1CLEVBQVUsRUFBRTtJQUNyRSxtREFBbUQ7SUFDbkQsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0QsMENBQTBDO0lBQzFDLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxNQUFNLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBckJXLFFBQUEsdUJBQXVCLDJCQXFCbEMifQ==
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStatesAndCodes = exports.getAllCodes = exports.getAllStates = exports.getStateCode = exports.getStateNameWithCode = exports.getStateName = void 0;
4
+ const indianStatesMapper = {
5
+ AP: "Andhra Pradesh",
6
+ AR: "Arunachal Pradesh",
7
+ AS: "Assam",
8
+ BR: "Bihar",
9
+ CG: "Chhattisgarh",
10
+ GA: "Goa",
11
+ GJ: "Gujarat",
12
+ HR: "Haryana",
13
+ HP: "Himachal Pradesh",
14
+ JK: "Jammu and Kashmir",
15
+ JH: "Jharkhand",
16
+ KA: "Karnataka",
17
+ KL: "Kerala",
18
+ MP: "Madhya Pradesh",
19
+ MH: "Maharashtra",
20
+ MN: "Manipur",
21
+ ML: "Meghalaya",
22
+ MZ: "Mizoram",
23
+ NL: "Nagaland",
24
+ OR: "Orissa",
25
+ PB: "Punjab",
26
+ RJ: "Rajasthan",
27
+ SK: "Sikkim",
28
+ TN: "Tamil Nadu",
29
+ TR: "Tripura",
30
+ UK: "Uttarakhand",
31
+ UP: "Uttar Pradesh",
32
+ WB: "West Bengal",
33
+ AN: "Andaman and Nicobar Islands",
34
+ CH: "Chandigarh",
35
+ DH: "Dadra and Nagar Haveli",
36
+ DD: "Daman and Diu",
37
+ DL: "Delhi",
38
+ LD: "Lakshadweep",
39
+ PY: "Pondicherry",
40
+ };
41
+ // Reverse mapper - State name to short code
42
+ const stateNameToCode = {};
43
+ Object.keys(indianStatesMapper).forEach((code) => {
44
+ stateNameToCode[indianStatesMapper[code]] = code;
45
+ });
46
+ const getStateName = (code) => {
47
+ return indianStatesMapper[code.toUpperCase()] || "Invalid state code";
48
+ };
49
+ exports.getStateName = getStateName;
50
+ const getStateNameWithCode = (code) => {
51
+ return `${indianStatesMapper[code.toUpperCase()]} [${code.toUpperCase()}]`;
52
+ };
53
+ exports.getStateNameWithCode = getStateNameWithCode;
54
+ const getStateCode = (name) => {
55
+ return stateNameToCode[name] || "Invalid state name";
56
+ };
57
+ exports.getStateCode = getStateCode;
58
+ const getAllStates = () => {
59
+ return Object.values(indianStatesMapper).sort();
60
+ };
61
+ exports.getAllStates = getAllStates;
62
+ const getAllCodes = () => {
63
+ return Object.keys(indianStatesMapper).sort();
64
+ };
65
+ exports.getAllCodes = getAllCodes;
66
+ const getStatesAndCodes = () => {
67
+ return Object.entries(indianStatesMapper)
68
+ .map(([code, name]) => ({ code, name }))
69
+ .sort((a, b) => a.name.localeCompare(b.name));
70
+ };
71
+ exports.getStatesAndCodes = getStatesAndCodes;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3N0YXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEIsRUFBRSxFQUFFLG1CQUFtQjtJQUN2QixFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxPQUFPO0lBQ1gsRUFBRSxFQUFFLGNBQWM7SUFDbEIsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLGtCQUFrQjtJQUN0QixFQUFFLEVBQUUsbUJBQW1CO0lBQ3ZCLEVBQUUsRUFBRSxXQUFXO0lBQ2YsRUFBRSxFQUFFLFdBQVc7SUFDZixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEIsRUFBRSxFQUFFLGFBQWE7SUFDakIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLFVBQVU7SUFDZCxFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFdBQVc7SUFDZixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLGFBQWE7SUFDakIsRUFBRSxFQUFFLGVBQWU7SUFDbkIsRUFBRSxFQUFFLGFBQWE7SUFDakIsRUFBRSxFQUFFLDZCQUE2QjtJQUNqQyxFQUFFLEVBQUUsWUFBWTtJQUNoQixFQUFFLEVBQUUsd0JBQXdCO0lBQzVCLEVBQUUsRUFBRSxlQUFlO0lBQ25CLEVBQUUsRUFBRSxPQUFPO0lBQ1gsRUFBRSxFQUFFLGFBQWE7SUFDakIsRUFBRSxFQUFFLGFBQWE7Q0FDbEIsQ0FBQztBQUVGLDRDQUE0QztBQUM1QyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQy9DLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQztBQUVJLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDM0MsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxvQkFBb0IsQ0FBQztBQUN4RSxDQUFDLENBQUM7QUFGVyxRQUFBLFlBQVksZ0JBRXZCO0FBRUssTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ25ELE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQztBQUM3RSxDQUFDLENBQUM7QUFGVyxRQUFBLG9CQUFvQix3QkFFL0I7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQzNDLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFvQixDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUZXLFFBQUEsWUFBWSxnQkFFdkI7QUFFSyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDL0IsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxZQUFZLGdCQUV2QjtBQUVLLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRTtJQUM5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFGVyxRQUFBLFdBQVcsZUFFdEI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUM7QUFKVyxRQUFBLGlCQUFpQixxQkFJNUIifQ==
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./workflows"), exports);
18
+ __exportStar(require("./steps"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FkZC10by1jYXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsMENBQXdCIn0=
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVariantPricesStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const utils_2 = require("@medusajs/utils");
7
+ exports.getVariantPricesStep = (0, workflows_sdk_1.createStep)("get-variant-prices", async ({ variant, countryCode, quantity = 1, salesChannelId, }, { container }) => {
8
+ const query = container.resolve("query");
9
+ // Get variant availability
10
+ const availability = await (0, utils_1.getVariantAvailability)(query, {
11
+ variant_ids: [variant.id],
12
+ sales_channel_id: salesChannelId || "",
13
+ });
14
+ const service = container.resolve("extended_variant");
15
+ let totalPrice = 0;
16
+ // Check if inventory management is enabled for this variant
17
+ const manageInventory = variant.manage_inventory ?? true; // Default to true if not specified
18
+ let inwardMasters = [];
19
+ let availableInwards = [];
20
+ let availableFromInwards = 0;
21
+ let canFulfillFromStock = false;
22
+ let remainingQuantity = quantity;
23
+ let inwardIndex = 0;
24
+ const variantTotalQuantityAvailable = availability[variant.id]?.availability || 0;
25
+ const priceBreakdown = [];
26
+ if (manageInventory) {
27
+ const itemSku = variant.sku;
28
+ const baseSku = itemSku;
29
+ inwardMasters = await service.listInwardMasters({
30
+ inward_sku_no: baseSku,
31
+ });
32
+ // Sort inwards by MRP (highest to lowest) and filter only "On Hand" items
33
+ availableInwards = inwardMasters
34
+ .filter((inward) => inward.status === "On Hand")
35
+ .sort((a, b) => (b.mrp || 0) - (a.mrp || 0));
36
+ // Check if we have enough stock
37
+ availableFromInwards = Math.min(availableInwards.length, variantTotalQuantityAvailable);
38
+ canFulfillFromStock = availableFromInwards >= quantity;
39
+ // Calculate price using available inwards (highest price first)
40
+ while (remainingQuantity > 0 && inwardIndex < availableInwards.length) {
41
+ const inward = availableInwards[inwardIndex];
42
+ const inwardPrice = inward.mrp || 0;
43
+ // Each inward represents 1 quantity
44
+ const inwardQuantity = 1;
45
+ // Calculate how much we can take from this inward
46
+ const quantityToUse = Math.min(remainingQuantity, inwardQuantity);
47
+ if (quantityToUse > 0) {
48
+ totalPrice += inwardPrice * quantityToUse;
49
+ remainingQuantity -= quantityToUse;
50
+ priceBreakdown.push({
51
+ inwardId: inward.id,
52
+ price: inwardPrice,
53
+ quantity: quantityToUse,
54
+ });
55
+ console.log(`Used inward ${inward.id} with price ${inwardPrice} for quantity ${quantityToUse}`);
56
+ }
57
+ inwardIndex++;
58
+ }
59
+ }
60
+ else {
61
+ // If inventory management is disabled, use variant calculated price for all quantity
62
+ const variantPrice = variant.calculated_price?.calculated_amount || 0;
63
+ totalPrice = variantPrice * quantity;
64
+ remainingQuantity = 0;
65
+ priceBreakdown.push({
66
+ inwardId: "variant_price",
67
+ price: variantPrice,
68
+ quantity: quantity,
69
+ });
70
+ console.log(`Used variant price ${variantPrice} for quantity ${quantity} (inventory management disabled)`);
71
+ }
72
+ // If we still have remaining quantity and backorder is allowed, use variant calculated price
73
+ if (remainingQuantity > 0 && variant.allow_backorder) {
74
+ const backorderPrice = variant.calculated_price?.calculated_amount || 0;
75
+ totalPrice += backorderPrice * remainingQuantity;
76
+ priceBreakdown.push({
77
+ inwardId: "backorder",
78
+ price: backorderPrice,
79
+ quantity: remainingQuantity,
80
+ });
81
+ console.log(`Used backorder price ${backorderPrice} for remaining quantity ${remainingQuantity}`);
82
+ }
83
+ else if (remainingQuantity > 0) {
84
+ // If backorder not allowed but we still have remaining quantity, throw error or handle as needed
85
+ console.warn(`Cannot fulfill quantity ${quantity}. Available from stock: ${quantity - remainingQuantity}, Backorder not allowed.`);
86
+ throw new utils_2.MedusaError(utils_2.MedusaError.Types.NOT_ALLOWED, `Insufficient stock. Available: ${quantity - remainingQuantity}, Requested: ${quantity}`);
87
+ }
88
+ return new workflows_sdk_1.StepResponse({
89
+ price: totalPrice,
90
+ breakdown: {
91
+ quantity,
92
+ availableFromInwards: quantity - remainingQuantity,
93
+ backorderQuantity: variant.allow_backorder ? remainingQuantity : 0,
94
+ priceBreakdown,
95
+ backorderPrice: variant.allow_backorder
96
+ ? variant.calculated_price?.calculated_amount || 0
97
+ : 0,
98
+ variantTotalQuantityAvailable,
99
+ canFulfillFromStock,
100
+ },
101
+ });
102
+ });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhcmlhbnQtcHJpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZGQtdG8tY2FydC9zdGVwcy9nZXQtdmFyaWFudC1wcmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1FO0FBQ25FLHFFQUE2RTtBQUM3RSwyQ0FBOEM7QUFxQmpDLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUM1QyxvQkFBb0IsRUFDcEIsS0FBSyxFQUNILEVBQ0UsT0FBTyxFQUNQLFdBQVcsRUFDWCxRQUFRLEdBQUcsQ0FBQyxFQUNaLGNBQWMsR0FDZSxFQUMvQixFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLDJCQUEyQjtJQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsOEJBQXNCLEVBQUMsS0FBSyxFQUFFO1FBQ3ZELFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekIsZ0JBQWdCLEVBQUUsY0FBYyxJQUFJLEVBQUU7S0FDdkMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVuQiw0REFBNEQ7SUFDNUQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxDQUFDLG1DQUFtQztJQUU3RixJQUFJLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFDOUIsSUFBSSxnQkFBZ0IsR0FBVSxFQUFFLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsSUFBSSxpQkFBaUIsR0FBRyxRQUFRLENBQUM7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