@devx-commerce/plugin-gati 0.0.34-beta.7 → 0.0.34-beta.71

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 (369) hide show
  1. package/.medusa/server/src/admin/index.js +3 -1
  2. package/.medusa/server/src/admin/index.mjs +3 -1
  3. package/.medusa/server/src/api/admin/erp-event/query-config.js +8 -1
  4. package/.medusa/server/src/api/admin/masters/utils.js +29 -1
  5. package/.medusa/server/src/api/admin/masters/validators.js +2 -2
  6. package/.medusa/server/src/api/admin/variant-options/recalculate/route.js +446 -0
  7. package/.medusa/server/src/api/admin/variant-options/sync/route.js +21 -5
  8. package/.medusa/server/src/api/erp/webhook/config.js +71 -5
  9. package/.medusa/server/src/api/erp/webhook/route.js +10 -137
  10. package/.medusa/server/src/api/erp/webhook/utils.js +8 -1
  11. package/.medusa/server/src/api/pos/customer-ledger/middleware.js +13 -0
  12. package/.medusa/server/src/api/pos/customer-ledger/route.js +50 -0
  13. package/.medusa/server/src/api/pos/generate-invoice/route.js +164 -0
  14. package/.medusa/server/src/api/pos/gold/calculate/route.js +104 -0
  15. package/.medusa/server/src/api/pos/gold/item-master-purity.js +46 -0
  16. package/.medusa/server/src/api/pos/gold/middleware.js +18 -0
  17. package/.medusa/server/src/api/pos/gold/route.js +83 -0
  18. package/.medusa/server/src/api/pos/gold-rate/route.js +37 -24
  19. package/.medusa/server/src/api/pos/middleware.js +13 -1
  20. package/.medusa/server/src/api/pos/old-gold-item/middleware.js +10 -0
  21. package/.medusa/server/src/api/pos/old-gold-item/route.js +52 -0
  22. package/.medusa/server/src/api/pos/platinumdata/middleware.js +13 -0
  23. package/.medusa/server/src/api/pos/platinumdata/route.js +41 -0
  24. package/.medusa/server/src/api/pos/silverdata/middleware.js +13 -0
  25. package/.medusa/server/src/api/pos/silverdata/route.js +41 -0
  26. package/.medusa/server/src/api/pos/wallet-balance/middleware.js +13 -0
  27. package/.medusa/server/src/api/pos/wallet-balance/route.js +68 -0
  28. package/.medusa/server/src/api/store/custom-price/validators.js +2 -2
  29. package/.medusa/server/src/api/store/customer-ledger/middleware.js +13 -0
  30. package/.medusa/server/src/api/store/customer-ledger/route.js +49 -0
  31. package/.medusa/server/src/api/store/gold-rate/validators.js +2 -2
  32. package/.medusa/server/src/api/store/middleware.js +5 -1
  33. package/.medusa/server/src/api/store/wallet-balance/middleware.js +13 -0
  34. package/.medusa/server/src/api/store/wallet-balance/route.js +67 -0
  35. package/.medusa/server/src/jobs/process-erp-events.js +128 -0
  36. package/.medusa/server/src/jobs/process-variant-option-sync.js +46 -29
  37. package/.medusa/server/src/jobs/sync-addless-detail.js +65 -0
  38. package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +94 -0
  39. package/.medusa/server/src/jobs/sync-customer-advance-payment-erp.js +105 -0
  40. package/.medusa/server/src/jobs/sync-customer-erp.js +119 -0
  41. package/.medusa/server/src/jobs/sync-item-master.js +26 -0
  42. package/.medusa/server/src/jobs/sync-labour-chart-master.js +26 -0
  43. package/.medusa/server/src/jobs/sync-order-erp.js +46 -20
  44. package/.medusa/server/src/jobs/sync-order-request-erp.js +61 -0
  45. package/.medusa/server/src/jobs/sync-payment-book-master.js +68 -0
  46. package/.medusa/server/src/jobs/sync-rate-chart-master.js +26 -0
  47. package/.medusa/server/src/jobs/sync-report-master.js +51 -0
  48. package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +35 -0
  49. package/.medusa/server/src/jobs/sync-urd-purchase-erp.js +82 -0
  50. package/.medusa/server/src/lib/api-response.js +2 -1
  51. package/.medusa/server/src/links/jewel-trans-master.js +13 -0
  52. package/.medusa/server/src/links/order-master.js +13 -0
  53. package/.medusa/server/src/links/sale-master.js +13 -0
  54. package/.medusa/server/src/modules/addless-detail/index.js +13 -0
  55. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
  56. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
  57. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260226053037.js +15 -0
  58. package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
  59. package/.medusa/server/src/modules/addless-detail/service.js +10 -0
  60. package/.medusa/server/src/modules/applicable-sale-return-policy/index.js +13 -0
  61. package/.medusa/server/src/modules/applicable-sale-return-policy/migrations/Migration20260123083526.js +15 -0
  62. package/.medusa/server/src/modules/applicable-sale-return-policy/models/applicable-sale-return-policy.js +23 -0
  63. package/.medusa/server/src/modules/applicable-sale-return-policy/service.js +10 -0
  64. package/.medusa/server/src/modules/book-list/index.js +13 -0
  65. package/.medusa/server/src/modules/book-list/migrations/Migration20260123083525.js +15 -0
  66. package/.medusa/server/src/modules/book-list/migrations/Migration20260401051011.js +14 -0
  67. package/.medusa/server/src/modules/book-list/models/book-list.js +13 -0
  68. package/.medusa/server/src/modules/book-list/service.js +10 -0
  69. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +2 -2
  70. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251031061116.js +2 -2
  71. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251104045912.js +2 -2
  72. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +2 -2
  73. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +2 -2
  74. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +2 -2
  75. package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +2 -2
  76. package/.medusa/server/src/modules/category-master/migrations/Migration20251031061327.js +2 -2
  77. package/.medusa/server/src/modules/category-master/migrations/Migration20251104045755.js +2 -2
  78. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +2 -2
  79. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251031061432.js +2 -2
  80. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251104050102.js +2 -2
  81. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +2 -2
  82. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +2 -2
  83. package/.medusa/server/src/modules/collection-master/migrations/Migration20251031060941.js +2 -2
  84. package/.medusa/server/src/modules/collection-master/migrations/Migration20251104050012.js +2 -2
  85. package/.medusa/server/src/modules/customer-receive-voucher/index.js +13 -0
  86. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20250115000000.js +51 -0
  87. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20260106050934.js +18 -0
  88. package/.medusa/server/src/modules/customer-receive-voucher/models/customer-receive-voucher.js +35 -0
  89. package/.medusa/server/src/modules/customer-receive-voucher/service.js +10 -0
  90. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +2 -2
  91. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +2 -2
  92. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +2 -2
  93. package/.medusa/server/src/modules/discount-master/migrations/Migration20251031061523.js +2 -2
  94. package/.medusa/server/src/modules/discount-master/migrations/Migration20251104050153.js +2 -2
  95. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +2 -2
  96. package/.medusa/server/src/modules/erp/service.js +601 -8
  97. package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +2 -2
  98. package/.medusa/server/src/modules/erp-event/migrations/Migration20250922095956.js +2 -2
  99. package/.medusa/server/src/modules/erp-event/migrations/Migration20260529052734.js +14 -0
  100. package/.medusa/server/src/modules/erp-event/models/erp-event.js +6 -1
  101. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +2 -2
  102. package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +2 -2
  103. package/.medusa/server/src/modules/extended-product/migrations/Migration20251103182726.js +2 -2
  104. package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +2 -2
  105. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202055742.js +2 -2
  106. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202064200.js +2 -2
  107. package/.medusa/server/src/modules/extended-product/migrations/Migration20260323103543.js +14 -0
  108. package/.medusa/server/src/modules/extended-product/models/extended-product.js +2 -1
  109. package/.medusa/server/src/modules/extended-product/service.js +37 -1
  110. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +2 -2
  111. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +2 -2
  112. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +2 -2
  113. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +2 -2
  114. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +2 -2
  115. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +2 -2
  116. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +2 -2
  117. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +2 -2
  118. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +2 -2
  119. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +2 -2
  120. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +2 -2
  121. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +2 -2
  122. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +2 -2
  123. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251202055952.js +2 -2
  124. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +18 -0
  125. package/.medusa/server/src/modules/extended-variant/migrations/Migration20260616000001.js +14 -0
  126. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +4 -2
  127. package/.medusa/server/src/modules/extended-variant/service.js +37 -1
  128. package/.medusa/server/src/modules/item-master/index.js +13 -0
  129. package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
  130. package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
  131. package/.medusa/server/src/modules/item-master/service.js +10 -0
  132. package/.medusa/server/src/modules/item-size-master/migrations/Migration20251031111036.js +2 -2
  133. package/.medusa/server/src/modules/jewel-trans-master/index.js +13 -0
  134. package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260226053036.js +57 -0
  135. package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +151 -0
  136. package/.medusa/server/src/modules/jewel-trans-master/service.js +16 -0
  137. package/.medusa/server/src/modules/labour-chart-master/index.js +13 -0
  138. package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +15 -0
  139. package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +16 -0
  140. package/.medusa/server/src/modules/labour-chart-master/service.js +10 -0
  141. package/.medusa/server/src/modules/material-purchase-master/index.js +13 -0
  142. package/.medusa/server/src/modules/material-purchase-master/migrations/Migration20260310090700.js +18 -0
  143. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-detail-line.js +24 -0
  144. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-master.js +21 -0
  145. package/.medusa/server/src/modules/material-purchase-master/service.js +12 -0
  146. package/.medusa/server/src/modules/order-master/index.js +13 -0
  147. package/.medusa/server/src/modules/order-master/migrations/Migration20260226053036.js +29 -0
  148. package/.medusa/server/src/modules/order-master/migrations/Migration20260303000001.js +30 -0
  149. package/.medusa/server/src/modules/order-master/migrations/Migration20260319094758.js +26 -0
  150. package/.medusa/server/src/modules/order-master/migrations/Migration20260320000001.js +19 -0
  151. package/.medusa/server/src/modules/order-master/models/order-master.js +112 -0
  152. package/.medusa/server/src/modules/order-master/service.js +13 -0
  153. package/.medusa/server/src/modules/order-proceed-master/index.js +13 -0
  154. package/.medusa/server/src/modules/order-proceed-master/migrations/Migration20260327100226.js +31 -0
  155. package/.medusa/server/src/modules/order-proceed-master/models/order-proceed-master.js +38 -0
  156. package/.medusa/server/src/modules/order-proceed-master/service.js +11 -0
  157. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +2 -2
  158. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +2 -2
  159. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +2 -2
  160. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +2 -2
  161. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +2 -2
  162. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +2 -2
  163. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +2 -2
  164. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +2 -2
  165. package/.medusa/server/src/modules/party-master/migrations/Migration20251031061657.js +2 -2
  166. package/.medusa/server/src/modules/party-master/migrations/Migration20251104050242.js +2 -2
  167. package/.medusa/server/src/modules/payment-book-master/index.js +13 -0
  168. package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +15 -0
  169. package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +12 -0
  170. package/.medusa/server/src/modules/payment-book-master/service.js +10 -0
  171. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +2 -2
  172. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +2 -2
  173. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251031061829.js +2 -2
  174. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251104050332.js +2 -2
  175. package/.medusa/server/src/modules/quality-master/migrations/Migration20251031095211.js +2 -2
  176. package/.medusa/server/src/modules/quality-master/migrations/Migration20251105045114.js +2 -2
  177. package/.medusa/server/src/modules/rate-chart-master/index.js +13 -0
  178. package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +15 -0
  179. package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +13 -0
  180. package/.medusa/server/src/modules/rate-chart-master/service.js +10 -0
  181. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +2 -2
  182. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +2 -2
  183. package/.medusa/server/src/modules/raw-master/migrations/Migration20251031061912.js +2 -2
  184. package/.medusa/server/src/modules/receive-voucher-master/index.js +13 -0
  185. package/.medusa/server/src/modules/receive-voucher-master/migrations/Migration20260328053649.js +16 -0
  186. package/.medusa/server/src/modules/receive-voucher-master/models/receive-voucher-master.js +27 -0
  187. package/.medusa/server/src/modules/receive-voucher-master/service.js +10 -0
  188. package/.medusa/server/src/modules/report-master/index.js +13 -0
  189. package/.medusa/server/src/modules/report-master/migrations/Migration20260121060955.js +15 -0
  190. package/.medusa/server/src/modules/report-master/migrations/Migration20260121112624.js +15 -0
  191. package/.medusa/server/src/modules/report-master/models/report-master.js +12 -0
  192. package/.medusa/server/src/modules/report-master/service.js +10 -0
  193. package/.medusa/server/src/modules/sale-master/index.js +13 -0
  194. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205092935.js +15 -0
  195. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205100000.js +16 -0
  196. package/.medusa/server/src/modules/sale-master/models/sale-master.js +27 -0
  197. package/.medusa/server/src/modules/sale-master/service.js +10 -0
  198. package/.medusa/server/src/modules/sale-return-master/index.js +13 -0
  199. package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260205093034.js +15 -0
  200. package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260327084135.js +14 -0
  201. package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +18 -0
  202. package/.medusa/server/src/modules/sale-return-master/service.js +10 -0
  203. package/.medusa/server/src/modules/sale-return-policy-master/index.js +13 -0
  204. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260105061449.js +21 -0
  205. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129084920.js +14 -0
  206. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129085620.js +20 -0
  207. package/.medusa/server/src/modules/sale-return-policy-master/models/sale-return-policy-master.js +37 -0
  208. package/.medusa/server/src/modules/sale-return-policy-master/service.js +12 -0
  209. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +2 -2
  210. package/.medusa/server/src/modules/shape-master/migrations/Migration20251031062019.js +2 -2
  211. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +2 -2
  212. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +2 -2
  213. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251031062128.js +2 -2
  214. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251104050501.js +2 -2
  215. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251203083315.js +2 -2
  216. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +2 -2
  217. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +2 -2
  218. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +2 -2
  219. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +2 -2
  220. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +2 -2
  221. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +2 -2
  222. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251031062303.js +2 -2
  223. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251104050743.js +2 -2
  224. package/.medusa/server/src/modules/tone-master/migrations/Migration20251031104320.js +2 -2
  225. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251101082220.js +2 -2
  226. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251103123857.js +2 -2
  227. package/.medusa/server/src/subscribers/cutomer-updated.js +3 -1
  228. package/.medusa/server/src/subscribers/erp-batch-processor.js +147 -0
  229. package/.medusa/server/src/subscribers/order-item-update.js +11 -0
  230. package/.medusa/server/src/subscribers/party-master.js +39 -35
  231. package/.medusa/server/src/subscribers/product-sync.js +1 -1
  232. package/.medusa/server/src/subscribers/product-variant-deleted.js +27 -0
  233. package/.medusa/server/src/subscribers/shipping-info-master.js +10 -4
  234. package/.medusa/server/src/utils/build-redis-key.js +3 -1
  235. package/.medusa/server/src/utils/state-helper.js +3 -2
  236. package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
  237. package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
  238. package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
  239. package/.medusa/server/src/workflows/applicable-sale-return-policy/index.js +11 -0
  240. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/create-or-update-applicable-sale-return-policy.js +74 -0
  241. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/fetch-applicable-sale-return-policy.js +64 -0
  242. package/.medusa/server/src/workflows/book-list/index.js +11 -0
  243. package/.medusa/server/src/workflows/book-list/steps/create-or-update-book-list.js +59 -0
  244. package/.medusa/server/src/workflows/book-list/steps/fetch-book-list.js +64 -0
  245. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +9 -8
  246. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +9 -18
  247. package/.medusa/server/src/workflows/customer-advance-payment/index.js +18 -0
  248. package/.medusa/server/src/workflows/customer-advance-payment/steps/create-receive-voucher.js +71 -0
  249. package/.medusa/server/src/workflows/customer-advance-payment/steps/index.js +18 -0
  250. package/.medusa/server/src/workflows/customer-advance-payment/workflows/create-receive-voucher-workflow.js +11 -0
  251. package/.medusa/server/src/workflows/customer-advance-payment/workflows/index.js +18 -0
  252. package/.medusa/server/src/workflows/daily-rate/index.js +29 -0
  253. package/.medusa/server/src/workflows/daily-rate/perf.js +89 -0
  254. package/.medusa/server/src/workflows/daily-rate/steps/fetch-gold-rate-step.js +21 -0
  255. package/.medusa/server/src/workflows/daily-rate/steps/update-inward-metal-rates-step.js +154 -0
  256. package/.medusa/server/src/workflows/daily-rate/steps/update-party-style-metal-rates-step.js +224 -0
  257. package/.medusa/server/src/workflows/daily-rate/steps/update-style-master-metal-rates-step.js +180 -0
  258. package/.medusa/server/src/workflows/erp-batch-processing/index.js +19 -0
  259. package/.medusa/server/src/workflows/erp-batch-processing/steps/finalize-batch-processing.js +55 -0
  260. package/.medusa/server/src/workflows/erp-batch-processing/steps/index.js +20 -0
  261. package/.medusa/server/src/workflows/erp-batch-processing/steps/initialize-batch-processing.js +40 -0
  262. package/.medusa/server/src/workflows/erp-batch-processing/steps/start-batch-processing.js +22 -0
  263. package/.medusa/server/src/workflows/erp-batch-processing/workflows/erp-batch-processing.js +25 -0
  264. package/.medusa/server/src/workflows/erp-batch-processing/workflows/index.js +18 -0
  265. package/.medusa/server/src/workflows/erp-event/steps/update-erp-event.js +24 -7
  266. package/.medusa/server/src/workflows/erp-event/workflows/update-erp-event.js +1 -1
  267. package/.medusa/server/src/workflows/helpers/product-helper.js +212 -21
  268. package/.medusa/server/src/workflows/helpers/variant-helper.js +165 -162
  269. package/.medusa/server/src/workflows/hooks/product-updated.js +23 -15
  270. package/.medusa/server/src/workflows/hooks/variant-updated.js +24 -22
  271. package/.medusa/server/src/workflows/index.js +4 -1
  272. package/.medusa/server/src/workflows/inward-master/helper/index.js +23 -8
  273. package/.medusa/server/src/workflows/inward-master/steps/create-order-fulfillment-for-inward.js +73 -0
  274. package/.medusa/server/src/workflows/inward-master/steps/index.js +3 -1
  275. package/.medusa/server/src/workflows/inward-master/steps/notify-inward-skipped.js +37 -0
  276. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +51 -43
  277. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +6 -9
  278. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +2 -1
  279. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +32 -7
  280. package/.medusa/server/src/workflows/item-master/index.js +11 -0
  281. package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
  282. package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
  283. package/.medusa/server/src/workflows/jewel-trans-master/index.js +18 -0
  284. package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +370 -0
  285. package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +18 -0
  286. package/.medusa/server/src/workflows/labour-chart-master/index.js +11 -0
  287. package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +38 -0
  288. package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +31 -0
  289. package/.medusa/server/src/workflows/material-purchase-master/index.js +24 -0
  290. package/.medusa/server/src/workflows/material-purchase-master/steps/create-material-purchase-master.js +119 -0
  291. package/.medusa/server/src/workflows/material-purchase-master/steps/delete-material-purchase-master.js +102 -0
  292. package/.medusa/server/src/workflows/material-purchase-master/steps/fetch-material-purchase-master.js +60 -0
  293. package/.medusa/server/src/workflows/material-purchase-master/steps/update-material-purchase-master.js +149 -0
  294. package/.medusa/server/src/workflows/order-master/index.js +3 -0
  295. package/.medusa/server/src/workflows/order-master/order-master-webhook.js +24 -0
  296. package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +275 -0
  297. package/.medusa/server/src/workflows/order-master/steps/delete-order-master-by-erp-ids.js +61 -0
  298. package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +1024 -0
  299. package/.medusa/server/src/workflows/order-proceed-master/index.js +6 -0
  300. package/.medusa/server/src/workflows/order-proceed-master/order-proceed-master-webhook.js +26 -0
  301. package/.medusa/server/src/workflows/order-proceed-master/steps/create-or-update-order-proceed-master.js +186 -0
  302. package/.medusa/server/src/workflows/order-proceed-master/steps/delete-order-proceed-master-by-erp-ids.js +28 -0
  303. package/.medusa/server/src/workflows/orders/steps/find-nearest-pincodes-step.js +336 -0
  304. package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +77 -0
  305. package/.medusa/server/src/workflows/orders/steps/index.js +15 -1
  306. package/.medusa/server/src/workflows/orders/steps/revert-to-wallet-step.js +165 -0
  307. package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +185 -0
  308. package/.medusa/server/src/workflows/orders/steps/sync-buyback-to-erp-step.js +99 -0
  309. package/.medusa/server/src/workflows/orders/steps/sync-cancel-to-erp-step.js +120 -0
  310. package/.medusa/server/src/workflows/orders/steps/sync-exchange-to-erp-step.js +101 -0
  311. package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +161 -0
  312. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +743 -20
  313. package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +277 -0
  314. package/.medusa/server/src/workflows/orders/steps/update-old-gold-sync-status-step.js +64 -0
  315. package/.medusa/server/src/workflows/orders/utils/order-helper.js +183 -38
  316. package/.medusa/server/src/workflows/orders/utils/order-request-helper.js +235 -0
  317. package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +10 -0
  318. package/.medusa/server/src/workflows/orders/workflows/index.js +4 -1
  319. package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +21 -0
  320. package/.medusa/server/src/workflows/orders/workflows/sync-old-gold-to-erp.js +24 -0
  321. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +54 -5
  322. package/.medusa/server/src/workflows/orders/workflows/sync-sale-return-to-erp.js +11 -0
  323. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +53 -33
  324. package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +115 -0
  325. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -1
  326. package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
  327. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +2 -2
  328. package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
  329. package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
  330. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +16 -249
  331. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +103 -22
  332. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +49 -18
  333. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +4 -15
  334. package/.medusa/server/src/workflows/payment-book-master/index.js +11 -0
  335. package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +37 -0
  336. package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +64 -0
  337. package/.medusa/server/src/workflows/rate-chart-master/index.js +11 -0
  338. package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +25 -0
  339. package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +31 -0
  340. package/.medusa/server/src/workflows/receive-voucher-master/index.js +24 -0
  341. package/.medusa/server/src/workflows/receive-voucher-master/steps/create-receive-voucher-master.js +125 -0
  342. package/.medusa/server/src/workflows/receive-voucher-master/steps/delete-receive-voucher-master.js +45 -0
  343. package/.medusa/server/src/workflows/receive-voucher-master/steps/fetch-receive-voucher-master.js +22 -0
  344. package/.medusa/server/src/workflows/receive-voucher-master/steps/update-receive-voucher-master.js +44 -0
  345. package/.medusa/server/src/workflows/report-master/index.js +11 -0
  346. package/.medusa/server/src/workflows/report-master/steps/create-or-update-report-master.js +53 -0
  347. package/.medusa/server/src/workflows/report-master/steps/fetch-report.js +71 -0
  348. package/.medusa/server/src/workflows/sale-master/index.js +24 -0
  349. package/.medusa/server/src/workflows/sale-master/steps/create-sale-master.js +72 -0
  350. package/.medusa/server/src/workflows/sale-master/steps/delete-sale-master.js +59 -0
  351. package/.medusa/server/src/workflows/sale-master/steps/update-sale-master.js +95 -0
  352. package/.medusa/server/src/workflows/sale-return-master/index.js +6 -0
  353. package/.medusa/server/src/workflows/sale-return-master/sale-return-master-webhook.js +28 -0
  354. package/.medusa/server/src/workflows/sale-return-master/steps/create-or-update-sale-return-master.js +109 -0
  355. package/.medusa/server/src/workflows/sale-return-master/steps/create-sale-return-master.js +45 -0
  356. package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master-by-erp-ids.js +36 -0
  357. package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master.js +36 -0
  358. package/.medusa/server/src/workflows/sale-return-master/steps/process-sale-return-from-webhook.js +234 -0
  359. package/.medusa/server/src/workflows/sale-return-master/steps/update-sale-return-master.js +53 -0
  360. package/.medusa/server/src/workflows/sale-return-policy-master/index.js +11 -0
  361. package/.medusa/server/src/workflows/sale-return-policy-master/steps/create-or-update-sale-return-policy-master.js +91 -0
  362. package/.medusa/server/src/workflows/sale-return-policy-master/steps/fetch-sale-return-policy.js +31 -0
  363. package/.medusa/server/src/workflows/shipping-info-master/workflows/create-or-update-shipping-info.js +59 -0
  364. package/.medusa/server/src/workflows/shipping-info-master/workflows/index.js +2 -1
  365. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +116 -10
  366. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +9 -1
  367. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +6 -16
  368. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +5 -17
  369. package/package.json +18 -33
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ /**
3
+ * Helper functions for building ERP data payloads for order requests
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildCancelData = exports.buildBuybackData = exports.buildExchangeData = exports.buildSaleReturnData = void 0;
7
+ /** Editable components for exchange value (must match POS exchange detail logic) */
8
+ function isEditableComponentForExchange(component) {
9
+ const lower = (component || "").toLowerCase();
10
+ if (lower.includes("total diamond value"))
11
+ return false;
12
+ if (lower.includes("total color stones value"))
13
+ return false;
14
+ return (lower.includes("18k gold") ||
15
+ lower.includes("18k") ||
16
+ lower.includes("14k gold") ||
17
+ lower.includes("14k") ||
18
+ (lower.includes("diamonds") || lower.includes("diamond")) ||
19
+ lower.includes("color stones") ||
20
+ lower.includes("color stone"));
21
+ }
22
+ /** Compute exchange value from saved_price_breakups for one variant (sum of editable components) */
23
+ function getExchangeValueFromPriceBreakup(priceBreakup) {
24
+ if (!priceBreakup?.length)
25
+ return null;
26
+ const total = priceBreakup.reduce((sum, pb) => {
27
+ if (!isEditableComponentForExchange(pb.component))
28
+ return sum;
29
+ const val = pb.userEditedValue !== undefined && pb.userEditedValue !== null
30
+ ? Number(pb.userEditedValue)
31
+ : parseFloat(String(pb.final_value || 0).replace(/[₹,\s]/g, "")) || 0;
32
+ return sum + val;
33
+ }, 0);
34
+ return total;
35
+ }
36
+ /**
37
+ * Build sale return data for ERP from order request and order details
38
+ */
39
+ const buildSaleReturnData = async (order, customer, partyMaster, requestItems, remarks = "", container, requestType = "return", // "return", "exchange", "buyback", "money_back"
40
+ requestMetadata) => {
41
+ // Calculate amounts
42
+ const { SALE_RETURN_POLICY_MASTER_MODULE } = await import("../../../modules/sale-return-policy-master/index.js");
43
+ const saleReturnPolicyService = container.resolve(SALE_RETURN_POLICY_MASTER_MODULE);
44
+ const savedPriceBreakups = requestMetadata?.saved_price_breakups;
45
+ const useExchangeValue = requestType === "exchange" && savedPriceBreakups && typeof savedPriceBreakups === "object";
46
+ const addlessAmount = Number(requestMetadata?.addless_amount || 0);
47
+ let grossAmount = 0;
48
+ const jewelTransInward = [];
49
+ // Collect raw unit values per item for proportional discount calculation
50
+ const itemUnitValues = [];
51
+ for (const item of requestItems) {
52
+ const lineItem = item.line_item;
53
+ const variant = lineItem?.variant;
54
+ const extendedVariant = variant?.extended_variant;
55
+ const jewelItems = lineItem?.metadata?.jewel_items;
56
+ const variantId = lineItem?.variant_id || lineItem?.variant?.id;
57
+ let unitValue = lineItem?.unit_price || 0;
58
+ if (useExchangeValue && variantId && savedPriceBreakups[variantId]) {
59
+ const exchangeVal = getExchangeValueFromPriceBreakup(savedPriceBreakups[variantId]);
60
+ if (exchangeVal != null && exchangeVal > 0) {
61
+ unitValue = exchangeVal;
62
+ }
63
+ }
64
+ const itemAmount = unitValue * (item.line_item_quantity || 1);
65
+ itemUnitValues.push(unitValue);
66
+ grossAmount += itemAmount;
67
+ // Build the inward detail from jewel data if available
68
+ const inwardDetails = [];
69
+ if (jewelItems?.details && Array.isArray(jewelItems.details)) {
70
+ for (const detail of jewelItems.details) {
71
+ inwardDetails.push({
72
+ JewelTransId: 0,
73
+ JewelId: lineItem?.metadata?.jewel_id || jewelItems?.jewel_id || 0,
74
+ JewelDetailID: detail.JewelDetailID || 0,
75
+ ItemId: detail.ItemId || 0,
76
+ ItemCode: detail.ItemCode || "",
77
+ RawFormula: detail.RawFormula || "Rate*Weight",
78
+ OriginalRate: detail.OriginalRate || 0,
79
+ DisMarkupOn: detail.DisMarkupOn || false,
80
+ DisMarkupPer: detail.DisMarkupPer || 0,
81
+ Rate: detail.Rate || 0,
82
+ Amount: detail.Amount || 0,
83
+ DisMarkupAmt: detail.DisMarkupAmt || 0,
84
+ FinalAmt: detail.FinalAmt || 0,
85
+ LossPer: detail.LossPer || 0,
86
+ LossPerIsFix: detail.LossPerIsFix || false,
87
+ LossWeight: detail.LossWeight || 0,
88
+ LossAmt: detail.LossAmt || 0,
89
+ OriginalCPFRate: detail.OriginalCPFRate || 0,
90
+ CPFDisMarkupPer: detail.CPFDisMarkupPer || 0,
91
+ CPFRate: detail.CPFRate || 0,
92
+ CPFIsFix: detail.CPFIsFix || true,
93
+ OriginalCPFAmt: detail.OriginalCPFAmt || 0,
94
+ CPFAmtDisMarkupPer: detail.CPFAmtDisMarkupPer || 0,
95
+ CPFAmt: detail.CPFAmt || 0,
96
+ });
97
+ }
98
+ }
99
+ // Build explorations
100
+ const explorations = [];
101
+ if (jewelItems?.explorations && Array.isArray(jewelItems.explorations)) {
102
+ for (const exp of jewelItems.explorations) {
103
+ explorations.push({
104
+ JewelTransId: 0,
105
+ JewelId: lineItem?.metadata?.jewel_id || jewelItems?.jewel_id || 0,
106
+ ExplorationId: exp.ExplorationId || 0,
107
+ ExplorationCode: exp.ExplorationCode || "",
108
+ ExplorationValue: exp.ExplorationValue || "",
109
+ });
110
+ }
111
+ }
112
+ // Get policy name from sale return policy master table based on request type
113
+ let policyName = extendedVariant?.policy_name || "200 Days Return";
114
+ if (container) {
115
+ try {
116
+ // Map request type to policy code keywords
117
+ const policyCodeKeywords = {
118
+ return: "Return",
119
+ exchange: "Exchange",
120
+ buyback: "Buyback",
121
+ money_back: "Money Back",
122
+ };
123
+ const keyword = policyCodeKeywords[requestType?.toLowerCase()] || "Return";
124
+ // Get all policies and filter by policy_code containing the keyword
125
+ const allPolicies = await saleReturnPolicyService.listSaleReturnPolicyMasters();
126
+ let policies = [];
127
+ // Search for policy_code containing the keyword (case-insensitive)
128
+ policies = allPolicies.filter((p) => {
129
+ const policyCode = (p.policy_code || "").toLowerCase();
130
+ return policyCode.includes(keyword.toLowerCase());
131
+ });
132
+ // If not found by keyword, try to find by extendedVariant.policy_code
133
+ if ((!policies || policies.length === 0) && extendedVariant?.policy_code) {
134
+ policies = allPolicies.filter((p) => p.policy_code === extendedVariant.policy_code ||
135
+ p.policy_code?.toLowerCase() === extendedVariant.policy_code?.toLowerCase());
136
+ }
137
+ // If still not found, try by policy_name
138
+ if ((!policies || policies.length === 0) && extendedVariant?.policy_name) {
139
+ policies = allPolicies.filter((p) => p.policy_name === extendedVariant.policy_name ||
140
+ p.policy_name?.toLowerCase() === extendedVariant.policy_name?.toLowerCase());
141
+ }
142
+ if (policies && policies.length > 0) {
143
+ policyName = policies[0].policy_name;
144
+ }
145
+ }
146
+ catch (error) {
147
+ console.warn(`[buildSaleReturnData] Failed to fetch policy from master table for request type: ${requestType}`, error);
148
+ // Fall back to extendedVariant.policy_name or default
149
+ }
150
+ }
151
+ jewelTransInward.push({
152
+ JewelTransId: 0,
153
+ JewelId: lineItem?.metadata?.jewel_id || jewelItems?.jewel_id || 0,
154
+ JewelCode: lineItem?.variant_barcode || jewelItems?.jewel_code || extendedVariant?.sku || "",
155
+ StyleId: extendedVariant?.style_id || 0,
156
+ MrpAmt: unitValue, // will be updated below after grossAmount is known
157
+ RateChart: extendedVariant?.rate_chart || "SVARAA ECOM",
158
+ LabourChart: extendedVariant?.labour_chart || "NetWt",
159
+ PolicyName: policyName,
160
+ JewelTransInwardDetail: inwardDetails,
161
+ JewelTransXtraCharges: [],
162
+ JewelTransInwardExploration: explorations,
163
+ });
164
+ }
165
+ // Apply proportional addless discount to each item's MrpAmt
166
+ if (addlessAmount > 0 && grossAmount > 0) {
167
+ for (let i = 0; i < jewelTransInward.length; i++) {
168
+ const proportion = itemUnitValues[i] / grossAmount;
169
+ jewelTransInward[i].MrpAmt = Math.round(itemUnitValues[i] - addlessAmount * proportion);
170
+ }
171
+ }
172
+ // Get customer info
173
+ const customerName = customer
174
+ ? `${customer.first_name || ""} ${customer.last_name || ""}`.trim()
175
+ : "-";
176
+ // Get ShippingId from order shipping address metadata
177
+ const shippingId = order?.shipping_address?.metadata?.party_shipping_id
178
+ ? Number(order.shipping_address.metadata.party_shipping_id)
179
+ : 0;
180
+ return {
181
+ JewelTransId: 0,
182
+ JewelTransPrefix: "", // Will be set by ERP
183
+ JewelTransNo: "", // Will be set by ERP
184
+ JewelTransDate: new Date().toISOString(),
185
+ PartyNo: partyMaster?.party_no || customer?.extended_customer?.external_id || "",
186
+ FirmName: partyMaster?.firm_name || customerName || "-",
187
+ SalesPerson: order?.metadata?.sales_person_name || "",
188
+ BranchNo: partyMaster?.branch_no || "",
189
+ BranchName: partyMaster?.branch_name || "self",
190
+ GrossAmount: grossAmount,
191
+ TotalAddlessAmount: addlessAmount,
192
+ Amount: grossAmount - addlessAmount,
193
+ Remarks: remarks,
194
+ ShippingId: shippingId,
195
+ JewelTransInward: jewelTransInward,
196
+ };
197
+ };
198
+ exports.buildSaleReturnData = buildSaleReturnData;
199
+ /**
200
+ * Build exchange data for ERP
201
+ * Similar to sale return but with outbound items.
202
+ * Uses request_metadata.saved_price_breakups when present so Gati gets the correct exchange value (not unit_price).
203
+ */
204
+ const buildExchangeData = async (order, customer, partyMaster, requestItems, outboundItems, remarks = "", container, requestMetadata) => {
205
+ const returnData = await (0, exports.buildSaleReturnData)(order, customer, partyMaster, requestItems, `Exchange Request: ${remarks}`, container, "exchange", requestMetadata);
206
+ // Add outbound item details to remarks
207
+ const outboundDetails = outboundItems
208
+ .map((item) => `${item.variant?.title || item.line_item_id}`)
209
+ .join(", ");
210
+ return {
211
+ returnData,
212
+ exchangeRemarks: `Exchange for: ${outboundDetails}`,
213
+ };
214
+ };
215
+ exports.buildExchangeData = buildExchangeData;
216
+ /**
217
+ * Build buyback data for ERP
218
+ * Similar to sale return but for buyback scenario
219
+ */
220
+ const buildBuybackData = async (order, customer, partyMaster, requestItems, remarks = "", container) => {
221
+ return await (0, exports.buildSaleReturnData)(order, customer, partyMaster, requestItems, `Buyback Request: ${remarks}`, container, "buyback");
222
+ };
223
+ exports.buildBuybackData = buildBuybackData;
224
+ /**
225
+ * Build cancel order data for ERP
226
+ */
227
+ const buildCancelData = (order, customer, partyMaster, remarks = "") => {
228
+ return {
229
+ orderId: order?.id || "",
230
+ partyNo: partyMaster?.party_no || customer?.extended_customer?.external_id || "",
231
+ remarks: `Order Cancellation: ${remarks}`,
232
+ };
233
+ };
234
+ exports.buildCancelData = buildCancelData;
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmVxdWVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy91dGlscy9vcmRlci1yZXF1ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQXdFSCxvRkFBb0Y7QUFDcEYsU0FBUyw4QkFBOEIsQ0FBQyxTQUFpQjtJQUN2RCxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN4RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM3RCxPQUFPLENBQ0wsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxvR0FBb0c7QUFDcEcsU0FBUyxnQ0FBZ0MsQ0FBQyxZQUFtQjtJQUMzRCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQztJQUN2QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQU8sRUFB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
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTodayGoldRate = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_today_gold_rate_step_1 = require("../steps/get-today-gold-rate-step");
6
+ exports.getTodayGoldRate = (0, workflows_sdk_1.createWorkflow)("get-today-gold-rate", () => {
7
+ const goldRate = (0, get_today_gold_rate_step_1.getTodayGoldRateStep)();
8
+ return new workflows_sdk_1.WorkflowResponse(goldRate);
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRvZGF5LWdvbGQtcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvb3JkZXJzL3dvcmtmbG93cy9nZXQtdG9kYXktZ29sZC1yYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFxRjtBQUNyRixnRkFBeUU7QUFFNUQsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQzVDLHFCQUFxQixFQUNyQixHQUFHLEVBQUU7SUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFBLCtDQUFvQixHQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FDRixDQUFDIn0=
@@ -15,4 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./sync-order-to-erp"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQyJ9
18
+ __exportStar(require("./sync-old-gold-to-erp"), exports);
19
+ __exportStar(require("./sync-advanve-payment-to-erp"), exports);
20
+ __exportStar(require("./sync-sale-return-to-erp"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsZ0VBQThDO0FBQzlDLDREQUEwQyJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncAdvancePaymentToERPWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sync_advance_payment_to_erp_step_1 = require("../steps/sync-advance-payment-to-erp-step");
6
+ const create_or_update_order_master_1 = require("../../order-master/steps/create-or-update-order-master");
7
+ exports.syncAdvancePaymentToERPWorkflow = (0, workflows_sdk_1.createWorkflow)("sync-advance-payment-to-erp", ({ order_id, payment_collection_id, payment_id }) => {
8
+ const erpOrder = (0, sync_advance_payment_to_erp_step_1.syncAdvancePaymentToErpStep)({
9
+ order_id: order_id,
10
+ payment_collection_id: payment_collection_id,
11
+ payment_id: payment_id
12
+ });
13
+ (0, workflows_sdk_1.when)({ erpOrder }, ({ erpOrder }) => erpOrder && Object.keys(erpOrder).length > 0).then(() => {
14
+ (0, create_or_update_order_master_1.createOrderMaster)({
15
+ order_id: erpOrder?.OrderId,
16
+ id: order_id
17
+ });
18
+ });
19
+ return new workflows_sdk_1.WorkflowResponse(order_id);
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hZHZhbnZlLXBheW1lbnQtdG8tZXJwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlcnMvd29ya2Zsb3dzL3N5bmMtYWR2YW52ZS1wYXltZW50LXRvLWVycC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBeUY7QUFDekYsZ0dBQXNGO0FBQ3RGLDBHQUF5RjtBQUc1RSxRQUFBLCtCQUErQixHQUFHLElBQUEsOEJBQWMsRUFDM0QsNkJBQTZCLEVBQzdCLENBQUMsRUFBRSxRQUFRLEVBQUMscUJBQXFCLEVBQUMsVUFBVSxFQUFpQixFQUFFLEVBQUU7SUFFL0QsTUFBTSxRQUFRLEdBQUcsSUFBQSw4REFBMkIsRUFBQztRQUMzQyxRQUFRLEVBQUUsUUFBUTtRQUNsQixxQkFBcUIsRUFBQyxxQkFBcUI7UUFDM0MsVUFBVSxFQUFDLFVBQVU7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gsSUFBQSxvQkFBSSxFQUNGLEVBQUUsUUFBUSxFQUFFLEVBQ1osQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUMvRCxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVixJQUFBLGlEQUFpQixFQUFDO1lBQ2hCLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTztZQUMzQixFQUFFLEVBQUMsUUFBUTtTQUNaLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncOldGoldToErpWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sync_old_gold_to_erp_step_1 = require("../steps/sync-old-gold-to-erp-step");
6
+ const update_old_gold_sync_status_step_1 = require("../steps/update-old-gold-sync-status-step");
7
+ exports.syncOldGoldToErpWorkflow = (0, workflows_sdk_1.createWorkflow)("sync-old-gold-to-erp-workflow", (input) => {
8
+ const result = (0, sync_old_gold_to_erp_step_1.syncOldGoldToErpStep)(input);
9
+ // Always update the old gold entry with sync result (success or failure)
10
+ const updateInput = (0, workflows_sdk_1.transform)({ result, input }, ({ result, input }) => ({
11
+ old_gold_id: input.old_gold_entry.id,
12
+ material_trans_id: result?.erp_response?.data?.MaterialTransId ?? null,
13
+ synced: result?.synced === true,
14
+ sync_erp_error: result?.synced ? null : (result?.error ?? null),
15
+ }));
16
+ (0, update_old_gold_sync_status_step_1.updateOldGoldSyncStatusStep)({
17
+ old_gold_id: updateInput.old_gold_id,
18
+ material_trans_id: updateInput.material_trans_id,
19
+ synced: updateInput.synced,
20
+ sync_erp_error: updateInput.sync_erp_error,
21
+ });
22
+ return new workflows_sdk_1.WorkflowResponse(result);
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vbGQtZ29sZC10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3Mvc3luYy1vbGQtZ29sZC10by1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBQzNDLGtGQUEwRTtBQUUxRSxnR0FBd0Y7QUFPM0UsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLDhCQUFjLEVBQ3BELCtCQUErQixFQUMvQixDQUFDLEtBQW9DLEVBQUUsRUFBRTtJQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGdEQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNDLHlFQUF5RTtJQUN6RSxNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxXQUFXLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1FBQ3BDLGlCQUFpQixFQUNkLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGVBQTBCLElBQUksSUFBSTtRQUNqRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxJQUFJO1FBQy9CLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7S0FDaEUsQ0FBQyxDQUFDLENBQUM7SUFFSixJQUFBLDhEQUEyQixFQUFDO1FBQzFCLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVztRQUNwQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsaUJBQWlCO1FBQ2hELE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMxQixjQUFjLEVBQUUsV0FBVyxDQUFDLGNBQWM7S0FDM0MsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FDRixDQUFDIn0=
@@ -4,12 +4,41 @@ exports.syncOrderToErpWorkflow = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
6
6
  const steps_1 = require("../steps");
7
+ const create_or_update_order_master_1 = require("../../order-master/steps/create-or-update-order-master");
8
+ const jewel_trans_master_1 = require("../../jewel-trans-master");
7
9
  exports.syncOrderToErpWorkflow = (0, workflows_sdk_1.createWorkflow)("sync-order-to-erp", ({ order_id }) => {
8
- // @ts-ignore
9
10
  const { data: order } = (0, core_flows_1.useQueryGraphStep)({
10
11
  entity: "order",
11
12
  fields: [
13
+ "id",
12
14
  "*",
15
+ "customer_id",
16
+ "currency_code",
17
+ "total",
18
+ "subtotal",
19
+ "tax_total",
20
+ "original_total",
21
+ "original_subtotal",
22
+ "original_tax_total",
23
+ "discount_total",
24
+ "discount_subtotal",
25
+ "discount_tax_total",
26
+ "shipping_total",
27
+ "shipping_subtotal",
28
+ "shipping_tax_total",
29
+ "original_shipping_total",
30
+ "original_shipping_subtotal",
31
+ "original_shipping_tax_total",
32
+ "item_total",
33
+ "item_tax_total",
34
+ "item_subtotal",
35
+ "original_item_total",
36
+ "original_item_tax_total",
37
+ "original_item_subtotal",
38
+ "gift_card_total",
39
+ "gift_card_tax_total",
40
+ "shipping_methods.*",
41
+ "summary.*",
13
42
  "metadata",
14
43
  "shipping_address.*",
15
44
  "billing_address.*",
@@ -18,15 +47,28 @@ exports.syncOrderToErpWorkflow = (0, workflows_sdk_1.createWorkflow)("sync-order
18
47
  "items.product.extended_product.*",
19
48
  "items.variant.*",
20
49
  "items.variant.extended_variant.*",
50
+ "payment_collections.*",
51
+ "payment_collections.payments.*",
52
+ "payment_collections.payment_sessions.*",
21
53
  ],
22
- filters: { id: order_id },
54
+ filters: { id: order_id || "" },
23
55
  options: { throwIfKeyNotFound: true },
24
56
  });
25
- const erpOrder = (0, steps_1.syncOrderToErpStep)({
57
+ const erpResponse = (0, steps_1.syncOrderToErpStep)({
26
58
  order: order[0],
27
59
  });
60
+ const erpOrder = (0, workflows_sdk_1.transform)({ erpResponse }, ({ erpResponse }) => {
61
+ return erpResponse?.order || null;
62
+ });
63
+ const saleData = (0, workflows_sdk_1.transform)({ erpResponse }, ({ erpResponse }) => {
64
+ return erpResponse?.sale || null;
65
+ });
28
66
  (0, workflows_sdk_1.when)({ erpOrder }, ({ erpOrder }) => erpOrder && Object.keys(erpOrder).length > 0).then(() => {
29
- return core_flows_1.updateOrderWorkflow.runAsStep({
67
+ (0, create_or_update_order_master_1.createOrderMaster)({
68
+ order_id: erpOrder?.OrderId,
69
+ id: order_id
70
+ });
71
+ core_flows_1.updateOrderWorkflow.runAsStep({
30
72
  input: {
31
73
  id: order_id,
32
74
  user_id: "",
@@ -40,6 +82,13 @@ exports.syncOrderToErpWorkflow = (0, workflows_sdk_1.createWorkflow)("sync-order
40
82
  },
41
83
  });
42
84
  });
85
+ // Create JewelTransMaster when sale is created successfully
86
+ (0, workflows_sdk_1.when)({ saleData }, ({ saleData }) => saleData && saleData.jewel_trans_id).then(() => {
87
+ (0, jewel_trans_master_1.createJewelTransMaster)({
88
+ jewel_trans_id: saleData.jewel_trans_id,
89
+ order_id: order_id,
90
+ });
91
+ });
43
92
  return new workflows_sdk_1.WorkflowResponse(order_id);
44
93
  });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vcmRlci10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3Mvc3luYy1vcmRlci10by1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBQzNDLDREQUdxQztBQUNyQyxvQ0FBOEM7QUFHakMsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDhCQUFjLEVBQ2xELG1CQUFtQixFQUNuQixDQUFDLEVBQUUsUUFBUSxFQUFpQixFQUFFLEVBQUU7SUFDOUIsYUFBYTtJQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLEdBQUc7WUFDSCxVQUFVO1lBQ1Ysb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixTQUFTO1lBQ1QsaUJBQWlCO1lBQ2pCLGtDQUFrQztZQUNsQyxpQkFBaUI7WUFDakIsa0NBQWtDO1NBQ25DO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtRQUN6QixPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7S0FDdEMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBa0IsRUFBQztRQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoQixDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQ0YsRUFBRSxRQUFRLEVBQUUsRUFDWixDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQy9ELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLE9BQU8sZ0NBQW1CLENBQUMsU0FBUyxDQUFDO1lBQ25DLEtBQUssRUFBRTtnQkFDTCxFQUFFLEVBQUUsUUFBUTtnQkFDWixPQUFPLEVBQUUsRUFBRTtnQkFDWCxhQUFhO2dCQUNiLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixRQUFRLEVBQUU7b0JBQ1IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtvQkFDcEIsR0FBRyxRQUFRO29CQUNYLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxJQUFJLElBQUk7aUJBQ3ZDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQ0YsQ0FBQyJ9
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1vcmRlci10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3Mvc3luYy1vcmRlci10by1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLDREQUdxQztBQUNyQyxvQ0FBOEM7QUFDOUMsMEdBQXlGO0FBQ3pGLGlFQUFnRTtBQUduRCxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsbUJBQW1CLEVBQ25CLENBQUMsRUFBRSxRQUFRLEVBQWlCLEVBQUUsRUFBRTtJQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDeEMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osR0FBRztZQUNILGFBQWE7WUFDYixlQUFlO1lBQ2YsT0FBTztZQUNQLFVBQVU7WUFDVixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLDRCQUE0QjtZQUM1Qiw2QkFBNkI7WUFDN0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsa0NBQWtDO1lBQ2xDLGlCQUFpQjtZQUNqQixrQ0FBa0M7WUFDbEMsdUJBQXVCO1lBQ3ZCLGdDQUFnQztZQUNoQyx3Q0FBd0M7U0FDekM7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRTtRQUMvQixPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7S0FDdEMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLEdBQUcsSUFBQSwwQkFBa0IsRUFBQztRQUNyQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoQixDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUM5RCxPQUFPLFdBQVcsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDOUQsT0FBTyxXQUFXLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRixFQUFFLFFBQVEsRUFBRSxFQUNaLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDL0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsSUFBQSxpREFBaUIsRUFBQztZQUNoQixRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU87WUFDM0IsRUFBRSxFQUFDLFFBQVE7U0FDWixDQUFDLENBQUE7UUFDRixnQ0FBbUIsQ0FBQyxTQUFTLENBQUM7WUFDNUIsS0FBSyxFQUFFO2dCQUNMLEVBQUUsRUFBRSxRQUFRO2dCQUNaLE9BQU8sRUFBRSxFQUFFO2dCQUNYLGFBQWE7Z0JBQ2IsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRTtvQkFDUixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO29CQUNwQixHQUFHLFFBQVE7b0JBQ1gsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSTtpQkFDdkM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsNERBQTREO0lBQzVELElBQUEsb0JBQUksRUFDRixFQUFFLFFBQVEsRUFBRSxFQUNaLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQ3RELENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLElBQUEsMkNBQXNCLEVBQUM7WUFDckIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjO1lBQ3ZDLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncSaleReturnToErpWorkflow = exports.syncSaleReturnToErpWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const sync_sale_return_to_erp_step_1 = require("../steps/sync-sale-return-to-erp-step");
6
+ exports.syncSaleReturnToErpWorkflowId = "sync-sale-return-to-erp-workflow";
7
+ exports.syncSaleReturnToErpWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.syncSaleReturnToErpWorkflowId, (input) => {
8
+ const result = (0, sync_sale_return_to_erp_step_1.syncSaleReturnToErpStep)(input);
9
+ return new workflows_sdk_1.WorkflowResponse(result);
10
+ });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1zYWxlLXJldHVybi10by1lcnAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy93b3JrZmxvd3Mvc3luYy1zYWxlLXJldHVybi10by1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFGO0FBQ3JGLHdGQUcrQztBQUVsQyxRQUFBLDZCQUE2QixHQUFHLGtDQUFrQyxDQUFDO0FBRW5FLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSw4QkFBYyxFQUN2RCxxQ0FBNkIsRUFDN0IsQ0FBQyxLQUErQixFQUFFLEVBQUU7SUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBQSxzREFBdUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUNGLENBQUMifQ==
@@ -3,49 +3,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createCustomerErpStep = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
- const party_master_1 = require("../../../modules/party-master");
7
6
  exports.createCustomerErpStep = (0, workflows_sdk_1.createStep)("create-customer-erp-step", async (input, { container }) => {
8
7
  const erpModuleService = container.resolve("erp");
9
8
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
9
  const eventBus = container.resolve("event_bus");
11
- const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
12
- const branches = await partyMasterModuleService.listPartyMasters({
13
- is_inline_branch: true,
14
- });
10
+ // const partyMasterModuleService: PartyMasterService =
11
+ // container.resolve(PARTY_MASTER_MODULE);
12
+ // const branches = await partyMasterModuleService.listPartyMasters({
13
+ // is_inline_branch: true,
14
+ // });
15
15
  // Get all existing party masters for this party number
16
- const existingPartyMasters = await partyMasterModuleService.listPartyMasters({
17
- party_no: input.PartyNo,
18
- });
19
- const existingBranchNos = existingPartyMasters.map((p) => p.branch_no);
20
- const branchesUserShouldCreate = branches.filter((p) => p.party_no !== input.BranchNo && !existingBranchNos.includes(p.party_no));
16
+ // const existingPartyMasters =
17
+ // await partyMasterModuleService.listPartyMasters({
18
+ // party_no: input.PartyNo,
19
+ // });
20
+ // const existingBranchNos = existingPartyMasters.map((p) => p.branch_no);
21
+ // const branchesUserShouldCreate = branches.filter(
22
+ // (p) =>
23
+ // p.party_no !== input.BranchNo && !existingBranchNos.includes(p.party_no)
24
+ // );
21
25
  const customersToCreate = [];
22
- // Add derived branch first if it doesn't exist
23
- if (!existingBranchNos.includes(input.BranchNo)) {
24
- customersToCreate.push({
25
- ...input,
26
- });
27
- }
26
+ // // Add derived branch first if it doesn't exist
27
+ // if (!existingBranchNos.includes(input.BranchNo)) {
28
+ customersToCreate.push({
29
+ ...input,
30
+ });
31
+ // }
28
32
  // Add self branch if it doesn't exist
29
- if (!existingBranchNos.includes("")) {
30
- customersToCreate.push({
31
- ...input,
32
- BranchNo: "",
33
- BranchName: "Self",
34
- LocationId: "",
35
- LocationName: "All",
36
- });
37
- }
33
+ // if (!existingBranchNos.includes("")) {
34
+ // customersToCreate.push({
35
+ // ...input,
36
+ // BranchNo: "",
37
+ // BranchName: "Self",
38
+ // LocationId: "",
39
+ // LocationName: "All",
40
+ // });
41
+ // }
38
42
  // Add other branches
39
- const otherBranches = branchesUserShouldCreate?.map((branch) => ({
40
- ...input,
41
- BranchNo: branch.party_no,
42
- BranchName: branch.firm_name,
43
- })) || [];
44
- customersToCreate.push(...otherBranches);
43
+ // const otherBranches =
44
+ // branchesUserShouldCreate?.map((branch) => ({
45
+ // ...input,
46
+ // BranchNo: branch.party_no,
47
+ // BranchName: branch.firm_name,
48
+ // })) || [];
49
+ // customersToCreate.push(...otherBranches);
45
50
  const customers = [];
46
51
  // Only create customers that don't already exist
47
52
  for (const toCreate of customersToCreate) {
53
+ console.log("__toCreate", toCreate);
48
54
  const customer = await erpModuleService.createCustomer(toCreate);
55
+ console.log("[createCustomerErpStep] ERP createCustomer response:", {
56
+ customerResponse: customer,
57
+ branchNo: toCreate.BranchNo,
58
+ branchName: toCreate.BranchName,
59
+ });
60
+ if (customer?.status === false) {
61
+ const erpMessage = customer.message || "ERP sync failed";
62
+ console.error("ERP customer creation failed:", erpMessage);
63
+ return new workflows_sdk_1.StepResponse({
64
+ customer: null,
65
+ selfBranchCustomer: null,
66
+ sync_erp_error: erpMessage,
67
+ });
68
+ }
49
69
  customers.push({
50
70
  ...customer,
51
71
  BranchNo: toCreate.BranchNo,
@@ -54,7 +74,7 @@ exports.createCustomerErpStep = (0, workflows_sdk_1.createStep)("create-customer
54
74
  }
55
75
  const derivedBranchCustomer = customers.find((customer) => customer.BranchNo === input.BranchNo);
56
76
  const selfBranchCustomer = customers.find((customer) => customer.BranchNo === "");
57
- const phone = !derivedBranchCustomer.Mobile.startsWith("+91")
77
+ const phone = !derivedBranchCustomer?.Mobile?.startsWith("+91")
58
78
  ? "+91" + derivedBranchCustomer.Mobile
59
79
  : derivedBranchCustomer.Mobile || "";
60
80
  const { data: [existingCustomer], } = await query.graph({
@@ -84,4 +104,4 @@ exports.createCustomerErpStep = (0, workflows_sdk_1.createStep)("create-customer
84
104
  selfBranchCustomer,
85
105
  });
86
106
  });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbWVyLWVycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGFydHktbWFzdGVyL3N0ZXBzL2NyZWF0ZS1jdXN0b21lci1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLHFEQUFzRTtBQUd0RSxnRUFBb0U7QUFHdkQsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBc0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDOUMsTUFBTSxnQkFBZ0IsR0FBcUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEQsTUFBTSx3QkFBd0IsR0FDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBbUIsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sUUFBUSxHQUFHLE1BQU0sd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7UUFDL0QsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixDQUFDLENBQUM7SUFFSCx1REFBdUQ7SUFDdkQsTUFBTSxvQkFBb0IsR0FDeEIsTUFBTSx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDeEIsQ0FBQyxDQUFDO0lBRUwsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2RSxNQUFNLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQzlDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUMzRSxDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBc0IsRUFBRSxDQUFDO0lBRWhELCtDQUErQztJQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2hELGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUNyQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDckIsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixVQUFVLEVBQUUsTUFBTTtZQUNsQixVQUFVLEVBQUUsRUFBRTtZQUNkLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTSxhQUFhLEdBQ2pCLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QyxHQUFHLEtBQUs7UUFDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTO0tBQzdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNaLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sU0FBUyxHQUFVLEVBQUUsQ0FBQztJQUU1QixpREFBaUQ7SUFDakQsS0FBSyxNQUFNLFFBQVEsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixHQUFHLFFBQVE7WUFDWCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQzFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQ25ELENBQUM7SUFFRixNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQ3ZDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FDdkMsQ0FBQztJQUVGLE1BQU0sS0FBSyxHQUFHLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDM0QsQ0FBQyxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxNQUFNO1FBQ3RDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBRXZDLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUN6QixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7UUFDcEMsT0FBTyxFQUFFO1lBQ1AsYUFBYTtZQUNiLEtBQUs7U0FDTjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLENBQUM7U0FDUjtLQUNGLENBQUMsQ0FBQztJQUVILDhDQUE4QztJQUM5QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2xCLElBQUksRUFBRSw4QkFBOEI7WUFDcEMsSUFBSSxFQUFFO2dCQUNKLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUNsRCxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRTthQUNqQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixRQUFRLEVBQUUscUJBQXFCO1FBQy9CLGtCQUFrQjtLQUNuQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbWVyLWVycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGFydHktbWFzdGVyL3N0ZXBzL2NyZWF0ZS1jdXN0b21lci1lcnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLHFEQUFzRTtBQU16RCxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDN0MsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxLQUFzQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5QyxNQUFNLGdCQUFnQixHQUFxQixTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVoRCx1REFBdUQ7SUFDdkQsNENBQTRDO0lBRTVDLHFFQUFxRTtJQUNyRSw0QkFBNEI7SUFDNUIsTUFBTTtJQUVOLHVEQUF1RDtJQUN2RCwrQkFBK0I7SUFDL0Isc0RBQXNEO0lBQ3RELCtCQUErQjtJQUMvQixRQUFRO0lBRVIsMEVBQTBFO0lBRTFFLG9EQUFvRDtJQUNwRCxXQUFXO0lBQ1gsK0VBQStFO0lBQy9FLEtBQUs7SUFFTCxNQUFNLGlCQUFpQixHQUFzQixFQUFFLENBQUM7SUFFaEQsa0RBQWtEO0lBQ2xELHFEQUFxRDtJQUNuRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDckIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0lBQ0wsSUFBSTtJQUVKLHNDQUFzQztJQUN0Qyx5Q0FBeUM7SUFDekMsNkJBQTZCO0lBQzdCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFD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