@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
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250507055941 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250507055941 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`create table if not exists "extended_variant" ("id" text not null, "thumbnail" text not null, "images" text[] not null, "party_style_id" integer not null, "party_style_date" timestamptz not null, "party_style_code" text not null, "party_style_alias_no" text not null, "style_id" integer not null, "style_code" text not null, "category" text not null, "sub_category" text not null, "manufacturer" text not null, "manufacturer_no" text not null, "make_type" text not null, "stock_type" text not null, "item_size" text not null, "brand" text not null, "gender" text check ("gender" in ('Men', 'Women', 'Unisex', 'Kids')) not null, "shape_code" text not null, "is_complete" boolean not null, "restricted" boolean not null, "currency" text not null, "rate_chart" text not null, "discount_markup" text not null, "cost" real not null, "mrp" real not null, "hsn_code" text not null, "gross_weight" real not null, "net_weight" real not null, "wax_weight" real not null, "model_weight" real not null, "metal" text not null, "metal_purity" text not null, "metal_color" text not null, "total_diamond_pcs" integer not null, "total_diamond_weight" real not null, "total_client_diamond_pcs" integer not null, "total_client_diamond_weight" real not null, "total_stone_pcs" integer not null, "total_stone_weight" real not null, "total_cz_pcs" integer not null, "total_cz_weight" real not null, "web_description" text not null, "remarks" text not null, "customer_remarks" text not null, "special_remarks" text not null, "metal_total_cost" real not null, "diamond_total_cost" real not null, "stone_total_cost" real not null, "cpf_total_cost" real not null, "metal_total_amount" real not null, "diamond_total_amount" real not null, "stone_total_amount" real not null, "cpf_total_amount" real not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "extended_variant_pkey" primary key ("id"));`);
8
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_extended_variant_deleted_at" ON "extended_variant" (deleted_at) WHERE deleted_at IS NULL;`);
9
- this.addSql(`create table if not exists "party_style_details_line" ("id" text not null, "party_style_id" integer not null, "party_style_mst_detail_id" integer not null, "item_code" text not null, "raw_type" text not null, "material_group" text not null, "raw_code" text not null, "shape_code" text not null, "qly_code" text not null, "tone_code" text not null, "description" text not null, "size" text not null, "accessories" text not null, "setting" text not null, "is_base" boolean not null, "is_center_stone" boolean not null, "pieces" integer not null, "weight" real not null, "min_weight" real not null, "max_weight" real not null, "stone_wt" real not null, "default_wt" real not null, "raw_formula" text not null, "cost_rate" real not null, "cost_amount" real not null, "hand_cost_rate" real not null, "hand_cost_amount" real not null, "set_cost_rate" real not null, "set_cost_amount" real not null, "loss_cost_per" real not null, "loss_cost_per_is_fix" boolean not null, "loss_cost_weight" real not null, "loss_cost_amt" real not null, "cpf_cost_rate" real not null, "cpf_cost_is_fix" boolean not null, "cpf_cost_amt" real not null, "rate" real not null, "amount" real not null, "hand_rate" real not null, "hand_amount" real not null, "set_rate" real not null, "set_amount" real not null, "loss_per" real not null, "loss_per_is_fix" boolean not null, "loss_weight" real not null, "loss_amt" real not null, "cpf_rate" real not null, "cpf_is_fix" boolean not null, "cpf_amt" real not null, "extended_variant_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "party_style_details_line_pkey" primary key ("id"));`);
10
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_details_line_extended_variant_id" ON "party_style_details_line" (extended_variant_id) WHERE deleted_at IS NULL;`);
11
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_details_line_deleted_at" ON "party_style_details_line" (deleted_at) WHERE deleted_at IS NULL;`);
12
- this.addSql(`create table if not exists "party_style_exploration_line" ("id" text not null, "party_style_id" integer not null, "exploration_code" text not null, "exploration_value" text not null, "extended_variant_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "party_style_exploration_line_pkey" primary key ("id"));`);
13
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_exploration_line_extended_variant_id" ON "party_style_exploration_line" (extended_variant_id) WHERE deleted_at IS NULL;`);
14
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_exploration_line_deleted_at" ON "party_style_exploration_line" (deleted_at) WHERE deleted_at IS NULL;`);
15
- this.addSql(`alter table if exists "party_style_details_line" add constraint "party_style_details_line_extended_variant_id_foreign" foreign key ("extended_variant_id") references "extended_variant" ("id") on update cascade;`);
16
- this.addSql(`alter table if exists "party_style_exploration_line" add constraint "party_style_exploration_line_extended_variant_id_foreign" foreign key ("extended_variant_id") references "extended_variant" ("id") on update cascade;`);
17
- }
18
- async down() {
19
- this.addSql(`alter table if exists "party_style_details_line" drop constraint if exists "party_style_details_line_extended_variant_id_foreign";`);
20
- this.addSql(`alter table if exists "party_style_exploration_line" drop constraint if exists "party_style_exploration_line_extended_variant_id_foreign";`);
21
- this.addSql(`drop table if exists "extended_variant" cascade;`);
22
- this.addSql(`drop table if exists "party_style_details_line" cascade;`);
23
- this.addSql(`drop table if exists "party_style_exploration_line" cascade;`);
24
- }
25
- }
26
- exports.Migration20250507055941 = Migration20250507055941;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDcwNTU5NDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDcwNTU5NDEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGc3REFBZzdELENBQUMsQ0FBQztRQUM5N0QsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMsaXJEQUFpckQsQ0FBQyxDQUFDO1FBQy9yRCxJQUFJLENBQUMsTUFBTSxDQUFDLDZKQUE2SixDQUFDLENBQUM7UUFDM0ssSUFBSSxDQUFDLE1BQU0sQ0FBQywySUFBMkksQ0FBQyxDQUFDO1FBRXpKLElBQUksQ0FBQyxNQUFNLENBQUMsa2FBQWthLENBQUMsQ0FBQztRQUNoYixJQUFJLENBQUMsTUFBTSxDQUFDLHFLQUFxSyxDQUFDLENBQUM7UUFDbkwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSkFBbUosQ0FBQyxDQUFDO1FBRWpLLElBQUksQ0FBQyxNQUFNLENBQUMsb05BQW9OLENBQUMsQ0FBQztRQUVsTyxJQUFJLENBQUMsTUFBTSxDQUFDLDROQUE0TixDQUFDLENBQUM7SUFDNU8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsb0lBQW9JLENBQUMsQ0FBQztRQUVsSixJQUFJLENBQUMsTUFBTSxDQUFDLDRJQUE0SSxDQUFDLENBQUM7UUFFMUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsTUFBTSxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250508025507 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250508025507 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`alter table if exists "extended_variant" add column if not exists "party_style_sku_no" text not null;`);
8
- }
9
- async down() {
10
- this.addSql(`alter table if exists "extended_variant" drop column if exists "party_style_sku_no";`);
11
- }
12
- }
13
- exports.Migration20250508025507 = Migration20250508025507;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDgwMjU1MDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDgwMjU1MDcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLHVHQUF1RyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBRUY7QUFWRCwwREFVQyJ9
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
7
- const core_flows_1 = require("@medusajs/medusa/core-flows");
8
- const create_or_update_product_options_1 = __importDefault(require("../create-or-update-product-options"));
9
- const product_helper_1 = require("../helpers/product-helper");
10
- const fetch_party_styles_1 = require("./steps/fetch-party-styles");
11
- /**
12
- * Main workflow for handling PartyStyleMst operations
13
- * This workflow:
14
- * 1. Fetches PartyStyle data from ERP
15
- * 2. Conditionally creates variants based on operation type
16
- *
17
- * @param input - Contains operation type, datafor type, and transaction IDs
18
- */
19
- const partyStyleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("party-style-mst", (input) => {
20
- // Step 1: Fetch style data from ERP system
21
- const partyStyleData = (0, fetch_party_styles_1.fetchPartyStyleData)(input);
22
- const externalIdsFilters = (0, workflows_sdk_1.transform)({
23
- partyStyleData,
24
- }, (data) => {
25
- return [
26
- ...new Set(data.partyStyleData.map((product) => `${product.StyleId}`)),
27
- ];
28
- });
29
- const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
30
- entity: "product",
31
- fields: ["id", "external_id", "variants.*"],
32
- filters: {
33
- external_id: externalIdsFilters,
34
- },
35
- }).config({ name: "existing-products" });
36
- (0, workflows_sdk_1.when)(input, (input) => {
37
- return input.operation === "add";
38
- }).then(() => {
39
- // Create product options
40
- create_or_update_product_options_1.default.runAsStep({
41
- input: {
42
- existingProducts,
43
- partyStyleData,
44
- },
45
- });
46
- const { variantsToCreate } = (0, workflows_sdk_1.transform)({
47
- partyStyleData,
48
- existingProducts,
49
- }, (data) => {
50
- const variantsToCreate = [];
51
- const existingProductIds = data.existingProducts.map((product) => product.external_id);
52
- data.partyStyleData
53
- .filter((styleData) => existingProductIds.includes(String(styleData.StyleId)))
54
- .forEach((styleData) => {
55
- // Calculate costs based on raw codes
56
- 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.PartyStyleMstDetail);
57
- const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.PartyStyleMstDetail);
58
- const existingProduct = data.existingProducts.find((p) => p.external_id === String(styleData.StyleId));
59
- const productOptions = (0, product_helper_1.createProductOptionsForPartyStyleId)(styleData);
60
- const variant = {
61
- product_id: existingProduct.id,
62
- title: styleData.PartyStyleCode,
63
- sku: `${styleData.PartyStyleCode}-${styleData.PartyStyleId}-${styleData.StyleId}`,
64
- prices: [
65
- {
66
- amount: styleData.Mrp,
67
- currency_code: "inr",
68
- },
69
- ],
70
- options: {
71
- ...productOptions,
72
- },
73
- manage_inventory: false,
74
- metadata: {
75
- external_id: `${styleData.PartyStyleId}`,
76
- },
77
- };
78
- const extendedVariantData = (0, product_helper_1.getExtendedVariantData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
79
- metal_total_cost,
80
- diamond_total_cost,
81
- stone_total_cost,
82
- cpf_total_cost,
83
- metal_total_amount,
84
- diamond_total_amount,
85
- stone_total_amount,
86
- cpf_total_amount,
87
- });
88
- const styleDetails = (0, product_helper_1.getPartyStyleDetailLines)(styleData?.PartyStyleMstDetail);
89
- const explorationDetails = (0, product_helper_1.getPartyStyleExplorationLines)(styleData?.PartyStyleMstExploration);
90
- variantsToCreate.push({
91
- variant: variant,
92
- additional_data: {
93
- extendedVariantData,
94
- styleDetails,
95
- explorationDetails,
96
- },
97
- });
98
- });
99
- return {
100
- variantsToCreate: {
101
- product_variants: variantsToCreate.map((p) => p.variant),
102
- additional_data: variantsToCreate.reduce((acc, p) => {
103
- const externalId = p?.variant?.metadata?.external_id;
104
- if (externalId) {
105
- acc[externalId] = p.additional_data;
106
- }
107
- return acc;
108
- }, {}),
109
- },
110
- };
111
- });
112
- core_flows_1.createProductVariantsWorkflow.runAsStep({
113
- input: {
114
- ...variantsToCreate,
115
- },
116
- });
117
- });
118
- return new workflows_sdk_1.WorkflowResponse({
119
- success: true,
120
- });
121
- });
122
- exports.default = partyStyleMstWorkflow;
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcGFydHktc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUVBSzJDO0FBQzNDLDREQUdxQztBQUdyQywyR0FBdUY7QUFDdkYsOERBT21DO0FBRW5DLG1FQUFpRTtBQUVqRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQzFDLGlCQUFpQixFQUNqQixDQUFDLEtBQXlCLEVBQUUsRUFBRTtJQUM1QiwyQ0FBMkM7SUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBQSx3Q0FBbUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxjQUFjO0tBQ2YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTztZQUNMLEdBQUcsSUFBSSxHQUFHLENBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQzNEO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLGtCQUFrQjtTQUNoQztLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLElBQUEsb0JBQUksRUFBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVB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
@@ -1,177 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
4
- const core_flows_1 = require("@medusajs/medusa/core-flows");
5
- const product_helper_1 = require("../helpers/product-helper");
6
- const fetch_styles_1 = require("./steps/fetch-styles");
7
- /**
8
- * Main workflow for handling StyleMst operations
9
- * This workflow:
10
- * 1. Fetches style data from ERP
11
- * 2. Gets required sales channels and shipping profiles
12
- * 3. Conditionally creates products based on operation type
13
- *
14
- * @param input - Contains operation type, datafor type, and transaction IDs
15
- */
16
- const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input) => {
17
- // Step 1: Fetch style data from ERP system
18
- const styleData = (0, fetch_styles_1.fetchStyleData)(input);
19
- // Step 2: Get all sales channels for product creation
20
- const { data: stores } = (0, core_flows_1.useQueryGraphStep)({
21
- entity: "store",
22
- fields: ["default_sales_channel_id"],
23
- });
24
- // Step 3: Get shipping profile for product creation
25
- const { data: shippingProfiles } = (0, core_flows_1.useQueryGraphStep)({
26
- entity: "shipping_profile",
27
- fields: ["id"],
28
- pagination: {
29
- take: 1,
30
- },
31
- }).config({ name: "shipping-profile" });
32
- const externalIdsFilters = (0, workflows_sdk_1.transform)({
33
- styleData,
34
- }, (data) => {
35
- return data.styleData.map((product) => `${product.StyleId}`);
36
- });
37
- // @ts-ignore
38
- const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
39
- entity: "product",
40
- fields: ["id", "external_id", "variants.*"],
41
- filters: {
42
- // @ts-ignore
43
- external_id: externalIdsFilters,
44
- },
45
- }).config({ name: "existing-products" });
46
- (0, workflows_sdk_1.when)(input, (input) => {
47
- return input.operation === "add" || input.operation === "update";
48
- }).then(() => {
49
- const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
50
- styleData,
51
- shippingProfiles,
52
- stores,
53
- existingProducts,
54
- }, (data) => {
55
- const productsToCreate = [];
56
- const productsToUpdate = [];
57
- data.styleData.forEach((styleData) => {
58
- // Calculate costs based on raw codes
59
- 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);
60
- const productTitle = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue || `Style ${styleData.StyleCode}`;
61
- const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.StyleMstDetail);
62
- let collectionId = "";
63
- const collection = styleData?.StyleMstCollection?.find((collection) => collection.IsBaseCollection)?.Collection;
64
- if (collection) {
65
- const { data: existingCollection } = (0, core_flows_1.useQueryGraphStep)({
66
- entity: "collection_master",
67
- fields: ["id", "mapping_id"],
68
- filters: {
69
- collection_code: collection,
70
- },
71
- }).config({ name: "existing-collection" });
72
- collectionId = existingCollection[0].mapping_id;
73
- }
74
- //TODO: Add category ids
75
- const product = {
76
- external_id: `${styleData.StyleId}`,
77
- title: productTitle || "",
78
- description: styleData.WebDescription || "",
79
- status: "draft",
80
- options: [
81
- {
82
- title: "Default",
83
- values: ["Default"],
84
- },
85
- ],
86
- origin_country: "IN",
87
- material: styleData.StyleMstDetail.find((i) => i.RawType === "Metal" && i.IsBase)?.RawCode || "",
88
- handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
89
- variants: [],
90
- shipping_profile_id: data.shippingProfiles[0].id,
91
- sales_channels: [
92
- {
93
- id: data.stores[0].default_sales_channel_id || "",
94
- },
95
- ],
96
- };
97
- const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
98
- if (collectionId) {
99
- product.collection_id = collectionId;
100
- }
101
- if (existingProduct) {
102
- product.id = existingProduct.id;
103
- product.status = existingProduct.status;
104
- product.title = existingProduct.title;
105
- product.description = existingProduct.description;
106
- product.handle = existingProduct.handle;
107
- }
108
- const extendedProductData = (0, product_helper_1.getExtendedProductData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
109
- metal_total_cost,
110
- diamond_total_cost,
111
- stone_total_cost,
112
- cpf_total_cost,
113
- metal_total_amount,
114
- diamond_total_amount,
115
- stone_total_amount,
116
- cpf_total_amount,
117
- });
118
- const styleDetails = (0, product_helper_1.getStyleDetailLines)(styleData?.StyleMstDetail);
119
- if (existingProduct) {
120
- productsToUpdate.push({
121
- product: product,
122
- additional_data: {
123
- extendedProductData,
124
- styleDetails,
125
- },
126
- });
127
- }
128
- else {
129
- productsToCreate.push({
130
- product: product,
131
- additional_data: {
132
- extendedProductData,
133
- styleDetails,
134
- },
135
- });
136
- }
137
- });
138
- return {
139
- productsToCreate: {
140
- products: productsToCreate.map((p) => p.product),
141
- additional_data: productsToCreate.reduce((acc, p) => {
142
- const externalId = p?.product?.external_id;
143
- if (externalId) {
144
- acc[externalId] = p.additional_data;
145
- }
146
- return acc;
147
- }, {}),
148
- },
149
- productsToUpdate: {
150
- products: productsToUpdate.map((p) => p.product),
151
- additional_data: productsToUpdate.reduce((acc, p) => {
152
- const externalId = p?.product?.external_id;
153
- if (externalId) {
154
- acc[externalId] = p.additional_data;
155
- }
156
- return acc;
157
- }, {}),
158
- },
159
- };
160
- });
161
- core_flows_1.createProductsWorkflow.runAsStep({
162
- input: {
163
- ...productsToCreate,
164
- },
165
- });
166
- core_flows_1.updateProductsWorkflow.runAsStep({
167
- input: {
168
- ...productsToUpdate,
169
- },
170
- });
171
- });
172
- return new workflows_sdk_1.WorkflowResponse({
173
- success: true,
174
- });
175
- });
176
- exports.default = styleMstWorkflow;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEscUVBTzJDO0FBQzNDLDREQUlxQztBQUdyQyw4REFNbUM7QUFFbkMsdURBQXNEO0FBRXREOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQzVFLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLDZCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEMsc0RBQXNEO0lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3JDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1I7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMs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
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchStyleData = 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.fetchStyleData = (0, workflows_sdk_1.createStep)("fetch-style-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);
67
- }, async (result, { container }) => {
68
- console.log("Something went wrong in fetch-style-data");
69
- });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtb3ItdXBkYXRlLXN0eWxlLW1hc3Rlci9zdGVwcy9mZXRjaC1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSTdFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtBQUNwRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUNBQWlDO0FBRTNELE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFDeEIsVUFBNEIsRUFDNUIsT0FBZSxFQUNmLEtBQWUsRUFDZixVQUFVLEdBQUcsQ0FBQyxFQUNFLEVBQUU7SUFDbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLGFBQWEsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsT0FB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
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateExtendedProductStep = void 0;
4
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const extended_product_1 = require("../../../modules/extended-product");
6
- exports.updateExtendedProductStep = (0, workflows_sdk_1.createStep)("update-extended-product", async ({ extendedProduct, styleDetails, existingProduct, }, { container }) => {
7
- const extendedProductService = container.resolve(extended_product_1.EXTENDED_PRODUCT_MODULE);
8
- const prevData = await extendedProductService.retrieveExtendedProduct(existingProduct.extended_product.id, {
9
- relations: ["style_details"],
10
- });
11
- await extendedProductService.deleteStyleDetailsLines(prevData.style_details.map((i) => i.id));
12
- const formattedLines = styleDetails.map((line) => ({
13
- ...line,
14
- extended_product: existingProduct.extended_product.id,
15
- }));
16
- const linesResult = await extendedProductService.createStyleDetailsLines([
17
- ...formattedLines,
18
- ]);
19
- const custom = await extendedProductService.updateExtendedProducts({
20
- id: existingProduct?.extended_product?.id,
21
- ...extendedProduct,
22
- style_date: new Date(extendedProduct.style_date),
23
- style_details: linesResult.map((i) => i.id),
24
- });
25
- return new workflows_sdk_1.StepResponse(custom, prevData);
26
- }, async (prevData, { container }) => {
27
- if (!prevData) {
28
- return;
29
- }
30
- const extendedProductService = container.resolve(extended_product_1.EXTENDED_PRODUCT_MODULE);
31
- await extendedProductService.updateExtendedProducts({
32
- ...prevData,
33
- style_details: prevData.style_details.map((detail) => detail.id),
34
- style_explorations: prevData.style_explorations.map((exploration) => exploration.id),
35
- });
36
- });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWV4dGVuZGVkLXByb2R1Y3QtZnJvbS1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy91cGRhdGUtZXh0ZW5kZWQtdmFyaWFudC1mcm9tLXZhcmlhbnQvc3RlcHMvdXBkYXRlLWV4dGVuZGVkLXByb2R1Y3QtZnJvbS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSx3RUFBNEU7QUFVL0QsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELHlCQUF5QixFQUN6QixLQUFLLEVBQ0gsRUFDRSxlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsR0FDZ0IsRUFDakMsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxzQkFBc0IsR0FBMkIsU0FBUyxDQUFDLE9BQU8sQ0FDdEUsMENBQXVCLENBQ3hCLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLHNCQUFzQixDQUFDLHVCQUF1QixDQUNuRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUNuQztRQUNFLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztLQUM3QixDQUNGLENBQUM7SUFFRixNQUFNLHNCQUFzQixDQUFDLHVCQUF1QixDQUNsRCxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxHQUFHLElBQUk7UUFDUCxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtLQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVKLE1BQU0sV0FBVyxHQUFHLE1BQU0sc0JBQXNCLENBQUMsdUJBQXVCLENBQUM7UUFDdkUsR0FBRyxjQUFjO0tBQ2xCLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLE1BQU0sc0JBQXNCLENBQUMsc0JBQXNCLENBQUM7UUFDakUsRUFBRSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO1FBQ3pDLEdBQUcsZUFBZTtRQUNsQixVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNoRCxhQUFhLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUM1QyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxFQUNELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxzQkFBc0IsR0FBMkIsU0FBUyxDQUFDLE9BQU8sQ0FDdEUsMENBQXVCLENBQ3hCLENBQUM7SUFFRixNQUFNLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDO1FBQ2xELEdBQUcsUUFBUTtRQUNYLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUNqRCxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDaEM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9