@devx-commerce/plugin-gati 0.0.2-beta.13 → 0.0.2-beta.131

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 (279) 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/middleware.js +29 -0
  8. package/.medusa/server/src/api/erp/webhook/config.js +139 -0
  9. package/.medusa/server/src/api/erp/webhook/route.js +134 -94
  10. package/.medusa/server/src/api/erp/webhook/utils.js +61 -0
  11. package/.medusa/server/src/api/middlewares.js +17 -0
  12. package/.medusa/server/src/api/store/carts/[id]/custom-add-line-items/route.js +17 -0
  13. package/.medusa/server/src/api/store/carts/middleware.js +14 -0
  14. package/.medusa/server/src/api/store/custom-price/[variant_id]/route.js +25 -0
  15. package/.medusa/server/src/api/store/custom-price/middleware.js +13 -0
  16. package/.medusa/server/src/api/store/custom-price/query-config.js +11 -0
  17. package/.medusa/server/src/api/store/custom-price/validators.js +16 -0
  18. package/.medusa/server/src/api/store/middleware.js +15 -0
  19. package/.medusa/server/src/commands/bulk-jobs/erp-webhook-batch.js +560 -0
  20. package/.medusa/server/src/commands/utils/command-args.js +85 -0
  21. package/.medusa/server/src/jobs/process-pending-erp-events.js +112 -0
  22. package/.medusa/server/src/lib/api-response.js +103 -0
  23. package/.medusa/server/src/modules/category-group-master/index.js +13 -0
  24. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +16 -0
  25. package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +13 -0
  26. package/.medusa/server/src/modules/category-group-master/service.js +10 -0
  27. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  28. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
  29. package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +18 -0
  30. package/.medusa/server/src/modules/category-master/models/category-master.js +8 -2
  31. package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
  32. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
  33. package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
  34. package/.medusa/server/src/modules/collection-group-master/service.js +10 -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 +4 -1
  37. package/.medusa/server/src/modules/discount-master/index.js +13 -0
  38. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +21 -0
  39. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +16 -0
  40. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +14 -0
  41. package/.medusa/server/src/modules/discount-master/models/discount-master.js +62 -0
  42. package/.medusa/server/src/modules/discount-master/service.js +84 -0
  43. package/.medusa/server/src/modules/erp/service.js +67 -1
  44. package/.medusa/server/src/modules/erp-event/index.js +13 -0
  45. package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +15 -0
  46. package/.medusa/server/src/modules/erp-event/models/erp-event.js +16 -0
  47. package/.medusa/server/src/modules/erp-event/service.js +10 -0
  48. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
  49. package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +14 -0
  50. package/.medusa/server/src/modules/extended-product/models/extended-product.js +55 -5
  51. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  52. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
  53. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
  54. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
  55. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
  56. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
  57. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +14 -0
  58. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +14 -0
  59. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +14 -0
  60. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +14 -0
  61. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +258 -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/promocode-master/index.js +13 -0
  75. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +27 -0
  76. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +14 -0
  77. package/.medusa/server/src/modules/promocode-master/models/promocode-master.js +67 -0
  78. package/.medusa/server/src/modules/promocode-master/service.js +13 -0
  79. package/.medusa/server/src/modules/shipping-info-master/index.js +13 -0
  80. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +17 -0
  81. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +16 -0
  82. package/.medusa/server/src/modules/shipping-info-master/models/shipping-info-master.js +22 -0
  83. package/.medusa/server/src/modules/shipping-info-master/service.js +10 -0
  84. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  85. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  86. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +16 -0
  87. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +22 -0
  88. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +14 -0
  89. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +9 -4
  90. package/.medusa/server/src/subscribers/capture-payment.js +36 -0
  91. package/.medusa/server/src/subscribers/category-group-master.js +118 -0
  92. package/.medusa/server/src/subscribers/category-master.js +134 -0
  93. package/.medusa/server/src/subscribers/collection-master.js +3 -9
  94. package/.medusa/server/src/subscribers/create-customer.js +60 -0
  95. package/.medusa/server/src/subscribers/mark-inward.js +77 -0
  96. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  97. package/.medusa/server/src/subscribers/party-master.js +263 -0
  98. package/.medusa/server/src/subscribers/product-sync.js +27 -0
  99. package/.medusa/server/src/subscribers/shipping-info-master.js +136 -0
  100. package/.medusa/server/src/subscribers/sub-category-master.js +130 -0
  101. package/.medusa/server/src/utils/address-formatter.js +60 -0
  102. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  103. package/.medusa/server/src/utils/state-helper.js +72 -0
  104. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  105. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
  106. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  107. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  108. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  109. package/.medusa/server/src/workflows/bulk-jobs-task-trigger/index.js +31 -0
  110. package/.medusa/server/src/workflows/bulk-jobs-task-trigger/steps/create-job-tracking.js +15 -0
  111. package/.medusa/server/src/workflows/bulk-jobs-task-trigger/steps/trigger-ecs-task.js +95 -0
  112. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  113. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +20 -0
  114. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  115. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  116. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +28 -0
  117. package/.medusa/server/src/workflows/category-master/index.js +29 -1
  118. package/.medusa/server/src/workflows/category-master/steps/create-category.js +8 -2
  119. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +1 -1
  120. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +2 -2
  121. package/.medusa/server/src/workflows/category-master/steps/update-category.js +12 -9
  122. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  123. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +46 -0
  124. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  125. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  126. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  127. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  128. package/.medusa/server/src/workflows/collection-master/index.js +13 -3
  129. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  130. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +6 -2
  131. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +7 -8
  132. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +2 -2
  133. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +4 -1
  134. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +36 -4
  135. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  136. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  137. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  138. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +15 -5
  139. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  140. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  141. package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
  142. package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
  143. package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
  144. package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
  145. package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
  146. package/.medusa/server/src/workflows/discount-master/index.js +19 -0
  147. package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
  148. package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
  149. package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
  150. package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
  151. package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
  152. package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
  153. package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
  154. package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
  155. package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
  156. package/.medusa/server/src/workflows/erp-event/index.js +19 -0
  157. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +20 -0
  158. package/.medusa/server/src/workflows/erp-event/steps/index.js +19 -0
  159. package/.medusa/server/src/workflows/erp-event/steps/update-erp-event.js +22 -0
  160. package/.medusa/server/src/workflows/erp-event/workflows/create-erp-event.js +10 -0
  161. package/.medusa/server/src/workflows/erp-event/workflows/index.js +18 -0
  162. package/.medusa/server/src/workflows/erp-event/workflows/update-erp-event.js +10 -0
  163. package/.medusa/server/src/workflows/helpers/product-helper.js +262 -77
  164. package/.medusa/server/src/workflows/hooks/product-created.js +7 -9
  165. package/.medusa/server/src/workflows/hooks/product-updated.js +15 -11
  166. package/.medusa/server/src/workflows/hooks/variant-created.js +7 -9
  167. package/.medusa/server/src/workflows/hooks/variant-updated.js +31 -0
  168. package/.medusa/server/src/workflows/index.js +20 -0
  169. package/.medusa/server/src/workflows/inward-master/helper/index.js +377 -0
  170. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  171. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
  172. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  173. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  174. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +24 -0
  175. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  176. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  177. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  178. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  179. package/.medusa/server/src/workflows/inward-master/steps/fetch-inward-master.js +70 -0
  180. package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
  181. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  182. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +49 -0
  183. package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +36 -0
  184. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  185. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +258 -0
  186. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +183 -0
  187. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  188. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +101 -0
  189. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +192 -0
  190. package/.medusa/server/src/workflows/notification/index.js +10 -0
  191. package/.medusa/server/src/workflows/notification/steps/create-notification.js +15 -0
  192. package/.medusa/server/src/workflows/orders/index.js +18 -0
  193. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  194. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +53 -0
  195. package/.medusa/server/src/workflows/orders/utils/order-helper.js +77 -0
  196. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  197. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +42 -0
  198. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  199. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  200. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +85 -0
  201. package/.medusa/server/src/workflows/party-master/steps/create-party.js +72 -0
  202. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  203. package/.medusa/server/src/workflows/{create-or-update-party-style-master/steps/fetch-party-styles.js → party-master/steps/fetch-party-master.js} +6 -6
  204. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  205. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  206. package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
  207. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  208. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
  209. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  210. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  211. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  212. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  213. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  214. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  215. package/.medusa/server/src/workflows/party-style-master/steps/index.js +20 -0
  216. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  217. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +238 -0
  218. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  219. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +408 -0
  220. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +98 -0
  221. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  222. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  223. package/.medusa/server/src/workflows/promocode-master/index.js +58 -0
  224. package/.medusa/server/src/workflows/promocode-master/steps/create-promocode.js +85 -0
  225. package/.medusa/server/src/workflows/promocode-master/steps/delete-promocode.js +75 -0
  226. package/.medusa/server/src/workflows/promocode-master/steps/fetch-collection-master.js +70 -0
  227. package/.medusa/server/src/workflows/promocode-master/steps/update-promocode.js +132 -0
  228. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +1 -2
  229. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +2 -2
  230. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +1 -2
  231. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +2 -2
  232. package/.medusa/server/src/workflows/shipping-info-master/helper/index.js +23 -0
  233. package/.medusa/server/src/workflows/shipping-info-master/index.js +19 -0
  234. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info-erp.js +37 -0
  235. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info.js +17 -0
  236. package/.medusa/server/src/workflows/shipping-info-master/steps/delete-shipping-info.js +20 -0
  237. package/.medusa/server/src/workflows/shipping-info-master/steps/fetch-shipping-info-master.js +70 -0
  238. package/.medusa/server/src/workflows/shipping-info-master/steps/index.js +22 -0
  239. package/.medusa/server/src/workflows/shipping-info-master/steps/update-shipping-info.js +36 -0
  240. package/.medusa/server/src/workflows/shipping-info-master/types/index.js +3 -0
  241. package/.medusa/server/src/workflows/shipping-info-master/workflows/create-shipping-info.js +24 -0
  242. package/.medusa/server/src/workflows/shipping-info-master/workflows/delete-shipping-info.js +28 -0
  243. package/.medusa/server/src/workflows/shipping-info-master/workflows/index.js +20 -0
  244. package/.medusa/server/src/workflows/shipping-info-master/workflows/update-shipping-info.js +22 -0
  245. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  246. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  247. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  248. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  249. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +330 -0
  250. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  251. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  252. package/.medusa/server/src/workflows/sub-category-master/index.js +34 -3
  253. package/.medusa/server/src/workflows/sub-category-master/steps/create-category.js +65 -0
  254. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +6 -2
  255. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +2 -2
  256. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +2 -2
  257. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +12 -9
  258. package/.medusa/server/src/workflows/types/bulk-export.js +10 -0
  259. package/.medusa/server/src/workflows/types/common.js +21 -0
  260. package/.medusa/server/src/workflows/types/index.js +1 -9
  261. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +14 -5
  262. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  263. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +17 -37
  264. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/index.js +20 -0
  265. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
  266. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-from-variant.js +56 -0
  267. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/index.js +19 -0
  268. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-from-variant.js +50 -0
  269. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +55 -0
  270. package/package.json +7 -2
  271. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  272. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  273. package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
  274. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
  275. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
  276. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -123
  277. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -177
  278. package/.medusa/server/src/workflows/create-or-update-style-master/steps/fetch-styles.js +0 -70
  279. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +0 -37
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInwardDetailLinesStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ exports.deleteInwardDetailLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-detail-lines", async (ids, { container }) => {
6
+ const service = container.resolve("extended_variant");
7
+ await service.deleteInwardDetailsLines(ids);
8
+ return new workflows_sdk_1.StepResponse(void 0, ids);
9
+ }, async (prevIds, { container }) => {
10
+ if (!prevIds?.length) {
11
+ return;
12
+ }
13
+ const service = container.resolve("extended_variant");
14
+ await service.restoreInwardDetailsLines(prevIds);
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1kZXRhaWwtbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvZGVsZXRlLWlud2FyZC1kZXRhaWwtbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSWhFLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLEdBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckMsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInwardExplorationLinesStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ exports.deleteInwardExplorationLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-exploration-lines", async (ids, { container }) => {
6
+ const service = container.resolve("extended_variant");
7
+ await service.deleteInwardExplorationLines(ids);
8
+ return new workflows_sdk_1.StepResponse(void 0, ids);
9
+ }, async (prevIds, { container }) => {
10
+ if (!prevIds) {
11
+ return;
12
+ }
13
+ const service = container.resolve("extended_variant");
14
+ await service.restoreInwardExplorationLines(prevIds);
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1leHBsb3JhdGlvbi1saW5lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9kZWxldGUtaW53YXJkLWV4cGxvcmF0aW9uLWxpbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUloRSxRQUFBLGdDQUFnQyxHQUFHLElBQUEsMEJBQVUsRUFDeEQsaUNBQWlDLEVBQ2pDLEtBQUssRUFBRSxHQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JDLE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUV4QyxNQUFNLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsTUFBTSxPQUFPLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUNGLENBQUMifQ==
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInwardExtraChargesLinesStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ exports.deleteInwardExtraChargesLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-extra-charges-lines", async (ids, { container }) => {
6
+ const service = container.resolve("extended_variant");
7
+ await service.deleteInwardExtraChargesLines(ids);
8
+ return new workflows_sdk_1.StepResponse(void 0, ids);
9
+ }, async (prevIds, { container }) => {
10
+ if (!prevIds) {
11
+ return;
12
+ }
13
+ const service = container.resolve("extended_variant");
14
+ await service.restoreInwardExtraChargesLines(prevIds);
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1leHRyYS1jaGFyZ2VzLWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9pbndhcmQtbWFzdGVyL3N0ZXBzL2RlbGV0ZS1pbndhcmQtZXh0cmEtY2hhcmdlcy1saW5lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFJaEUsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELG1DQUFtQyxFQUNuQyxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyQyxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFeEMsTUFBTSxPQUFPLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakQsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxFQUNELEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInwardMasterStep = exports.deleteInwardMasterStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ exports.deleteInwardMasterStepId = "delete-inward-master";
6
+ /**
7
+ * This step deletes one or more inward masters.
8
+ */
9
+ exports.deleteInwardMasterStep = (0, workflows_sdk_1.createStep)(exports.deleteInwardMasterStepId, async (ids, { container }) => {
10
+ const service = container.resolve("extended_variant");
11
+ await service.softDeleteInwardMasters(ids);
12
+ return new workflows_sdk_1.StepResponse(void 0, ids);
13
+ }, async (prevIds, { container }) => {
14
+ if (!prevIds?.length) {
15
+ return;
16
+ }
17
+ const service = container.resolve("extended_variant");
18
+ await service.restoreInwardMasters(prevIds);
19
+ });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9kZWxldGUtaW53YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFFQUE2RTtBQVFoRSxRQUFBLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDO0FBQy9EOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLGdDQUF3QixFQUN4QixLQUFLLEVBQUUsR0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchInwardMaster = 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.filter(Boolean);
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.fetchInwardMaster = (0, workflows_sdk_1.createStep)("fetch-inward-master", 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-inward-master");
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaW53YXJkLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9mZXRjaC1pbndhcmQtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUs3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFHLE9BQU8s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
@@ -0,0 +1,29 @@
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-inward"), exports);
18
+ __exportStar(require("./create-inward-detail-lines"), exports);
19
+ __exportStar(require("./create-inward-exploration-lines"), exports);
20
+ __exportStar(require("./create-inward-extra-charges-lines"), exports);
21
+ __exportStar(require("./delete-inward"), exports);
22
+ __exportStar(require("./delete-inward-detail-lines"), exports);
23
+ __exportStar(require("./delete-inward-exploration-lines"), exports);
24
+ __exportStar(require("./delete-inward-extra-charges-lines"), exports);
25
+ __exportStar(require("./fetch-inward-master"), exports);
26
+ __exportStar(require("./update-instock"), exports);
27
+ __exportStar(require("./update-inward"), exports);
28
+ __exportStar(require("./update-variant-manage-inventory"), exports);
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQywrREFBNkM7QUFDN0Msb0VBQWtEO0FBQ2xELHNFQUFvRDtBQUNwRCxrREFBZ0M7QUFDaEMsK0RBQTZDO0FBQzdDLG9FQUFrRDtBQUNsRCxzRUFBb0Q7QUFDcEQsd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyxrREFBZ0M7QUFDaEMsb0VBQWtEIn0=
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateInStockStep = exports.updateInStockStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ /**
7
+ * Step identifier for update inward operation
8
+ */
9
+ exports.updateInStockStepId = "update-instock";
10
+ exports.updateInStockStep = (0, workflows_sdk_1.createStep)(exports.updateInStockStepId, async (data, { container }) => {
11
+ const service = container.resolve("extended_variant");
12
+ if (data.inwards.some((p) => !p.selector.id)) {
13
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Inward ID is required when doing update inward");
14
+ }
15
+ if (!data.inwards.length) {
16
+ return new workflows_sdk_1.StepResponse([], []);
17
+ }
18
+ const prevData = await service.listInwardMasters({
19
+ id: data.inwards.map((p) => p.selector.id),
20
+ });
21
+ // Update each inward master individually
22
+ const updatedInwards = [];
23
+ for (const inward of data.inwards) {
24
+ const result = await service.updateInwardMasters(inward.selector, inward.update);
25
+ const resultArray = Array.isArray(result) ? result : [result];
26
+ updatedInwards.push(...resultArray);
27
+ }
28
+ return new workflows_sdk_1.StepResponse(updatedInwards, prevData);
29
+ }, async (previousData, { container }) => {
30
+ // if (!previousData?.length) {
31
+ // return;
32
+ // }
33
+ // const service: ExtendedVariantService =
34
+ // container.resolve("extended_variant");
35
+ // await service.updateInwardMasters(previousData);
36
+ });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWluc3RvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvdXBkYXRlLWluc3RvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXdEO0FBQ3hELHFFQUE2RTtBQVc3RTs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDJCQUFtQixFQUNuQixLQUFLLEVBQUUsSUFBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdEQUFnRCxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBYTtLQUN2RCxDQUFDLENBQUM7SUFFSCx5Q0FBeUM7SUFDekMsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO0lBQ2pDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUM5QyxNQUFNLENBQUMsUUFBUSxFQUNmLE1BQU0sQ0FBQyxNQUFNLENBQ2QsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNwRCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsK0JBQStCO0lBQy9CLFlBQVk7SUFDWixJQUFJO0lBQ0osMENBQTBDO0lBQzFDLDJDQUEyQztJQUMzQyxtREFBbUQ7QUFDckQsQ0FBQyxDQUNGLENBQUMifQ==
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateInwardStep = exports.updateInwardStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ /**
7
+ * Step identifier for update inward operation
8
+ */
9
+ exports.updateInwardStepId = "update-inward";
10
+ /**
11
+ * Helper function to extract main inward data without related entities
12
+ * Used for rollback operations
13
+ */
14
+ const extractMainInwardData = (inwardData) => {
15
+ return inwardData.map(({ inward_details, inward_explorations, inward_extra_charges, ...mainData }) => mainData);
16
+ };
17
+ exports.updateInwardStep = (0, workflows_sdk_1.createStep)(exports.updateInwardStepId, async (data, { container }) => {
18
+ if (!data?.inwards?.length) {
19
+ return new workflows_sdk_1.StepResponse([]);
20
+ }
21
+ const service = container.resolve("extended_variant");
22
+ if (data.inwards.some((p) => !p.selector.id)) {
23
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Inward ID is required when doing update inward");
24
+ }
25
+ if (!data.inwards.length) {
26
+ return new workflows_sdk_1.StepResponse([], []);
27
+ }
28
+ const prevData = await service.listInwardMasters({
29
+ id: data.inwards.map((p) => p.selector.id),
30
+ });
31
+ // Update each inward master individually
32
+ const updatedInwards = [];
33
+ for (const inward of data.inwards) {
34
+ const result = await service.updateInwardMasters([
35
+ { id: inward.selector.id, ...inward.update },
36
+ ]);
37
+ const resultArray = Array.isArray(result) ? result : [result];
38
+ updatedInwards.push(...resultArray);
39
+ }
40
+ return new workflows_sdk_1.StepResponse(updatedInwards, prevData);
41
+ }, async (previousData, { container }) => {
42
+ if (!previousData?.length) {
43
+ return;
44
+ }
45
+ const service = container.resolve("extended_variant");
46
+ const rollbackData = extractMainInwardData(previousData);
47
+ await service.updateInwardMasters(rollbackData);
48
+ });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy91cGRhdGUtaW53YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUN4RCxxRUFBNkU7QUFZN0U7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsVUFBaUIsRUFBRSxFQUFFO0lBQ2xELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FDbkIsQ0FBQyxFQUNDLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLEdBQUcsUUFBUSxFQUNaLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLDBCQUFrQixFQUNsQixLQUFLLEVBQUUsSUFBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUV4QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixnREFBZ0QsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQy9DLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQWE7S0FDdkQsQ0FBQyxDQUFDO0lBRUgseUNBQXlDO0lBQ3pDLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztJQUNqQyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUMvQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFJLE1BQU0sQ0FBQyxNQUFjLEVBQUU7U0FDdEQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELENBQUMsRUFDRCxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateVariantManageInventoryStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.updateVariantManageInventoryStep = (0, workflows_sdk_1.createStep)("update-variant-manage-inventory", async (data, { container }) => {
7
+ const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
8
+ if (!data.variant_ids.length) {
9
+ return new workflows_sdk_1.StepResponse([], []);
10
+ }
11
+ // Get current variant data
12
+ const prevVariants = await productModuleService.listProductVariants({
13
+ id: data.variant_ids,
14
+ });
15
+ // Update variants with manage_inventory = true and allow_backorder = true
16
+ const updatedVariants = await Promise.all(data.variant_ids.map(async (variantId) => {
17
+ return await productModuleService.updateProductVariants(variantId, {
18
+ manage_inventory: true,
19
+ allow_backorder: true,
20
+ });
21
+ }));
22
+ return new workflows_sdk_1.StepResponse(updatedVariants, prevVariants);
23
+ }, async (prevData, { container }) => {
24
+ if (!prevData?.length) {
25
+ return;
26
+ }
27
+ const productModuleService = container.resolve("productModuleService");
28
+ // Rollback: restore previous manage_inventory values
29
+ await Promise.all(prevData.map(async (variant) => {
30
+ return await productModuleService.updateProductVariants(variant.id, {
31
+ manage_inventory: variant.manage_inventory || false,
32
+ allow_backorder: variant.allow_backorder || false,
33
+ });
34
+ }));
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXZhcmlhbnQtbWFuYWdlLWludmVudG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy91cGRhdGUtdmFyaWFudC1tYW5hZ2UtaW52ZW50b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFvRDtBQUNwRCxxRUFBNkU7QUFNaEUsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3hELGlDQUFpQyxFQUNqQyxLQUFLLEVBQUUsSUFBMkMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxvQkFBb0IsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FDbkUsZUFBTyxDQUFDLE9BQU8sQ0FDaEIsQ0FBQztJQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsbUJBQW1CLENBQUM7UUFDbEUsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXO0tBQ3JCLENBQUMsQ0FBQztJQUVILDBFQUEwRTtJQUMxRSxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUN2QyxPQUFPLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFO1lBQ2pFLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUN6RCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sb0JBQW9CLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQ25FLHNCQUFzQixDQUN2QixDQUFDO0lBRUYscURBQXFEO0lBQ3JELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUM3QixPQUFPLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNsRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLElBQUksS0FBSztZQUNuRCxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsSUFBSSxLQUFLO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createInwardMasterWorkflow = exports.createInwardWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const update_extended_variant_batch_1 = require("../../update-extended-variant-from-variant/steps/update-extended-variant-batch");
7
+ const helper_1 = require("../helper");
8
+ const steps_1 = require("../steps");
9
+ const fetch_inward_master_1 = require("../steps/fetch-inward-master");
10
+ const update_instock_1 = require("./update-instock");
11
+ exports.createInwardWorkflowId = "create-inward";
12
+ exports.createInwardMasterWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createInwardWorkflowId, (input) => {
13
+ const inwardData = (0, fetch_inward_master_1.fetchInwardMaster)(input);
14
+ const transformedInwardMaster = (0, workflows_sdk_1.transform)({ inwardData }, ({ inwardData }) => inwardData.map((item) => (0, helper_1.transformInwardMaster)(item)));
15
+ // Get all the party style skus from the inward data
16
+ const partyStyleSkus = (0, workflows_sdk_1.transform)({ transformedInwardMaster }, ({ transformedInwardMaster }) => {
17
+ const skus = transformedInwardMaster.map((item) => item.inward_sku_no);
18
+ return [...new Set(skus)]; // Convert to array immediately
19
+ });
20
+ // Get all the extended variants from the party style skus
21
+ const { data: extendedVariants } = (0, core_flows_1.useQueryGraphStep)({
22
+ entity: "extended_variant",
23
+ fields: ["*", "inward_master.*"],
24
+ filters: {
25
+ party_style_sku_no: partyStyleSkus,
26
+ },
27
+ }).config({
28
+ name: "extended-variants",
29
+ });
30
+ // Get all the product variant ids from the extended variants
31
+ const productVariantIds = (0, workflows_sdk_1.transform)({ extendedVariants }, ({ extendedVariants }) => extendedVariants.map((item) => item.mapping_id));
32
+ // Get all the variants from the extended variants
33
+ const { data: variants } = (0, core_flows_1.useQueryGraphStep)({
34
+ entity: "product_variant",
35
+ fields: ["*", "inventory_items.*", "inventory_items.id"],
36
+ filters: {
37
+ id: productVariantIds,
38
+ },
39
+ }).config({
40
+ name: "variants",
41
+ });
42
+ // Update variants with manage_inventory = true
43
+ (0, workflows_sdk_1.when)({ variants }, (data) => data.variants.length > 0).then(() => {
44
+ const variantIds = (0, workflows_sdk_1.transform)({ variants }, ({ variants }) => variants.map((variant) => variant.id));
45
+ return (0, steps_1.updateVariantManageInventoryStep)({
46
+ variant_ids: variantIds,
47
+ });
48
+ });
49
+ const inventoryItemIds = (0, workflows_sdk_1.transform)({ variants }, ({ variants }) => variants.flatMap((variant) => variant.inventory_items.map((item) => item.inventory_item_id)));
50
+ const { data: inventoryLevels } = (0, core_flows_1.useQueryGraphStep)({
51
+ entity: "inventory_level",
52
+ fields: [
53
+ "id",
54
+ "inventory_item_id",
55
+ "location_id",
56
+ "stocked_quantity",
57
+ "reserved_quantity",
58
+ "available_quantity",
59
+ ],
60
+ filters: {
61
+ inventory_item_id: inventoryItemIds,
62
+ },
63
+ }).config({
64
+ name: "inventory-levels",
65
+ });
66
+ // Get all the location ids from the inward data
67
+ const locationIds = (0, workflows_sdk_1.transform)({ transformedInwardMaster }, ({ transformedInwardMaster }) => {
68
+ const ids = transformedInwardMaster.map((inward) => inward.location_id);
69
+ return [...new Set(ids)]; // Convert to array immediately
70
+ });
71
+ // Get all the party_master from the inward locations
72
+ const { data: partyMasters } = (0, core_flows_1.useQueryGraphStep)({
73
+ entity: "party_master",
74
+ fields: ["*"],
75
+ filters: {
76
+ party_no: locationIds,
77
+ },
78
+ }).config({
79
+ name: "party-masters",
80
+ });
81
+ // Get all the inwards to create
82
+ const inwardsToCreate = (0, workflows_sdk_1.transform)({ transformedInwardMaster, extendedVariants }, ({ transformedInwardMaster, extendedVariants }) => transformedInwardMaster.filter((item) => extendedVariants.some((variant) => variant?.party_style_sku_no === item?.inward_sku_no)));
83
+ const inwardsToCreateWithVariants = (0, workflows_sdk_1.transform)({ inwardsToCreate, extendedVariants }, helper_1.mapWithVariants);
84
+ // Create main detail
85
+ const createdInwards = (0, steps_1.createInwardStep)(inwardsToCreateWithVariants);
86
+ // Create detail lines
87
+ const inwardDetailsLines = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
88
+ const allInwardDetails = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractLines);
89
+ // Only create detail lines if there are any to create
90
+ if (allInwardDetails.length === 0) {
91
+ return [];
92
+ }
93
+ return (0, steps_1.createInwardDetailLinesStep)(allInwardDetails);
94
+ });
95
+ // Create extra charges
96
+ const inwardExtraCharges = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
97
+ const allInwardExtraCharges = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractExtraChargesLines);
98
+ // Only create extra charges if there are any to create
99
+ if (allInwardExtraCharges.length === 0) {
100
+ return [];
101
+ }
102
+ return (0, steps_1.createInwardExtraChargesLinesStep)(allInwardExtraCharges);
103
+ });
104
+ // Create exploration lines
105
+ const inwardExplorations = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
106
+ const allInwardExplorations = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractInwardExplorationLines);
107
+ // Only create exploration lines if there are any to create
108
+ if (allInwardExplorations.length === 0) {
109
+ return [];
110
+ }
111
+ return (0, steps_1.createInwardExplorationLinesStep)(allInwardExplorations);
112
+ });
113
+ const toUpdateInput = (0, workflows_sdk_1.transform)({
114
+ inwardDetailsLines,
115
+ inwardExtraCharges,
116
+ inwardExplorations,
117
+ createdInwards,
118
+ }, helper_1.prepareUpdateInwardInput);
119
+ // Update inward with extra line items
120
+ (0, workflows_sdk_1.when)({
121
+ inwardDetailsLines,
122
+ inwardExtraCharges,
123
+ inwardExplorations,
124
+ createdInwards,
125
+ }, (data) => data.inwardDetailsLines?.length > 0 &&
126
+ data.inwardExtraCharges?.length > 0 &&
127
+ data.inwardExplorations?.length > 0 &&
128
+ data.createdInwards?.length > 0).then(() => {
129
+ (0, steps_1.updateInwardStep)(toUpdateInput);
130
+ });
131
+ (0, workflows_sdk_1.when)({
132
+ createdInwards,
133
+ }, (data) => data.createdInwards.length > 0).then(() => {
134
+ // Filter out "Self" branches from stock locations
135
+ const filteredStockLocations = (0, workflows_sdk_1.transform)({ partyMasters }, ({ partyMasters }) => partyMasters.filter((location) => location.branch_name !== "Self"));
136
+ update_instock_1.updateInStockWorkflow.runAsStep({
137
+ input: {
138
+ inwards: createdInwards,
139
+ variants,
140
+ stockLocations: filteredStockLocations,
141
+ inventoryLevels,
142
+ operation: "create",
143
+ },
144
+ });
145
+ });
146
+ // Get unique branch numbers from inwards
147
+ const branchNumbers = (0, workflows_sdk_1.transform)({ createdInwards }, ({ createdInwards }) => {
148
+ const numbers = createdInwards.map((inward) => inward.branch_no);
149
+ return [...new Set(numbers)]; // Convert to array immediately
150
+ });
151
+ // Get party masters to map branch_no to mapping_id
152
+ const { data: branchPartyMasters } = (0, core_flows_1.useQueryGraphStep)({
153
+ entity: "party_master",
154
+ fields: ["party_no", "mapping_id"],
155
+ filters: {
156
+ party_no: branchNumbers,
157
+ },
158
+ }).config({
159
+ name: "branch-party-masters",
160
+ });
161
+ // Update extended variants with inward master IDs and branch locations
162
+ const updatedExtendedVariants = (0, workflows_sdk_1.when)({ createdInwards, extendedVariants }, (data) => data.createdInwards.length > 0 && data.extendedVariants.length > 0).then(() => {
163
+ const updateExtendedVariantInput = (0, workflows_sdk_1.transform)({ createdInwards, extendedVariants, branchPartyMasters }, ({ createdInwards, extendedVariants, branchPartyMasters }) => {
164
+ // Create mapping from branch_no to mapping_id
165
+ let branchToMappingId = {};
166
+ try {
167
+ branchToMappingId = branchPartyMasters.reduce((acc, party) => {
168
+ acc[party.party_no] = party.mapping_id;
169
+ return acc;
170
+ }, {});
171
+ console.log("Branch to mapping ID map:", branchToMappingId);
172
+ }
173
+ catch (error) {
174
+ console.error("Error creating branch mapping:", error);
175
+ branchToMappingId = {};
176
+ }
177
+ const updates = extendedVariants
178
+ .map((variant) => {
179
+ const inward = createdInwards.find((inward) => inward.inward_sku_no === variant.party_style_sku_no);
180
+ if (inward?.id) {
181
+ // Add new inward master ID to existing ones (maintain array/list)
182
+ const existingInwardMasters = variant.inward_master.length > 0
183
+ ? Array.isArray(variant.inward_master)
184
+ ? variant.inward_master.map((item) => item.id)
185
+ : [variant.inward_master.id]
186
+ : [];
187
+ // Update branch locations based on inward status using mapping_id
188
+ const existingOutletIds = variant.outlet_ids || [];
189
+ let updatedOutletIds = [...existingOutletIds];
190
+ const mappingId = branchToMappingId[inward.branch_no];
191
+ if (mappingId) {
192
+ if (inward.status === "On Hand") {
193
+ // Add mapping_id if not already present
194
+ if (!updatedOutletIds.includes(mappingId)) {
195
+ updatedOutletIds.push(mappingId);
196
+ }
197
+ }
198
+ else if (inward.status === "Branch Issue") {
199
+ // Remove mapping_id as it's transferred out
200
+ updatedOutletIds = updatedOutletIds.filter((outletId) => outletId !== mappingId);
201
+ }
202
+ }
203
+ const updateData = {
204
+ id: variant.id,
205
+ outlet_ids: updatedOutletIds,
206
+ };
207
+ // Only add inward master if not already present
208
+ if (!existingInwardMasters.includes(inward.id)) {
209
+ updateData.inward_master = [
210
+ ...existingInwardMasters,
211
+ inward.id,
212
+ ];
213
+ }
214
+ return updateData;
215
+ }
216
+ return null;
217
+ })
218
+ .filter((update) => update !== null); // Only include valid updates
219
+ return { extended_variants: updates };
220
+ });
221
+ return (0, update_extended_variant_batch_1.updateExtendedVariantBatchStep)(updateExtendedVariantInput);
222
+ });
223
+ // Sync updated variants to OpenSearch
224
+ const variantIds = (0, workflows_sdk_1.transform)({ extendedVariants }, ({ extendedVariants }) => {
225
+ try {
226
+ const ids = extendedVariants
227
+ .map((variant) => variant.mapping_id)
228
+ .filter(Boolean);
229
+ console.log("Variant IDs for sync:", ids);
230
+ return ids;
231
+ }
232
+ catch (error) {
233
+ console.error("Error extracting variant IDs:", error);
234
+ return [];
235
+ }
236
+ });
237
+ (0, workflows_sdk_1.when)({ variantIds, updatedExtendedVariants }, ({ variantIds }) => variantIds.length > 0).then(() => {
238
+ (0, core_flows_1.emitEventStep)({
239
+ eventName: "sync-to-os-variant",
240
+ data: {
241
+ type: "variant",
242
+ operation: "update",
243
+ id: variantIds,
244
+ },
245
+ }).config({
246
+ name: "sync-to-os-variant-update",
247
+ });
248
+ });
249
+ const finalResult = (0, workflows_sdk_1.transform)({ createdInwards, extendedVariants }, ({ createdInwards, extendedVariants }) => {
250
+ if (!extendedVariants.length) {
251
+ console.log("No extended variants found, returning empty array");
252
+ return [];
253
+ }
254
+ return createdInwards || [];
255
+ });
256
+ return new workflows_sdk_1.WorkflowResponse(finalResult);
257
+ });
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci93b3JrZmxvd3MvY3JlYXRlLWlud2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMkM7QUFDM0MsNERBQStFO0FBRy9FLGtJQUFnSTtBQUNoSSxzQ0FPbUI7QUFDbkIsb0NBT2tCO0FBQ2xCLHNFQUFpRTtBQUVqRSxxREFBeUQ7QUFFNUMsUUFBQSxzQkFBc0IsR0FBRyxlQUFlLENBQUM7QUFFekMsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3RELDhCQUFzQixFQUN0QixDQUFDLEtBQWtCLEVBQUUsRUFBRTtJQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFBLHVDQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSx5QkFBUyxFQUN2QyxFQUFFLFVBQVUsRUFBRSxFQUNkLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSw4QkFBcUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0lBQ0Ysb0RBQW9EO0lBQ3BELE1BQU0sY0FBYyxHQUFHLElBQUEseUJBQVMsRUFDOUIsRUFBRSx1QkFBdUIsRUFBRSxFQUMzQixDQUFDLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFO1FBQzlCLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7SUFDNUQsQ0FBQyxDQUNGLENBQUM7SUFFRiwwREFBMEQ7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