@devx-commerce/plugin-gati 0.0.2-beta.7 → 0.0.2-beta.70

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 (263) 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 -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/shipping-info-master/index.js +13 -0
  82. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +17 -0
  83. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +16 -0
  84. package/.medusa/server/src/modules/shipping-info-master/models/shipping-info-master.js +22 -0
  85. package/.medusa/server/src/modules/shipping-info-master/service.js +10 -0
  86. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  87. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  88. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  89. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  90. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +15 -0
  91. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  92. package/.medusa/server/src/subscribers/capture-payment.js +34 -0
  93. package/.medusa/server/src/subscribers/category-group-master.js +115 -0
  94. package/.medusa/server/src/subscribers/category-master.js +129 -0
  95. package/.medusa/server/src/subscribers/collection-master.js +119 -0
  96. package/.medusa/server/src/subscribers/create-customer.js +34 -0
  97. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  98. package/.medusa/server/src/subscribers/party-master.js +247 -0
  99. package/.medusa/server/src/subscribers/product-update.js +58 -0
  100. package/.medusa/server/src/subscribers/shipping-info-master.js +133 -0
  101. package/.medusa/server/src/subscribers/sub-category-master.js +129 -0
  102. package/.medusa/server/src/utils/address-formatter.js +60 -0
  103. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  104. package/.medusa/server/src/utils/state-helper.js +72 -0
  105. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  106. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
  107. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  108. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  109. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  110. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  111. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +19 -0
  112. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  113. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  114. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +27 -0
  115. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  116. package/.medusa/server/src/workflows/category-master/steps/create-category.js +22 -0
  117. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  118. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  119. package/.medusa/server/src/workflows/category-master/steps/update-category.js +29 -0
  120. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  121. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +49 -0
  122. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  123. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  124. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  125. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  126. package/.medusa/server/src/workflows/collection-master/index.js +68 -0
  127. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  128. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +23 -0
  129. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  130. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  131. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +32 -0
  132. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +35 -3
  133. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  134. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  135. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  136. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +24 -4
  137. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  138. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  139. package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
  140. package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
  141. package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
  142. package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
  143. package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
  144. package/.medusa/server/src/workflows/discount-master/index.js +19 -0
  145. package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
  146. package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
  147. package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
  148. package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
  149. package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
  150. package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
  151. package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
  152. package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
  153. package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
  154. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  155. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  156. package/.medusa/server/src/workflows/helpers/product-helper.js +255 -75
  157. package/.medusa/server/src/workflows/hooks/variant-updated.js +16 -0
  158. package/.medusa/server/src/workflows/index.js +20 -0
  159. package/.medusa/server/src/workflows/inward-master/helper/index.js +373 -0
  160. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  161. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
  162. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  163. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  164. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +21 -0
  165. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  166. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  167. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  168. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  169. package/.medusa/server/src/workflows/{create-or-update-style-master/steps/fetch-styles.js → inward-master/steps/fetch-inward-master.js} +5 -5
  170. package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
  171. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  172. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +44 -0
  173. package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +35 -0
  174. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  175. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +175 -0
  176. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +102 -0
  177. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  178. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +102 -0
  179. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +37 -0
  180. package/.medusa/server/src/workflows/orders/index.js +18 -0
  181. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  182. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +27 -0
  183. package/.medusa/server/src/workflows/orders/utils/order-helper.js +77 -0
  184. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  185. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +48 -0
  186. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  187. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  188. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +29 -0
  189. package/.medusa/server/src/workflows/party-master/steps/create-party.js +72 -0
  190. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  191. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  192. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  193. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  194. package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
  195. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  196. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
  197. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  198. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  199. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  200. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  201. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  202. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  203. package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
  204. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  205. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  206. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +226 -0
  207. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
  208. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  209. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  210. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  211. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +24 -0
  212. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  213. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  214. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  215. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  216. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +20 -0
  217. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  218. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  219. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  220. package/.medusa/server/src/workflows/shipping-info-master/helper/index.js +23 -0
  221. package/.medusa/server/src/workflows/shipping-info-master/index.js +19 -0
  222. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info.js +17 -0
  223. package/.medusa/server/src/workflows/shipping-info-master/steps/delete-shipping-info.js +20 -0
  224. package/.medusa/server/src/workflows/shipping-info-master/steps/fetch-shipping-info-master.js +70 -0
  225. package/.medusa/server/src/workflows/shipping-info-master/steps/index.js +21 -0
  226. package/.medusa/server/src/workflows/shipping-info-master/steps/update-shipping-info.js +36 -0
  227. package/.medusa/server/src/workflows/shipping-info-master/types/index.js +3 -0
  228. package/.medusa/server/src/workflows/shipping-info-master/workflows/create-shipping-info.js +22 -0
  229. package/.medusa/server/src/workflows/shipping-info-master/workflows/delete-shipping-info.js +28 -0
  230. package/.medusa/server/src/workflows/shipping-info-master/workflows/index.js +20 -0
  231. package/.medusa/server/src/workflows/shipping-info-master/workflows/update-shipping-info.js +21 -0
  232. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  233. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  234. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  235. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  236. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +325 -0
  237. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  238. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  239. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  240. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +22 -0
  241. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  242. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  243. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +31 -0
  244. package/.medusa/server/src/workflows/types/common.js +21 -0
  245. package/.medusa/server/src/workflows/types/index.js +1 -9
  246. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +11 -2
  247. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  248. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +17 -37
  249. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/index.js +20 -0
  250. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
  251. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-from-variant.js +51 -0
  252. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/index.js +18 -0
  253. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-from-variant.js +42 -0
  254. package/package.json +6 -2
  255. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  256. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  257. package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
  258. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
  259. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
  260. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -124
  261. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
  262. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -161
  263. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +0 -37
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrUpdateStyleMasterWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const product_helper_1 = require("../../helpers/product-helper");
7
+ const fetch_styles_1 = require("../steps/fetch-styles");
8
+ /**
9
+ * Main workflow for handling StyleMst operations
10
+ * This workflow:
11
+ * 1. Fetches style data from ERP
12
+ * 2. Gets required sales channels and shipping profiles
13
+ * 3. Conditionally creates products based on operation type
14
+ *
15
+ * @param input - Contains operation type, datafor type, and transaction IDs
16
+ */
17
+ exports.createOrUpdateStyleMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("create-or-update-style-master", (input) => {
18
+ // Step 1: Fetch style data from ERP system
19
+ const styleData = (0, fetch_styles_1.fetchStyleData)(input);
20
+ // Step 2: Get all sales channels for product creation
21
+ const { data: salesChannels } = (0, core_flows_1.useQueryGraphStep)({
22
+ entity: "sales_channel",
23
+ fields: ["id", "name"],
24
+ }).config({ name: "sales-channels" });
25
+ // Step 3: Get shipping profile for product creation
26
+ const { data: shippingProfiles } = (0, core_flows_1.useQueryGraphStep)({
27
+ entity: "shipping_profile",
28
+ fields: ["id"],
29
+ pagination: {
30
+ take: 1,
31
+ },
32
+ }).config({ name: "shipping-profile" });
33
+ const externalIdsFilters = (0, workflows_sdk_1.transform)({
34
+ styleData,
35
+ }, (data) => {
36
+ return data.styleData.map((product) => `${product.StyleId}`);
37
+ });
38
+ const externalCollectionFilters = (0, workflows_sdk_1.transform)({
39
+ styleData,
40
+ }, (data) => {
41
+ return data.styleData.map((product) => {
42
+ const collection = product?.StyleMstCollection?.find((collection) => collection.CollectionGroupName.toLowerCase() === "collection")?.Collection;
43
+ return collection;
44
+ });
45
+ });
46
+ const externalCollectionGroupFilters = (0, workflows_sdk_1.transform)({
47
+ styleData,
48
+ }, (data) => {
49
+ return data.styleData
50
+ .map((product) => {
51
+ return product?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.CollectionGroupNo);
52
+ })
53
+ .flat()
54
+ .filter(Boolean);
55
+ });
56
+ const externalCollectionCategoryFilters = (0, workflows_sdk_1.transform)({
57
+ styleData,
58
+ }, (data) => {
59
+ return data.styleData
60
+ .map((product) => {
61
+ return product?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.DesgNo);
62
+ })
63
+ .flat()
64
+ .filter(Boolean);
65
+ });
66
+ const externalCategoryGroupFilters = (0, workflows_sdk_1.transform)({
67
+ styleData,
68
+ }, (data) => {
69
+ return data.styleData.map((product) => product?.GrpGroupNo);
70
+ });
71
+ const externalCategoryFilters = (0, workflows_sdk_1.transform)({
72
+ styleData,
73
+ }, (data) => {
74
+ return data.styleData.map((product) => product?.GrpNo);
75
+ });
76
+ const externalSubCategoryFilters = (0, workflows_sdk_1.transform)({
77
+ styleData,
78
+ }, (data) => {
79
+ return data.styleData.map((product) => product?.SubItmNo);
80
+ });
81
+ const combinedCategoryFilters = (0, workflows_sdk_1.transform)({
82
+ externalCategoryFilters,
83
+ externalSubCategoryFilters,
84
+ }, (data) => [
85
+ ...data.externalCategoryFilters,
86
+ ...data.externalSubCategoryFilters,
87
+ ]);
88
+ // @ts-ignore
89
+ const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
90
+ entity: "product",
91
+ fields: ["id", "external_id", "variants.*"],
92
+ filters: {
93
+ // @ts-ignore
94
+ external_id: externalIdsFilters,
95
+ },
96
+ }).config({ name: "existing-products" });
97
+ const { data: existingCollection } = (0, core_flows_1.useQueryGraphStep)({
98
+ entity: "collection_master",
99
+ fields: ["*"],
100
+ filters: {
101
+ collection_code: externalCollectionFilters,
102
+ },
103
+ }).config({ name: "existing-collection" });
104
+ const { data: existingCategoryGroup } = (0, core_flows_1.useQueryGraphStep)({
105
+ entity: "category_group_master",
106
+ fields: ["*"],
107
+ filters: {
108
+ grp_no: externalCategoryGroupFilters,
109
+ },
110
+ }).config({ name: "existing-category-group" });
111
+ const { data: existingCategory } = (0, core_flows_1.useQueryGraphStep)({
112
+ entity: "category_master",
113
+ fields: ["*"],
114
+ filters: {
115
+ grp_no: combinedCategoryFilters,
116
+ },
117
+ }).config({ name: "existing-category" });
118
+ const { data: existingSubCategory } = (0, core_flows_1.useQueryGraphStep)({
119
+ entity: "sub_category_master",
120
+ fields: ["*"],
121
+ filters: {
122
+ sub_item_no: externalSubCategoryFilters,
123
+ },
124
+ }).config({ name: "existing-sub-category" });
125
+ const { data: existingCollectionGroup } = (0, core_flows_1.useQueryGraphStep)({
126
+ entity: "collection_group_master",
127
+ fields: ["*"],
128
+ filters: {
129
+ collection_group_no: externalCollectionGroupFilters,
130
+ },
131
+ }).config({ name: "existing-collection-group" });
132
+ const { data: existingCollectionCategory } = (0, core_flows_1.useQueryGraphStep)({
133
+ entity: "collection_master",
134
+ fields: ["*"],
135
+ filters: {
136
+ collection_no: externalCollectionCategoryFilters,
137
+ },
138
+ }).config({ name: "existing-collection-category" });
139
+ (0, workflows_sdk_1.when)(input, (input) => {
140
+ return input.operation === "add" || input.operation === "update";
141
+ }).then(() => {
142
+ const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
143
+ styleData,
144
+ shippingProfiles,
145
+ salesChannels,
146
+ existingProducts,
147
+ existingCollection,
148
+ existingCategoryGroup,
149
+ existingCategory,
150
+ existingSubCategory,
151
+ existingCollectionGroup,
152
+ existingCollectionCategory,
153
+ }, (data) => {
154
+ const productsToCreate = [];
155
+ const productsToUpdate = [];
156
+ data.styleData.forEach((styleData) => {
157
+ // Calculate costs based on raw codes
158
+ const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.StyleMstDetail);
159
+ const productTitle = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue ||
160
+ `Style ${styleData.StyleCode}-${styleData.StyleId}`;
161
+ const productDescription = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "PD")?.ExplorationValue || "";
162
+ const productAvailabilityInOnline = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode.toLowerCase() === "web indicator")?.ExplorationValue.toLowerCase() === "true";
163
+ const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.StyleMstDetail);
164
+ let collectionId = "";
165
+ const categoryIds = [];
166
+ const collection = styleData?.StyleMstCollection?.find((collection) => collection.CollectionGroupName.toLowerCase() === "collection")?.Collection;
167
+ if (styleData.GrpGroupNo) {
168
+ const existingCategoryGroupData = data.existingCategoryGroup.find((c) => c.grp_no === styleData.GrpGroupNo);
169
+ if (existingCategoryGroupData) {
170
+ categoryIds.push(existingCategoryGroupData?.mapping_id);
171
+ }
172
+ }
173
+ if (styleData.GrpNo) {
174
+ const existingCategoryData = data.existingCategory.find((c) => c.grp_no === styleData.GrpNo);
175
+ if (existingCategoryData) {
176
+ categoryIds.push(existingCategoryData?.mapping_id);
177
+ }
178
+ }
179
+ if (styleData.SubItmNo) {
180
+ const existingSubCategoryData = data.existingSubCategory.find((c) => c.sub_item_no === styleData.SubItmNo);
181
+ if (existingSubCategoryData) {
182
+ categoryIds.push(existingSubCategoryData?.mapping_id);
183
+ }
184
+ }
185
+ const categories = styleData?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.DesgNo);
186
+ if (categories?.length > 0) {
187
+ for (const category of categories) {
188
+ const existingCollectionCategoryData = data.existingCollectionCategory.find((c) => c.collection_no === category);
189
+ if (existingCollectionCategoryData) {
190
+ categoryIds.push(existingCollectionCategoryData?.mapping_id);
191
+ }
192
+ }
193
+ }
194
+ const categoriesByGroup = styleData?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.CollectionGroupNo);
195
+ if (categoriesByGroup?.length > 0) {
196
+ for (const category of categoriesByGroup) {
197
+ const existingCollectionGroupData = data.existingCollectionGroup.find((c) => c.collection_group_no === category);
198
+ if (existingCollectionGroupData) {
199
+ categoryIds.push(existingCollectionGroupData?.mapping_id);
200
+ }
201
+ }
202
+ }
203
+ if (collection) {
204
+ const existingCollectionData = data.existingCollection.find((c) => c.collection_code === collection);
205
+ if (existingCollectionData) {
206
+ collectionId = existingCollectionData?.mapping_id;
207
+ }
208
+ }
209
+ const onlineSalesChannelId = data.salesChannels.find((channel) => channel.name.toLowerCase() === "online")?.id || "";
210
+ const offlineSalesChannelId = data.salesChannels.find((channel) => channel.name.toLowerCase() === "offline")?.id || "";
211
+ const width = parseFloat(styleData.StyleMstExploration.find((i) => i.ExplorationName.toLowerCase() === "width")?.ExplorationValue?.split(" ")[0] || "0");
212
+ const height = parseFloat(styleData.StyleMstExploration.find((i) => i.ExplorationName.toLowerCase() === "height")?.ExplorationValue?.split(" ")[0] || "0");
213
+ const product = {
214
+ external_id: `${styleData.StyleId}`,
215
+ title: productTitle || "",
216
+ description: productDescription || styleData.WebDescription || "",
217
+ status: "draft",
218
+ options: [
219
+ {
220
+ title: "Default",
221
+ values: ["Default"],
222
+ },
223
+ ],
224
+ origin_country: "IN",
225
+ material: styleData.StyleMstDetail.find((i) => i.RawType === "Metal" && i.IsBase)?.RawCode || "",
226
+ height,
227
+ width,
228
+ handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
229
+ variants: [],
230
+ shipping_profile_id: data.shippingProfiles[0].id,
231
+ category_ids: categoryIds.filter(Boolean),
232
+ sales_channels: [
233
+ {
234
+ id: productAvailabilityInOnline
235
+ ? onlineSalesChannelId
236
+ : offlineSalesChannelId,
237
+ },
238
+ ],
239
+ };
240
+ const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
241
+ if (collectionId) {
242
+ product.collection_id = collectionId;
243
+ }
244
+ if (existingProduct) {
245
+ product.id = existingProduct.id;
246
+ product.status = existingProduct.status;
247
+ product.title = existingProduct.title;
248
+ product.description = existingProduct.description;
249
+ product.handle = existingProduct.handle;
250
+ }
251
+ const extendedProductData = (0, product_helper_1.getExtendedProductData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
252
+ metal_total_cost,
253
+ diamond_total_cost,
254
+ stone_total_cost,
255
+ cpf_total_cost,
256
+ metal_total_amount,
257
+ diamond_total_amount,
258
+ stone_total_amount,
259
+ cpf_total_amount,
260
+ });
261
+ const styleDetails = (0, product_helper_1.getStyleDetailLines)(styleData?.StyleMstDetail || []);
262
+ const styleExploration = (0, product_helper_1.getStyleExplorationLines)(styleData?.StyleMstExploration || []);
263
+ const styleCollection = (0, product_helper_1.getStyleCollectionLines)(styleData?.StyleMstCollection || []);
264
+ if (existingProduct) {
265
+ productsToUpdate.push({
266
+ product: product,
267
+ additional_data: {
268
+ extendedProductData,
269
+ styleDetails,
270
+ styleExploration,
271
+ styleCollection,
272
+ },
273
+ });
274
+ }
275
+ else {
276
+ productsToCreate.push({
277
+ product: product,
278
+ additional_data: {
279
+ extendedProductData,
280
+ styleDetails,
281
+ styleExploration,
282
+ styleCollection,
283
+ },
284
+ });
285
+ }
286
+ });
287
+ return {
288
+ productsToCreate: {
289
+ products: productsToCreate.map((p) => p.product),
290
+ additional_data: productsToCreate.reduce((acc, p) => {
291
+ const externalId = p?.product?.external_id;
292
+ if (externalId) {
293
+ acc[externalId] = p.additional_data;
294
+ }
295
+ return acc;
296
+ }, {}),
297
+ },
298
+ productsToUpdate: {
299
+ products: productsToUpdate.map((p) => p.product),
300
+ additional_data: productsToUpdate.reduce((acc, p) => {
301
+ const externalId = p?.product?.external_id;
302
+ if (externalId) {
303
+ acc[externalId] = p.additional_data;
304
+ }
305
+ return acc;
306
+ }, {}),
307
+ },
308
+ };
309
+ });
310
+ core_flows_1.createProductsWorkflow.runAsStep({
311
+ input: {
312
+ ...productsToCreate,
313
+ },
314
+ });
315
+ core_flows_1.updateProductsWorkflow.runAsStep({
316
+ input: {
317
+ ...productsToUpdate,
318
+ },
319
+ });
320
+ });
321
+ return new workflows_sdk_1.WorkflowResponse({
322
+ success: true,
323
+ });
324
+ });
325
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1zdHlsZS1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci93b3JrZmxvd3MvY3JlYXRlLW9yLXVwZGF0ZS1zdHlsZS1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscUVBSzJDO0FBQzNDLDREQUlxQztBQUdyQyxpRUFRc0M7QUFFdEMsd0RBQXVEO0FBRXZEOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdELCtCQUErQixFQUMvQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QiwyQ0FBMkM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSw2QkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhDLHNEQUFzRDtJQUN0RCxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDaEQsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztLQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUV0QyxvREFBb0Q7SUFDcEQsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsQ0FBQztTQUNSO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFFeEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHlCQUFTLEVBQ2xDO1FBQ0UsU0FBUztLQUNWLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLHlCQUF5QixHQUFHLElBQUEseUJBQVMsRUFDekM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BDLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQ2xELENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDYixVQUFVLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLEtBQUssWUFBWSxDQUNoRSxFQUFFLFVBQVUsQ0FBQztZQUNkLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLDhCQUE4QixHQUFHLElBQUEseUJBQVMsRUFDOUM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE9BQU8sT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FDeEMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxZQUFZLENBQ2hFLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUM7YUFDRCxJQUFJLEVBQUU7YUFDTixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLGlDQUFpQyxHQUFHLElBQUEseUJBQVMsRUFDakQ7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE9BQU8sT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FDeEMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxZQUFZLENBQ2hFLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxFQUFFO2FBQ04sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSw0QkFBNEIsR0FBRyxJQUFBLHlCQUFTLEVBQzVDO1FBQ0UsU0FBUztLQUNWLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQ0YsQ0FBQztJQUVGLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSx5QkFBUyxFQUN2QztRQUNFLFNBQVM7S0FDVixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLDBCQUEwQixHQUFHLElBQUEseUJBQVMsRUFDMUM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLHlCQUFTLEVBQ3ZDO1FBQ0UsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtLQUMzQixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNSLEdBQUcsSUFBSSxDQUFDLHVCQUF1QjtRQUMvQixHQUFHLElBQUksQ0FBQywwQkFBMEI7S0FDbkMsQ0FDRixDQUFDO0lBRUYsYUFBYTtJQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ25ELE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDO1FBQzNDLE9BQU8sRUFBRTtZQUNQLGFBQWE7WUFDYixXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDckQsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxlQUFlLEVBQUUseUJBQXlCO1NBQzNDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDeEQsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUUsNEJBQTRCO1NBQ3JDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDdEQsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsMEJBQTBCO1NBQ3hDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFFN0MsTUFBTSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDMUQsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxtQkFBbUIsRUFBRSw4QkFBOEI7U0FDcEQ7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztJQUVqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM3RCxNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLGFBQWEsRUFBRSxpQ0FBaUM7U0FDakQ7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixFQUFFLENBQUMsQ0FBQztJQUVwRCxJQUFBLG9CQUFJLEVBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUNuRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSx5QkFBUyxFQUN0RDtZQUNFLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLDBCQUEwQjtTQUMzQixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxNQUFNLGdCQUFnQixHQUdoQixFQUFFLENBQUM7WUFDVCxNQUFNLGdCQUFnQixHQUdoQixFQUFFLENBQUM7WUFFVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQTBCLEVBQUUsRUFBRTtnQkFDcEQscUNBQXFDO2dCQUNyQyxNQUFNLEVBQ0osZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixHQUFHLElBQUEsOENBQTZCLEVBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUU1RCxNQUFNLFlBQVksR0FDaEIsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FDakMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUNoRSxFQUFFLGdCQUFnQjtvQkFDbkIsU0FBUyxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFFdEQsTUFBTSxrQkFBa0IsR0FDdEIsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FDakMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUN0RCxFQUFFLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztnQkFFNUIsTUFBTSwyQkFBMkIsR0FDL0IsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FDakMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNkLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLEtBQUssZUFBZSxDQUNoRSxFQUFFLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQztnQkFFL0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEdBQ2xELElBQUEsb0NBQW1CLEVBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUVoRCxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFhLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxVQUFVLEdBQUcsU0FBUyxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FDcEQsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxZQUFZLENBQ2hFLEVBQUUsVUFBVSxDQUFDO2dCQUVkLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN6QixNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQy9ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQ3pDLENBQUM7b0JBQ0YsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO3dCQUM5QixXQUFXLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDckQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FDcEMsQ0FBQztvQkFDRixJQUFJLG9CQUFvQixFQUFFLENBQUM7d0JBQ3pCLFdBQVcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ3JELENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUM1QyxDQUFDO29CQUNGLElBQUksdUJBQXVCLEVBQUUsQ0FBQzt3QkFDNUIsV0FBVyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDeEQsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLENBQ3RELENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDYixVQUFVLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLEtBQUssWUFBWSxDQUNoRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxJQUFJLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQ2xDLE1BQU0sOEJBQThCLEdBQ2xDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQ2xDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FDcEMsQ0FBQzt3QkFDSixJQUFJLDhCQUE4QixFQUFFLENBQUM7NEJBQ25DLFdBQVcsQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7d0JBQy9ELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FDN0QsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxZQUFZLENBQ2hFLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFFckQsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQzt3QkFDekMsTUFBTSwyQkFBMkIsR0FDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQzFDLENBQUM7d0JBQ0osSUFBSSwyQkFBMkIsRUFBRSxDQUFDOzRCQUNoQyxXQUFXLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyxDQUFDO3dCQUM1RCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNmLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDekQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEtBQUssVUFBVSxDQUN4QyxDQUFDO29CQUNGLElBQUksc0JBQXNCLEVBQUUsQ0FBQzt3QkFDM0IsWUFBWSxHQUFHLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztvQkFDcEQsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0sb0JBQW9CLEdBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQ3JELEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFFZCxNQUFNLHFCQUFxQixHQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUN0RCxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBRWQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUN0QixTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNoQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQ25ELEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FDMUMsQ0FBQztnQkFFRixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQ3ZCLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FDcEQsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUMxQyxDQUFDO2dCQUVGLE1BQU0sT0FBTyxHQUV1QjtvQkFDbEMsV0FBVyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRTtvQkFDbkMsS0FBSyxFQUFFLFlBQVksSUFBSSxFQUFFO29CQUN6QixXQUFXLEVBQUUsa0JBQWtCLElBQUksU0FBUyxDQUFDLGNBQWMsSUFBSSxFQUFFO29CQUNqRSxNQUFNLEVBQUUsT0FBTztvQkFDZixPQUFPLEVBQUU7d0JBQ1A7NEJBQ0UsS0FBSyxFQUFFLFNBQVM7NEJBQ2hCLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQzt5QkFDcEI7cUJBQ0Y7b0JBQ0QsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLFFBQVEsRUFDTixTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQ3pDLEVBQUUsT0FBTyxJQUFJLEVBQUU7b0JBQ2xCLE1BQU07b0JBQ04sS0FBSztvQkFDTCxNQUFNLEVBQUUsSUFBQSw0QkFBVyxFQUFDLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDeEQsUUFBUSxFQUFFLEVBQUU7b0JBQ1osbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2hELFlBQVksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDekMsY0FBYyxFQUFFO3dCQUNkOzRCQUNFLEVBQUUsRUFBRSwyQkFBMkI7Z0NBQzdCLENBQUMsQ0FBQyxvQkFBb0I7Z0NBQ3RCLENBQUMsQ0FBQyxxQkFBcUI7eUJBQzFCO3FCQUNGO2lCQUNGLENBQUM7Z0JBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FDN0MsQ0FBQztnQkFFRixJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixPQUFPLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztnQkFDdkMsQ0FBQztnQkFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixPQUFPLENBQUMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQ2hDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztvQkFDeEMsT0FBTyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO29CQUN0QyxPQUFPLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7b0JBQ2xELE9BQU8sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztnQkFDMUMsQ0FBQztnQkFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUEsdUNBQXNCLEVBQ2hELFNBQVMsRUFDVCxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEVBQzlDO29CQUNFLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO2lCQUNqQixDQUNGLENBQUM7Z0JBRUYsTUFBTSxZQUFZLEdBQUcsSUFBQSxvQ0FBbUIsRUFDdEMsU0FBUyxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQ2hDLENBQUM7Z0JBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHlDQUF3QixFQUMvQyxTQUFTLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUNyQyxDQUFDO2dCQUVGLE1BQU0sZUFBZSxHQUFHLElBQUEsd0NBQXVCLEVBQzdDLFNBQVMsRUFBRSxrQkFBa0IsSUFBSSxFQUFFLENBQ3BDLENBQUM7Z0JBRUYsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO3dCQUNwQixPQUFPLEVBQUUsT0FBd0M7d0JBQ2pELGVBQWUsRUFBRTs0QkFDZixtQkFBbUI7NEJBQ25CLFlBQVk7NEJBQ1osZ0JBQWdCOzRCQUNoQixlQUFlO3lCQUNoQjtxQkFDRixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGdCQUFnQixDQUFDLElBQUksQ0FBQzt3QkFDcEIsT0FBTyxFQUFFLE9BQXdDO3dCQUNqRCxlQUFlLEVBQUU7NEJBQ2YsbUJBQW1COzRCQUNuQixZQUFZOzRCQUNaLGdCQUFnQjs0QkFDaEIsZUFBZTt5QkFDaEI7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQ2hELGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ2xELE1BQU0sVUFBVSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO3dCQUMzQyxJQUFJLFVBQVUsRUFBRSxDQUFDOzRCQUNmLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDO3dCQUN0QyxDQUFDO3dCQUNELE9BQU8sR0FBRyxDQUFDO29CQUNiLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ1A7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQ2hELGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQ2xELE1BQU0sVUFBVSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO3dCQUMzQyxJQUFJLFVBQVUsRUFBRSxDQUFDOzRCQUNmLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDO3dCQUN0QyxDQUFDO3dCQUNELE9BQU8sR0FBRyxDQUFDO29CQUNiLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ1A7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7UUFFRixtQ0FBc0IsQ0FBQyxTQUFTLENBQUM7WUFDL0IsS0FBSyxFQUFFO2dCQUNMLEdBQUcsZ0JBQWdCO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsbUNBQXNCLENBQUMsU0FBUyxDQUFDO1lBQy9CLEtBQUssRUFBRTtnQkFDTCxHQUFHLGdCQUFnQjthQUNwQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteStyleMasterWorkflow = exports.deleteStyleMasterWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const steps_1 = require("../steps");
7
+ exports.deleteStyleMasterWorkflowId = "delete-style-master";
8
+ exports.deleteStyleMasterWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.deleteStyleMasterWorkflowId, (input) => {
9
+ // @ts-ignore
10
+ const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
11
+ entity: "product",
12
+ fields: ["id", "external_id", "variants.*"],
13
+ filters: {
14
+ // @ts-ignore
15
+ external_id: input.ids,
16
+ },
17
+ }).config({ name: "existing-products" });
18
+ const deletedStyleMaster = (0, steps_1.deleteStyleMasterStep)({
19
+ ids: input.ids,
20
+ existingProducts,
21
+ });
22
+ return new workflows_sdk_1.WorkflowResponse(deletedStyleMaster);
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN0eWxlLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3R5bGUtbWFzdGVyL3dvcmtmbG93cy9kZWxldGUtc3R5bGUtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkyQztBQUMzQyw0REFJcUM7QUFFckMsb0NBQWlEO0FBY3BDLFFBQUEsMkJBQTJCLEdBQUcscUJBQXFCLENBQUM7QUFFcEQsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELG1DQUEyQixFQUMzQixDQUFDLEtBQW1ELEVBQUUsRUFBRTtJQUN0RCxhQUFhO0lBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsYUFBYTtZQUNiLFdBQVcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUN2QjtLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSw2QkFBcUIsRUFBQztRQUMvQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7UUFDZCxnQkFBZ0I7S0FDakIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUNGLENBQUMifQ==
@@ -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("./create-or-update-style-master"), exports);
18
+ __exportStar(require("./delete-style-master"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUFnRDtBQUNoRCx3REFBc0MifQ==
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subCategoryMasterWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const create_sub_category_1 = require("./steps/create-sub-category");
7
+ const delete_sub_category_1 = require("./steps/delete-sub-category");
8
+ const fetch_category_master_1 = require("./steps/fetch-category-master");
9
+ const update_sub_category_1 = require("./steps/update-sub-category");
10
+ exports.subCategoryMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("sub-category-master", (input) => {
11
+ const subCategoryData = (0, fetch_category_master_1.fetchSubCategoryData)(input);
12
+ (0, workflows_sdk_1.when)("create-sub-category", input, (input) => {
13
+ return input.operation === "add";
14
+ }).then(() => {
15
+ const subCategory = (0, create_sub_category_1.createSubCategoryStep)(subCategoryData);
16
+ (0, core_flows_1.emitEventStep)({
17
+ eventName: "sub_category_master",
18
+ data: {
19
+ operation: "create",
20
+ data: subCategory,
21
+ },
22
+ }).config({
23
+ name: "create-sub-category-event",
24
+ });
25
+ return new workflows_sdk_1.WorkflowResponse(subCategory);
26
+ });
27
+ (0, workflows_sdk_1.when)("update-sub-category", input, (input) => {
28
+ return input.operation === "update";
29
+ }).then(() => {
30
+ const subCategory = (0, update_sub_category_1.updateSubCategoryStep)(subCategoryData);
31
+ (0, core_flows_1.emitEventStep)({
32
+ eventName: "sub_category_master",
33
+ data: {
34
+ operation: "update",
35
+ data: subCategory,
36
+ },
37
+ }).config({
38
+ name: "update-sub-category-event",
39
+ });
40
+ return new workflows_sdk_1.WorkflowResponse(subCategory);
41
+ });
42
+ (0, workflows_sdk_1.when)("delete-sub-category", input, (input) => {
43
+ return input.operation === "delete";
44
+ }).then(() => {
45
+ const subCategory = (0, delete_sub_category_1.deleteSubCategoryStep)(subCategoryData);
46
+ (0, core_flows_1.emitEventStep)({
47
+ eventName: "sub_category_master",
48
+ data: {
49
+ operation: "delete",
50
+ data: subCategory,
51
+ },
52
+ }).config({
53
+ name: "delete-sub-category-event",
54
+ });
55
+ return new workflows_sdk_1.WorkflowResponse(subCategory);
56
+ });
57
+ });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N1Yi1jYXRlZ29yeS1tYXN0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBQzNDLDREQUE0RDtBQUc1RCxxRUFBb0U7QUFDcEUscUVBQW9FO0FBQ3BFLHlFQUFxRTtBQUNyRSxxRUFBb0U7QUFFdkQsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELHFCQUFxQixFQUNyQixDQUFDLEtBQWtCLEVBQUUsRUFBRTtJQUNyQixNQUFNLGVBQWUsR0FBRyxJQUFBLDRDQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBELElBQUEsb0JBQUksRUFBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUFxQixFQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUEsMEJBQWEsRUFBQztZQUNaLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixJQUFJLEVBQUUsV0FBVzthQUNsQjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDUixJQUFJLEVBQUUsMkJBQTJCO1NBQ2xDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUFxQixFQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUEsMEJBQWEsRUFBQztZQUNaLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixJQUFJLEVBQUUsV0FBVzthQUNsQjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDUixJQUFJLEVBQUUsMkJBQTJCO1NBQ2xDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUFxQixFQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUEsMEJBQWEsRUFBQztZQUNaLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixJQUFJLEVBQUUsV0FBVzthQUNsQjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDUixJQUFJLEVBQUUsMkJBQTJCO1NBQ2xDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSubCategoryStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sub_category_master_1 = require("../../../modules/sub-category-master");
6
+ exports.createSubCategoryStep = (0, workflows_sdk_1.createStep)("create-sub-category-step", async (input, { container }) => {
7
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
8
+ const subCategoryData = input.filter((item) => !item.IsBlockForUse);
9
+ const subCategory = await subCategoryMasterModuleService.createSubCategoryMasters(subCategoryData.map((item) => ({
10
+ sub_item_no: item.SubItmNo,
11
+ sub_category_code: item.SubCategoryCode,
12
+ sub_category_name: item.SubCategoryName,
13
+ grp_no: item.GrpNo,
14
+ category_code: item.CategoryCode,
15
+ category_name: item.CategoryName,
16
+ })));
17
+ return new workflows_sdk_1.StepResponse(subCategory, subCategory.map((item) => item.id));
18
+ }, async (id, { container }) => {
19
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
20
+ await subCategoryMasterModuleService.deleteSubCategoryMasters(id);
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1Yi1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3ViLWNhdGVnb3J5LW1hc3Rlci9zdGVwcy9jcmVhdGUtc3ViLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSw4RUFBa0Y7QUFhckUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBbUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDM0QsTUFBTSw4QkFBOEIsR0FDbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnREFBMEIsQ0FBQyxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sV0FBVyxHQUNmLE1BQU0sOEJBQThCLENBQUMsd0JBQXdCLENBQzNELGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQzFCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDaEMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO0tBQ2pDLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFFSixPQUFPLElBQUksNEJBQVksQ0FDckIsV0FBVyxFQUNYLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQztBQUNKLENBQUMsRUFDRCxLQUFLLEVBQUUsRUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxNQUFNLDhCQUE4QixHQUNsQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdEQUEwQixDQUFDLENBQUM7SUFFaEQsTUFBTSw4QkFBOEIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteSubCategoryStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sub_category_master_1 = require("../../../modules/sub-category-master");
6
+ exports.deleteSubCategoryStep = (0, workflows_sdk_1.createStep)("delete-sub-category-step", async (input, { container }) => {
7
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
8
+ const prevSubCategory = await subCategoryMasterModuleService.listSubCategoryMasters({
9
+ filters: {
10
+ id: {
11
+ in: input.map((item) => item.id),
12
+ },
13
+ },
14
+ });
15
+ const subCategory = await subCategoryMasterModuleService.deleteSubCategoryMasters(input.map((item) => item.id));
16
+ return new workflows_sdk_1.StepResponse(subCategory, prevSubCategory);
17
+ }, async (prevSubCategory, { container }) => {
18
+ if (!prevSubCategory)
19
+ return;
20
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
21
+ await subCategoryMasterModuleService.restoreSubCategoryMasters(prevSubCategory.map((item) => item.id));
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN1Yi1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3ViLWNhdGVnb3J5LW1hc3Rlci9zdGVwcy9kZWxldGUtc3ViLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSw4RUFBa0Y7QUFPckUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBbUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDM0QsTUFBTSw4QkFBOEIsR0FDbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnREFBMEIsQ0FBQyxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUNuQixNQUFNLDhCQUE4QixDQUFDLHNCQUFzQixDQUFDO1FBQzFELE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNqQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUwsTUFBTSxXQUFXLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQyx3QkFBd0IsQ0FDM0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUM3QixDQUFDO0lBRUosT0FBTyxJQUFJLDRCQUFZLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ3hELENBQUMsRUFDRCxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2QyxJQUFJLENBQUMsZUFBZTtRQUFFLE9BQU87SUFDN0IsTUFBTSw4QkFBOEIsR0FDbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnREFBMEIsQ0FBQyxDQUFDO0lBRWhELE1BQU0sOEJBQThCLENBQUMseUJBQXlCLENBQzVELGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchSubCategoryData = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const BATCH_SIZE = 50; // Process 50 items at a time
6
+ const MAX_RETRIES = 3;
7
+ const RETRY_DELAY = 1000; // 1 second delay between retries
8
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
9
+ const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
10
+ try {
11
+ const results = await Promise.all(batch.map(async (transactionId) => {
12
+ try {
13
+ return await erpService.getMasterData(datafor, transactionId);
14
+ }
15
+ catch (error) {
16
+ console.error(`Error fetching data for ID ${transactionId}:`, error);
17
+ return null;
18
+ }
19
+ }));
20
+ // Filter out failed requests
21
+ const successfulResults = results.filter((result) => result !== null);
22
+ // If we have failed requests and haven't exceeded max retries, retry them
23
+ if (results.length !== successfulResults.length &&
24
+ retryCount < MAX_RETRIES) {
25
+ const failedIds = batch.filter((_, index) => results[index] === null);
26
+ console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
27
+ await sleep(RETRY_DELAY);
28
+ const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
29
+ return [...successfulResults, ...retryResults];
30
+ }
31
+ return successfulResults;
32
+ }
33
+ catch (error) {
34
+ console.error("Batch processing error:", error);
35
+ if (retryCount < MAX_RETRIES) {
36
+ console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
37
+ await sleep(RETRY_DELAY);
38
+ return processBatch(erpService, datafor, batch, retryCount + 1);
39
+ }
40
+ throw error;
41
+ }
42
+ };
43
+ /**
44
+ * Step to fetch style data from ERP system
45
+ * This step processes data in batches to avoid timeouts and handle large datasets
46
+ * @param input - Contains datafor type and array of transaction IDs
47
+ * @param container - Dependency injection container to resolve services
48
+ */
49
+ exports.fetchSubCategoryData = (0, workflows_sdk_1.createStep)("fetch-sub-category-data", async (input, { container }) => {
50
+ const erpService = container.resolve("erp");
51
+ const { datafor, data } = input;
52
+ // Split data into batches
53
+ const batches = [];
54
+ for (let i = 0; i < data.length; i += BATCH_SIZE) {
55
+ batches.push(data.slice(i, i + BATCH_SIZE));
56
+ }
57
+ console.log(`Processing ${data.length} items in ${batches.length} batches`);
58
+ // Process each batch sequentially
59
+ const allResults = [];
60
+ for (let i = 0; i < batches.length; i++) {
61
+ console.log(`Processing batch ${i + 1}/${batches.length}`);
62
+ const batchResults = await processBatch(erpService, datafor, batches[i]);
63
+ allResults.push(...batchResults);
64
+ }
65
+ console.log(`Successfully processed ${allResults.length} items`);
66
+ return new workflows_sdk_1.StepResponse(allResults.flatMap((innerArray) => innerArray));
67
+ }, async (result, { container }) => {
68
+ console.log("Something went wrong in fetch-sub-category-data");
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtY2F0ZWdvcnktbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdWItY2F0ZWdvcnktbWFzdGVyL3N0ZXBzL2ZldGNoLWNhdGVnb3J5LW1hc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFJN0UsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsNkJBQTZCO0FBQ3BELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7QUFFM0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFaEYsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUN4QixVQUE0QixFQUM1QixPQUFlLEVBQ2YsS0FBZSxFQUNmLFVBQVUsR0FBRyxDQUFDLEVBQ0UsRUFBRTtJQUNsQixJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsYUFBYSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRiw2QkFBNkI7UUFDN0IsTUFBTSxpQkFBaUIs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
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateSubCategoryStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sub_category_master_1 = require("../../../modules/sub-category-master");
6
+ exports.updateSubCategoryStep = (0, workflows_sdk_1.createStep)("update-sub-category-step", async (input, { container }) => {
7
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
8
+ const prevSubCategory = await subCategoryMasterModuleService.listSubCategoryMasters({
9
+ filters: {
10
+ sub_item_no: {
11
+ $in: input.map((item) => item.SubItmNo),
12
+ },
13
+ },
14
+ });
15
+ const subCategory = await subCategoryMasterModuleService.updateSubCategoryMasters(input.map((item) => ({
16
+ id: prevSubCategory.find((c) => c.sub_item_no === item.SubItmNo)?.id,
17
+ sub_item_no: item.SubItmNo,
18
+ sub_category_code: item.SubCategoryCode,
19
+ sub_category_name: item.SubCategoryName,
20
+ grp_no: item.GrpNo,
21
+ category_code: item.CategoryCode,
22
+ category_name: item.CategoryName,
23
+ })));
24
+ return new workflows_sdk_1.StepResponse(subCategory, prevSubCategory);
25
+ }, async (prevSubCategory, { container }) => {
26
+ if (!prevSubCategory)
27
+ return;
28
+ const subCategoryMasterModuleService = container.resolve(sub_category_master_1.SUB_CATEGORY_MASTER_MODULE);
29
+ await subCategoryMasterModuleService.createSubCategoryMasters(prevSubCategory);
30
+ });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXN1Yi1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3ViLWNhdGVnb3J5LW1hc3Rlci9zdGVwcy91cGRhdGUtc3ViLWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSw4RUFBa0Y7QUFZckUsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBbUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDM0QsTUFBTSw4QkFBOEIsR0FDbEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnREFBMEIsQ0FBQyxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUNuQixNQUFNLDhCQUE4QixDQUFDLHNCQUFzQixDQUFDO1FBQzFELE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN4QztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUwsTUFBTSxXQUFXLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQyx3QkFBd0IsQ0FDM0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQixFQUFFLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtRQUNwRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDMUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDdkMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2xCLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWTtRQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7S0FDakMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUVKLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUN4RCxDQUFDLEVBQ0QsS0FBSyxFQUFFLGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxDQUFDLGVBQWU7UUFBRSxPQUFPO0lBQzdCLE1BQU0sOEJBQThCLEdBQ2xDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0RBQTBCLENBQUMsQ0FBQztJQUVoRCxNQUFNLDhCQUE4QixDQUFDLHdCQUF3QixDQUMzRCxlQUFlLENBQ2hCLENBQUM7QUFDSixDQUFDLENBQ0YsQ0FBQyJ9