@devx-commerce/plugin-gati 0.0.34-beta.5 → 0.0.34-beta.50

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 (314) 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/masters/validators.js +2 -2
  4. package/.medusa/server/src/api/admin/variant-options/recalculate/route.js +446 -0
  5. package/.medusa/server/src/api/admin/variant-options/sync/route.js +21 -5
  6. package/.medusa/server/src/api/erp/webhook/config.js +54 -4
  7. package/.medusa/server/src/api/erp/webhook/route.js +10 -137
  8. package/.medusa/server/src/api/erp/webhook/utils.js +8 -1
  9. package/.medusa/server/src/api/pos/customer-ledger/middleware.js +13 -0
  10. package/.medusa/server/src/api/pos/customer-ledger/route.js +50 -0
  11. package/.medusa/server/src/api/pos/generate-invoice/route.js +427 -0
  12. package/.medusa/server/src/api/pos/gold/calculate/route.js +104 -0
  13. package/.medusa/server/src/api/pos/gold/item-master-purity.js +46 -0
  14. package/.medusa/server/src/api/pos/gold/middleware.js +18 -0
  15. package/.medusa/server/src/api/pos/gold/route.js +83 -0
  16. package/.medusa/server/src/api/pos/gold-rate/route.js +37 -24
  17. package/.medusa/server/src/api/pos/middleware.js +13 -1
  18. package/.medusa/server/src/api/pos/old-gold-item/middleware.js +10 -0
  19. package/.medusa/server/src/api/pos/old-gold-item/route.js +52 -0
  20. package/.medusa/server/src/api/pos/platinumdata/middleware.js +13 -0
  21. package/.medusa/server/src/api/pos/platinumdata/route.js +41 -0
  22. package/.medusa/server/src/api/pos/silverdata/middleware.js +13 -0
  23. package/.medusa/server/src/api/pos/silverdata/route.js +41 -0
  24. package/.medusa/server/src/api/pos/wallet-balance/middleware.js +13 -0
  25. package/.medusa/server/src/api/pos/wallet-balance/route.js +68 -0
  26. package/.medusa/server/src/api/store/custom-price/validators.js +2 -2
  27. package/.medusa/server/src/api/store/customer-ledger/middleware.js +13 -0
  28. package/.medusa/server/src/api/store/customer-ledger/route.js +49 -0
  29. package/.medusa/server/src/api/store/gold-rate/validators.js +2 -2
  30. package/.medusa/server/src/api/store/middleware.js +5 -1
  31. package/.medusa/server/src/api/store/wallet-balance/middleware.js +13 -0
  32. package/.medusa/server/src/api/store/wallet-balance/route.js +67 -0
  33. package/.medusa/server/src/jobs/process-erp-events.js +247 -0
  34. package/.medusa/server/src/jobs/process-variant-option-sync.js +43 -28
  35. package/.medusa/server/src/jobs/sync-addless-detail.js +60 -0
  36. package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +89 -0
  37. package/.medusa/server/src/jobs/sync-item-master.js +20 -0
  38. package/.medusa/server/src/jobs/sync-labour-chart-master.js +20 -0
  39. package/.medusa/server/src/jobs/sync-payment-book-master.js +63 -0
  40. package/.medusa/server/src/jobs/sync-rate-chart-master.js +20 -0
  41. package/.medusa/server/src/jobs/sync-report-master.js +46 -0
  42. package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +29 -0
  43. package/.medusa/server/src/lib/api-response.js +2 -1
  44. package/.medusa/server/src/links/jewel-trans-master.js +13 -0
  45. package/.medusa/server/src/links/order-master.js +13 -0
  46. package/.medusa/server/src/links/sale-master.js +13 -0
  47. package/.medusa/server/src/modules/addless-detail/index.js +13 -0
  48. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
  49. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
  50. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260226053037.js +15 -0
  51. package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
  52. package/.medusa/server/src/modules/addless-detail/service.js +10 -0
  53. package/.medusa/server/src/modules/applicable-sale-return-policy/index.js +13 -0
  54. package/.medusa/server/src/modules/applicable-sale-return-policy/migrations/Migration20260123083526.js +15 -0
  55. package/.medusa/server/src/modules/applicable-sale-return-policy/models/applicable-sale-return-policy.js +23 -0
  56. package/.medusa/server/src/modules/applicable-sale-return-policy/service.js +10 -0
  57. package/.medusa/server/src/modules/book-list/index.js +13 -0
  58. package/.medusa/server/src/modules/book-list/migrations/Migration20260123083525.js +15 -0
  59. package/.medusa/server/src/modules/book-list/models/book-list.js +12 -0
  60. package/.medusa/server/src/modules/book-list/service.js +10 -0
  61. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +2 -2
  62. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251031061116.js +2 -2
  63. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251104045912.js +2 -2
  64. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +2 -2
  65. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +2 -2
  66. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +2 -2
  67. package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +2 -2
  68. package/.medusa/server/src/modules/category-master/migrations/Migration20251031061327.js +2 -2
  69. package/.medusa/server/src/modules/category-master/migrations/Migration20251104045755.js +2 -2
  70. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +2 -2
  71. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251031061432.js +2 -2
  72. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251104050102.js +2 -2
  73. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +2 -2
  74. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +2 -2
  75. package/.medusa/server/src/modules/collection-master/migrations/Migration20251031060941.js +2 -2
  76. package/.medusa/server/src/modules/collection-master/migrations/Migration20251104050012.js +2 -2
  77. package/.medusa/server/src/modules/customer-receive-voucher/index.js +13 -0
  78. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20250115000000.js +51 -0
  79. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20260106050934.js +18 -0
  80. package/.medusa/server/src/modules/customer-receive-voucher/models/customer-receive-voucher.js +35 -0
  81. package/.medusa/server/src/modules/customer-receive-voucher/service.js +10 -0
  82. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +2 -2
  83. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +2 -2
  84. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +2 -2
  85. package/.medusa/server/src/modules/discount-master/migrations/Migration20251031061523.js +2 -2
  86. package/.medusa/server/src/modules/discount-master/migrations/Migration20251104050153.js +2 -2
  87. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +2 -2
  88. package/.medusa/server/src/modules/erp/service.js +545 -8
  89. package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +2 -2
  90. package/.medusa/server/src/modules/erp-event/migrations/Migration20250922095956.js +2 -2
  91. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +2 -2
  92. package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +2 -2
  93. package/.medusa/server/src/modules/extended-product/migrations/Migration20251103182726.js +2 -2
  94. package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +2 -2
  95. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202055742.js +2 -2
  96. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202064200.js +2 -2
  97. package/.medusa/server/src/modules/extended-product/migrations/Migration20260323103543.js +14 -0
  98. package/.medusa/server/src/modules/extended-product/models/extended-product.js +2 -1
  99. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +2 -2
  100. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +2 -2
  101. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +2 -2
  102. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +2 -2
  103. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +2 -2
  104. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +2 -2
  105. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +2 -2
  106. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +2 -2
  107. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +2 -2
  108. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +2 -2
  109. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +2 -2
  110. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +2 -2
  111. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +2 -2
  112. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251202055952.js +2 -2
  113. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +18 -0
  114. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -2
  115. package/.medusa/server/src/modules/item-master/index.js +13 -0
  116. package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
  117. package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
  118. package/.medusa/server/src/modules/item-master/service.js +10 -0
  119. package/.medusa/server/src/modules/item-size-master/migrations/Migration20251031111036.js +2 -2
  120. package/.medusa/server/src/modules/jewel-trans-master/index.js +13 -0
  121. package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260226053036.js +57 -0
  122. package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +151 -0
  123. package/.medusa/server/src/modules/jewel-trans-master/service.js +16 -0
  124. package/.medusa/server/src/modules/labour-chart-master/index.js +13 -0
  125. package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +15 -0
  126. package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +16 -0
  127. package/.medusa/server/src/modules/labour-chart-master/service.js +10 -0
  128. package/.medusa/server/src/modules/material-purchase-master/index.js +13 -0
  129. package/.medusa/server/src/modules/material-purchase-master/migrations/Migration20260310090700.js +18 -0
  130. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-detail-line.js +24 -0
  131. package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-master.js +21 -0
  132. package/.medusa/server/src/modules/material-purchase-master/service.js +12 -0
  133. package/.medusa/server/src/modules/order-master/index.js +13 -0
  134. package/.medusa/server/src/modules/order-master/migrations/Migration20260226053036.js +29 -0
  135. package/.medusa/server/src/modules/order-master/migrations/Migration20260303000001.js +30 -0
  136. package/.medusa/server/src/modules/order-master/migrations/Migration20260319094758.js +26 -0
  137. package/.medusa/server/src/modules/order-master/migrations/Migration20260320000001.js +19 -0
  138. package/.medusa/server/src/modules/order-master/models/order-master.js +112 -0
  139. package/.medusa/server/src/modules/order-master/service.js +13 -0
  140. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +2 -2
  141. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +2 -2
  142. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +2 -2
  143. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +2 -2
  144. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +2 -2
  145. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +2 -2
  146. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +2 -2
  147. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +2 -2
  148. package/.medusa/server/src/modules/party-master/migrations/Migration20251031061657.js +2 -2
  149. package/.medusa/server/src/modules/party-master/migrations/Migration20251104050242.js +2 -2
  150. package/.medusa/server/src/modules/payment-book-master/index.js +13 -0
  151. package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +15 -0
  152. package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +12 -0
  153. package/.medusa/server/src/modules/payment-book-master/service.js +10 -0
  154. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +2 -2
  155. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +2 -2
  156. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251031061829.js +2 -2
  157. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251104050332.js +2 -2
  158. package/.medusa/server/src/modules/quality-master/migrations/Migration20251031095211.js +2 -2
  159. package/.medusa/server/src/modules/quality-master/migrations/Migration20251105045114.js +2 -2
  160. package/.medusa/server/src/modules/rate-chart-master/index.js +13 -0
  161. package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +15 -0
  162. package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +13 -0
  163. package/.medusa/server/src/modules/rate-chart-master/service.js +10 -0
  164. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +2 -2
  165. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +2 -2
  166. package/.medusa/server/src/modules/raw-master/migrations/Migration20251031061912.js +2 -2
  167. package/.medusa/server/src/modules/report-master/index.js +13 -0
  168. package/.medusa/server/src/modules/report-master/migrations/Migration20260121060955.js +15 -0
  169. package/.medusa/server/src/modules/report-master/migrations/Migration20260121112624.js +15 -0
  170. package/.medusa/server/src/modules/report-master/models/report-master.js +12 -0
  171. package/.medusa/server/src/modules/report-master/service.js +10 -0
  172. package/.medusa/server/src/modules/sale-master/index.js +13 -0
  173. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205092935.js +15 -0
  174. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205100000.js +16 -0
  175. package/.medusa/server/src/modules/sale-master/models/sale-master.js +27 -0
  176. package/.medusa/server/src/modules/sale-master/service.js +10 -0
  177. package/.medusa/server/src/modules/sale-return-master/index.js +13 -0
  178. package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260205093034.js +15 -0
  179. package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +16 -0
  180. package/.medusa/server/src/modules/sale-return-master/service.js +10 -0
  181. package/.medusa/server/src/modules/sale-return-policy-master/index.js +13 -0
  182. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260105061449.js +21 -0
  183. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129084920.js +14 -0
  184. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129085620.js +20 -0
  185. package/.medusa/server/src/modules/sale-return-policy-master/models/sale-return-policy-master.js +37 -0
  186. package/.medusa/server/src/modules/sale-return-policy-master/service.js +12 -0
  187. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +2 -2
  188. package/.medusa/server/src/modules/shape-master/migrations/Migration20251031062019.js +2 -2
  189. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +2 -2
  190. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +2 -2
  191. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251031062128.js +2 -2
  192. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251104050501.js +2 -2
  193. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251203083315.js +2 -2
  194. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +2 -2
  195. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +2 -2
  196. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +2 -2
  197. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +2 -2
  198. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +2 -2
  199. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +2 -2
  200. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251031062303.js +2 -2
  201. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251104050743.js +2 -2
  202. package/.medusa/server/src/modules/tone-master/migrations/Migration20251031104320.js +2 -2
  203. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251101082220.js +2 -2
  204. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251103123857.js +2 -2
  205. package/.medusa/server/src/subscribers/cutomer-updated.js +3 -1
  206. package/.medusa/server/src/subscribers/order-item-update.js +11 -0
  207. package/.medusa/server/src/subscribers/party-master.js +36 -35
  208. package/.medusa/server/src/subscribers/shipping-info-master.js +3 -3
  209. package/.medusa/server/src/utils/build-redis-key.js +3 -1
  210. package/.medusa/server/src/utils/state-helper.js +3 -2
  211. package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
  212. package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
  213. package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
  214. package/.medusa/server/src/workflows/applicable-sale-return-policy/index.js +11 -0
  215. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/create-or-update-applicable-sale-return-policy.js +74 -0
  216. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/fetch-applicable-sale-return-policy.js +64 -0
  217. package/.medusa/server/src/workflows/book-list/index.js +11 -0
  218. package/.medusa/server/src/workflows/book-list/steps/create-or-update-book-list.js +55 -0
  219. package/.medusa/server/src/workflows/book-list/steps/fetch-book-list.js +64 -0
  220. package/.medusa/server/src/workflows/customer-advance-payment/index.js +18 -0
  221. package/.medusa/server/src/workflows/customer-advance-payment/steps/create-receive-voucher.js +71 -0
  222. package/.medusa/server/src/workflows/customer-advance-payment/steps/index.js +18 -0
  223. package/.medusa/server/src/workflows/customer-advance-payment/workflows/create-receive-voucher-workflow.js +11 -0
  224. package/.medusa/server/src/workflows/customer-advance-payment/workflows/index.js +18 -0
  225. package/.medusa/server/src/workflows/helpers/product-helper.js +215 -18
  226. package/.medusa/server/src/workflows/helpers/variant-helper.js +165 -162
  227. package/.medusa/server/src/workflows/hooks/product-updated.js +6 -11
  228. package/.medusa/server/src/workflows/index.js +3 -1
  229. package/.medusa/server/src/workflows/inward-master/helper/index.js +5 -1
  230. package/.medusa/server/src/workflows/inward-master/steps/index.js +2 -1
  231. package/.medusa/server/src/workflows/inward-master/steps/update-inward-price-only.js +47 -0
  232. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +6 -3
  233. package/.medusa/server/src/workflows/inward-master/workflows/index.js +2 -1
  234. package/.medusa/server/src/workflows/inward-master/workflows/update-inward-price-only.js +99 -0
  235. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +6 -2
  236. package/.medusa/server/src/workflows/item-master/index.js +11 -0
  237. package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
  238. package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
  239. package/.medusa/server/src/workflows/jewel-trans-master/index.js +18 -0
  240. package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +370 -0
  241. package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +18 -0
  242. package/.medusa/server/src/workflows/labour-chart-master/index.js +11 -0
  243. package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +38 -0
  244. package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +31 -0
  245. package/.medusa/server/src/workflows/material-purchase-master/index.js +24 -0
  246. package/.medusa/server/src/workflows/material-purchase-master/steps/create-material-purchase-master.js +79 -0
  247. package/.medusa/server/src/workflows/material-purchase-master/steps/delete-material-purchase-master.js +81 -0
  248. package/.medusa/server/src/workflows/material-purchase-master/steps/fetch-material-purchase-master.js +60 -0
  249. package/.medusa/server/src/workflows/material-purchase-master/steps/update-material-purchase-master.js +100 -0
  250. package/.medusa/server/src/workflows/order-master/index.js +3 -0
  251. package/.medusa/server/src/workflows/order-master/order-master-webhook.js +24 -0
  252. package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +275 -0
  253. package/.medusa/server/src/workflows/order-master/steps/delete-order-master-by-erp-ids.js +61 -0
  254. package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +917 -0
  255. package/.medusa/server/src/workflows/orders/steps/find-nearest-pincodes-step.js +336 -0
  256. package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +77 -0
  257. package/.medusa/server/src/workflows/orders/steps/index.js +14 -1
  258. package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +185 -0
  259. package/.medusa/server/src/workflows/orders/steps/sync-buyback-to-erp-step.js +99 -0
  260. package/.medusa/server/src/workflows/orders/steps/sync-cancel-to-erp-step.js +120 -0
  261. package/.medusa/server/src/workflows/orders/steps/sync-exchange-to-erp-step.js +101 -0
  262. package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +161 -0
  263. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +625 -18
  264. package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +148 -0
  265. package/.medusa/server/src/workflows/orders/steps/update-old-gold-sync-status-step.js +64 -0
  266. package/.medusa/server/src/workflows/orders/utils/order-helper.js +161 -36
  267. package/.medusa/server/src/workflows/orders/utils/order-request-helper.js +222 -0
  268. package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +10 -0
  269. package/.medusa/server/src/workflows/orders/workflows/index.js +3 -1
  270. package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +21 -0
  271. package/.medusa/server/src/workflows/orders/workflows/sync-old-gold-to-erp.js +24 -0
  272. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +54 -5
  273. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +53 -33
  274. package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +115 -0
  275. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -1
  276. package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
  277. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +2 -2
  278. package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
  279. package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
  280. package/.medusa/server/src/workflows/party-style-master/steps/index.js +2 -1
  281. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-price-only.js +111 -0
  282. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +16 -249
  283. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +103 -22
  284. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master-price-only.js +90 -0
  285. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +16 -10
  286. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +2 -1
  287. package/.medusa/server/src/workflows/payment-book-master/index.js +11 -0
  288. package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +37 -0
  289. package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +64 -0
  290. package/.medusa/server/src/workflows/rate-chart-master/index.js +11 -0
  291. package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +25 -0
  292. package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +31 -0
  293. package/.medusa/server/src/workflows/report-master/index.js +11 -0
  294. package/.medusa/server/src/workflows/report-master/steps/create-or-update-report-master.js +53 -0
  295. package/.medusa/server/src/workflows/report-master/steps/fetch-report.js +71 -0
  296. package/.medusa/server/src/workflows/sale-master/index.js +24 -0
  297. package/.medusa/server/src/workflows/sale-master/steps/create-sale-master.js +72 -0
  298. package/.medusa/server/src/workflows/sale-master/steps/delete-sale-master.js +59 -0
  299. package/.medusa/server/src/workflows/sale-master/steps/update-sale-master.js +95 -0
  300. package/.medusa/server/src/workflows/sale-return-master/index.js +24 -0
  301. package/.medusa/server/src/workflows/sale-return-master/steps/create-sale-return-master.js +45 -0
  302. package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master.js +36 -0
  303. package/.medusa/server/src/workflows/sale-return-master/steps/update-sale-return-master.js +53 -0
  304. package/.medusa/server/src/workflows/sale-return-policy-master/index.js +11 -0
  305. package/.medusa/server/src/workflows/sale-return-policy-master/steps/create-or-update-sale-return-policy-master.js +91 -0
  306. package/.medusa/server/src/workflows/sale-return-policy-master/steps/fetch-sale-return-policy.js +31 -0
  307. package/.medusa/server/src/workflows/style-master/steps/index.js +2 -1
  308. package/.medusa/server/src/workflows/style-master/steps/update-style-price-only.js +105 -0
  309. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master-price-only.js +104 -0
  310. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +91 -8
  311. package/.medusa/server/src/workflows/style-master/workflows/index.js +2 -1
  312. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +6 -8
  313. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +9 -3
  314. package/package.json +14 -32
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findNearestPincodesStep = void 0;
4
+ exports.findNearestPincodes = findNearestPincodes;
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ const framework_1 = require("@medusajs/framework");
8
+ /**
9
+ * Core function to find nearest pincodes using Ola Krutrim Maps APIs
10
+ * Can be used directly or through the step
11
+ */
12
+ async function findNearestPincodes(input, log) {
13
+ const { sourcePincode, targetPincodes, limit = 5 } = input;
14
+ const logInstance = log || console;
15
+ if (!sourcePincode || !targetPincodes || targetPincodes.length === 0) {
16
+ logInstance.warn("[findNearestPincodes] Missing required input parameters");
17
+ return {
18
+ nearestPincodes: [],
19
+ sourcePincode: sourcePincode || "",
20
+ };
21
+ }
22
+ const apiKey = process.env.OLAKRUTRIM_MAPS_API_KEY;
23
+ const baseUrl = process.env.OLAKRUTRIM_MAPS_BASE_URL || "https://api.olamaps.io";
24
+ // Allow custom endpoint paths via environment variables
25
+ const geocodeEndpoint = "/places/v1/geocode";
26
+ const distanceMatrixEndpoint = "/routing/v1/distanceMatrix";
27
+ if (!apiKey) {
28
+ logInstance.error("[findNearestPincodes] OLAKRUTRIM_MAPS_API_KEY missing");
29
+ throw new Error("Ola Krutrim Maps API key is not configured");
30
+ }
31
+ logInstance.info(`[findNearestPincodes] Finding nearest pincodes for source: ${sourcePincode}, targets: ${targetPincodes.length}`);
32
+ logInstance.info(`[findNearestPincodes] Using Maps API baseUrl: ${baseUrl}`);
33
+ logInstance.info(`[findNearestPincodes] Using geocode endpoint: ${geocodeEndpoint}`);
34
+ // Ola Maps API uses api_key as query parameter, not Bearer token
35
+ // Step 1: Geocode source pincode to get coordinates
36
+ const sourceGeocodeUrl = `${baseUrl}${geocodeEndpoint}?address=${encodeURIComponent(sourcePincode)}&api_key=${encodeURIComponent(apiKey)}`;
37
+ logInstance.info(`[findNearestPincodes] Calling source geocode API: ${sourceGeocodeUrl}`);
38
+ let sourceGeocodeData;
39
+ try {
40
+ const sourceGeocodeResponse = await fetch(sourceGeocodeUrl);
41
+ if (!sourceGeocodeResponse.ok) {
42
+ const errorText = await sourceGeocodeResponse.text().catch(() => "Unknown error");
43
+ logInstance.error(`[findNearestPincodes] Source geocode API returned ${sourceGeocodeResponse.status} ${sourceGeocodeResponse.statusText}`);
44
+ logInstance.error(`[findNearestPincodes] API URL: ${sourceGeocodeUrl}`);
45
+ logInstance.error(`[findNearestPincodes] Response preview: ${errorText.substring(0, 300)}`);
46
+ // Provide helpful error message based on status code
47
+ if (sourceGeocodeResponse.status === 404) {
48
+ const errorMsg = `Maps API endpoint not found (404). ` +
49
+ `Current URL: ${sourceGeocodeUrl}. ` +
50
+ `\nPossible issues:` +
51
+ `\n1. The endpoint path may be incorrect. Try setting OLAKRUTRIM_MAPS_GEOCODE_ENDPOINT environment variable.` +
52
+ `\n2. The baseUrl may be incorrect. Current: ${baseUrl}. Try setting OLAKRUTRIM_MAPS_BASE_URL.` +
53
+ `\n3. The API may require a different endpoint structure. Check Ola Krutrim Maps API documentation.` +
54
+ `\n4. The baseUrl might be pointing to a frontend application instead of the API server.`;
55
+ throw new Error(errorMsg);
56
+ }
57
+ else if (sourceGeocodeResponse.status === 401 || sourceGeocodeResponse.status === 403) {
58
+ throw new Error(`Maps API authentication failed (${sourceGeocodeResponse.status}). ` +
59
+ `Please verify the OLAKRUTRIM_MAPS_API_KEY is valid and has the required permissions.`);
60
+ }
61
+ else {
62
+ throw new Error(`Source geocode API error: ${sourceGeocodeResponse.status} ${sourceGeocodeResponse.statusText}. ` +
63
+ `Response: ${errorText.substring(0, 200)}`);
64
+ }
65
+ }
66
+ // Read response text once (can only be read once)
67
+ const responseText = await sourceGeocodeResponse.text().catch(() => "Unable to read response");
68
+ // Check content type before parsing JSON
69
+ const contentType = sourceGeocodeResponse.headers.get("content-type");
70
+ if (!contentType || !contentType.includes("application/json")) {
71
+ throw new Error(`Expected JSON response but received ${contentType}. Response: ${responseText.substring(0, 200)}`);
72
+ }
73
+ try {
74
+ sourceGeocodeData = JSON.parse(responseText);
75
+ logInstance.info(`[findNearestPincodes] Successfully geocoded source pincode ${sourcePincode}`);
76
+ }
77
+ catch (parseError) {
78
+ logInstance.error(`[findNearestPincodes] Failed to parse JSON response for source pincode ${sourcePincode}`);
79
+ throw new Error(`Failed to parse JSON response: ${parseError.message}. ` +
80
+ `Response: ${responseText.substring(0, 200)}`);
81
+ }
82
+ }
83
+ catch (error) {
84
+ logInstance.error(`[findNearestPincodes] Error geocoding source pincode ${sourcePincode}:`, error);
85
+ // Re-throw the error with the original message (it already has helpful context)
86
+ throw error;
87
+ }
88
+ // Ola Maps API response structure: { geocodingResults: [...], status: "ok" }
89
+ if (sourceGeocodeData.status !== "ok" ||
90
+ !sourceGeocodeData?.geocodingResults?.length) {
91
+ logInstance.error(`[findNearestPincodes] Failed to geocode source pincode: ${sourcePincode}. Status: ${sourceGeocodeData.status}`);
92
+ throw new Error(`Failed to geocode source pincode: ${sourcePincode}`);
93
+ }
94
+ const sourceLocation = sourceGeocodeData.geocodingResults[0].geometry?.location;
95
+ if (!sourceLocation) {
96
+ throw new Error(`Source location missing for pincode: ${sourcePincode}`);
97
+ }
98
+ const sourceAddress = `${sourceLocation.lat},${sourceLocation.lng}`;
99
+ // Step 2: Geocode all target pincodes
100
+ const targetGeocodePromises = targetPincodes.map(async (pincode) => {
101
+ const geocodeUrl = `${baseUrl}${geocodeEndpoint}?address=${encodeURIComponent(pincode)}&api_key=${encodeURIComponent(apiKey)}`;
102
+ try {
103
+ const response = await fetch(geocodeUrl);
104
+ if (!response.ok) {
105
+ const errorText = await response.text().catch(() => "Unknown error");
106
+ logInstance.warn(`[findNearestPincodes] Target geocode API error for pincode ${pincode}: ${response.status} ${response.statusText}`);
107
+ return null;
108
+ }
109
+ // Read response text once (can only be read once)
110
+ const responseText = await response.text().catch(() => "Unable to read response");
111
+ // Check content type before parsing JSON
112
+ const contentType = response.headers.get("content-type");
113
+ if (!contentType || !contentType.includes("application/json")) {
114
+ logInstance.warn(`[findNearestPincodes] Expected JSON but received ${contentType} for pincode ${pincode}. Response: ${responseText.substring(0, 100)}`);
115
+ return null;
116
+ }
117
+ let data;
118
+ try {
119
+ data = JSON.parse(responseText);
120
+ }
121
+ catch (parseError) {
122
+ logInstance.warn(`[findNearestPincodes] Failed to parse JSON for pincode ${pincode}: ${parseError.message}. Response: ${responseText.substring(0, 100)}`);
123
+ return null;
124
+ }
125
+ // Ola Maps API response structure: { geocodingResults: [...], status: "ok" }
126
+ const geoResult = data?.geocodingResults?.[0]?.geometry?.location ||
127
+ data?.geocodes?.[0]?.geometry?.location ||
128
+ data?.results?.[0]?.geometry?.location;
129
+ if ((data.status === "ok" || data.status === "OK") && geoResult) {
130
+ return {
131
+ pincode,
132
+ location: geoResult,
133
+ address: `${geoResult.lat},${geoResult.lng}`,
134
+ };
135
+ }
136
+ return null;
137
+ }
138
+ catch (error) {
139
+ logInstance.warn(`[findNearestPincodes] Failed to geocode pincode ${pincode}:`, error?.message || error);
140
+ return null;
141
+ }
142
+ });
143
+ const targetLocations = (await Promise.all(targetGeocodePromises)).filter((loc) => loc !== null);
144
+ if (targetLocations.length === 0) {
145
+ logInstance.warn("[findNearestPincodes] No valid target pincodes found after geocoding");
146
+ return {
147
+ nearestPincodes: [],
148
+ sourcePincode,
149
+ };
150
+ }
151
+ // Step 3: Use Distance Matrix API to get distances
152
+ // Ola Maps Distance Matrix API allows multiple origins and destinations
153
+ const BATCH_SIZE = 25;
154
+ const distances = new Map();
155
+ for (let i = 0; i < targetLocations.length; i += BATCH_SIZE) {
156
+ const batch = targetLocations.slice(i, i + BATCH_SIZE);
157
+ // Format: lat,lng|lat,lng (comma-separated coordinates, pipe-separated destinations)
158
+ const destinations = batch.map((loc) => loc.address).join("|");
159
+ // Ola Maps API format: origins=lat,lng&destinations=lat,lng|lat,lng
160
+ const distanceMatrixUrl = `${baseUrl}${distanceMatrixEndpoint}?origins=${encodeURIComponent(sourceAddress)}&destinations=${encodeURIComponent(destinations)}&api_key=${encodeURIComponent(apiKey)}`;
161
+ try {
162
+ const response = await fetch(distanceMatrixUrl, {
163
+ headers: {
164
+ "X-Request-Id": `find-nearest-pincodes-${Date.now()}-${i}`,
165
+ },
166
+ });
167
+ if (!response.ok) {
168
+ const errorText = await response.text().catch(() => "Unknown error");
169
+ logInstance.error(`[findNearestPincodes] Distance matrix API error for batch ${i}: ${response.status} ${response.statusText}. Response: ${errorText.substring(0, 200)}`);
170
+ continue; // Skip this batch and continue with next
171
+ }
172
+ // Read response text once (can only be read once)
173
+ const responseText = await response.text().catch(() => "Unable to read response");
174
+ // Check content type before parsing JSON
175
+ const contentType = response.headers.get("content-type");
176
+ if (!contentType || !contentType.includes("application/json")) {
177
+ logInstance.error(`[findNearestPincodes] Expected JSON but received ${contentType} for distance matrix batch ${i}. Response: ${responseText.substring(0, 200)}`);
178
+ continue; // Skip this batch and continue with next
179
+ }
180
+ let data;
181
+ try {
182
+ data = JSON.parse(responseText);
183
+ }
184
+ catch (parseError) {
185
+ logInstance.error(`[findNearestPincodes] Failed to parse JSON for distance matrix batch ${i}: ${parseError.message}. Response: ${responseText.substring(0, 200)}`);
186
+ continue; // Skip this batch and continue with next
187
+ }
188
+ // Ola Maps API response format: { rows: [{ elements: [...] }], status: "success" or "ok" }
189
+ const matrixRows = data?.rows || data?.matrix || [];
190
+ const status = (data?.status?.toLowerCase() || data?.status || "").toLowerCase();
191
+ logInstance.info(`[findNearestPincodes] Distance matrix API response status: ${status}, rows count: ${matrixRows.length}`);
192
+ // Log full response structure for first batch to debug
193
+ if (i === 0) {
194
+ logInstance.info(`[findNearestPincodes] Full distance matrix response structure: ${JSON.stringify(data, null, 2).substring(0, 1000)}`);
195
+ }
196
+ // Accept both "success" and "ok" status
197
+ if ((status === "ok" || status === "success") && matrixRows.length > 0 && matrixRows[0]?.elements) {
198
+ logInstance.info(`[findNearestPincodes] Processing ${matrixRows[0].elements.length} distance matrix elements`);
199
+ matrixRows[0].elements.forEach((element, index) => {
200
+ if (index >= batch.length) {
201
+ logInstance.warn(`[findNearestPincodes] Element index ${index} exceeds batch size ${batch.length}`);
202
+ return;
203
+ }
204
+ const pincode = batch[index]?.pincode;
205
+ const elementStatus = (element.status?.toLowerCase() || element.status || "").toLowerCase();
206
+ // Log full element structure for debugging (first time only)
207
+ if (index === 0) {
208
+ logInstance.info(`[findNearestPincodes] Sample element structure: ${JSON.stringify(element, null, 2).substring(0, 500)}`);
209
+ }
210
+ // Ola Maps API distance structure (similar to Google Maps API format)
211
+ // Standard format: { distance: { value: number (meters), text: string }, duration: {...}, status: string }
212
+ // Following the same pattern as maps-service which uses element.distance.value
213
+ let distanceMeters = null;
214
+ // Log element structure for first element to debug
215
+ if (index === 0) {
216
+ logInstance.info(`[findNearestPincodes] Sample element structure: ${JSON.stringify(element, null, 2).substring(0, 800)}`);
217
+ }
218
+ // Primary check: element.distance.value (standard format like Google Maps API and maps-service)
219
+ // This is the same pattern used in maps-service/service.ts line 262
220
+ if (element.distance && typeof element.distance === 'object' && element.distance.value !== undefined && element.distance.value !== null) {
221
+ distanceMeters = Number(element.distance.value);
222
+ logInstance.info(`[findNearestPincodes] ✓ Found distance in element.distance.value: ${distanceMeters} meters (same format as maps-service)`);
223
+ }
224
+ // Fallback: Check for alternative Ola Maps API structures
225
+ else if (element.distanceMeters !== undefined && element.distanceMeters !== null) {
226
+ distanceMeters = Number(element.distanceMeters);
227
+ logInstance.info(`[findNearestPincodes] ✓ Found distance in element.distanceMeters: ${distanceMeters} meters`);
228
+ }
229
+ else if (element.distance && typeof element.distance === 'number') {
230
+ distanceMeters = Number(element.distance);
231
+ logInstance.info(`[findNearestPincodes] ✓ Found distance as direct number: ${distanceMeters} meters`);
232
+ }
233
+ else if (element.distance?.meters !== undefined && element.distance?.meters !== null) {
234
+ distanceMeters = Number(element.distance.meters);
235
+ logInstance.info(`[findNearestPincodes] ✓ Found distance in element.distance.meters: ${distanceMeters} meters`);
236
+ }
237
+ // If still null, try recursive extraction from nested structures
238
+ if (distanceMeters === null) {
239
+ const tryExtractDistance = (obj, depth = 0) => {
240
+ if (depth > 3)
241
+ return null; // Prevent infinite recursion
242
+ if (typeof obj === 'number' && obj > 0 && obj < 10000000)
243
+ return obj;
244
+ if (typeof obj !== 'object' || obj === null)
245
+ return null;
246
+ for (const key in obj) {
247
+ const value = obj[key];
248
+ if (key.toLowerCase().includes('distance') || key.toLowerCase().includes('meter') || key.toLowerCase().includes('km')) {
249
+ if (typeof value === 'number' && value > 0)
250
+ return value;
251
+ if (typeof value === 'object' && value !== null) {
252
+ const nested = tryExtractDistance(value, depth + 1);
253
+ if (nested !== null)
254
+ return nested;
255
+ }
256
+ }
257
+ }
258
+ return null;
259
+ };
260
+ const extractedDistance = tryExtractDistance(element);
261
+ if (extractedDistance !== null) {
262
+ distanceMeters = extractedDistance;
263
+ logInstance.info(`[findNearestPincodes] ✓ Extracted distance from nested structure: ${distanceMeters} meters`);
264
+ }
265
+ else {
266
+ // Log all available keys for debugging
267
+ const elementKeys = Object.keys(element || {});
268
+ logInstance.error(`[findNearestPincodes] ✗ Distance not found. Element keys: ${elementKeys.join(", ")}. Full element: ${JSON.stringify(element, null, 2)}`);
269
+ }
270
+ }
271
+ // Accept both "ok" and "success" status for elements, and require distance to be a valid number
272
+ if ((elementStatus === "ok" || elementStatus === "success") && distanceMeters !== null && !isNaN(distanceMeters) && distanceMeters > 0) {
273
+ const distanceKm = distanceMeters / 1000;
274
+ distances.set(pincode, distanceKm);
275
+ logInstance.info(`[findNearestPincodes] ✓ Distance from ${sourcePincode} to ${pincode}: ${distanceKm.toFixed(2)} km (${distanceMeters} meters)`);
276
+ }
277
+ else {
278
+ logInstance.warn(`[findNearestPincodes] ✗ Distance matrix element failed for pincode ${pincode}: status=${elementStatus}, distanceMeters=${distanceMeters}, isValid=${distanceMeters !== null && !isNaN(distanceMeters) && distanceMeters > 0}`);
279
+ }
280
+ });
281
+ }
282
+ else {
283
+ logInstance.error(`[findNearestPincodes] Distance matrix API response invalid. Status: ${status}, Has rows: ${!!matrixRows.length}, Response keys: ${JSON.stringify(Object.keys(data || {}))}`);
284
+ // Log full response for debugging (first 500 chars)
285
+ logInstance.error(`[findNearestPincodes] Full response preview: ${JSON.stringify(data).substring(0, 500)}`);
286
+ }
287
+ }
288
+ catch (error) {
289
+ logInstance.error(`[findNearestPincodes] Error fetching distance matrix batch ${i}:`, error?.message || error);
290
+ }
291
+ }
292
+ if (distances.size === 0) {
293
+ const errorMsg = `No distances calculated for source pincode ${sourcePincode} and target pincodes: ${targetPincodes.join(", ")}. This may indicate an issue with the distance matrix API response format.`;
294
+ logInstance.error(`[findNearestPincodes] ${errorMsg}`);
295
+ throw new Error(errorMsg);
296
+ }
297
+ // Step 4: Sort by distance and return top N
298
+ const pincodeDistances = Array.from(distances.entries()).map(([pincode, distance]) => ({
299
+ pincode,
300
+ distance,
301
+ }));
302
+ pincodeDistances.sort((a, b) => a.distance - b.distance);
303
+ const nearestPincodes = pincodeDistances.slice(0, limit);
304
+ logInstance.info(`[findNearestPincodes] Found ${nearestPincodes.length} nearest pincodes: ${nearestPincodes.map(p => `${p.pincode} (${p.distance.toFixed(2)}km)`).join(", ")}`);
305
+ // Ensure we always return at least one result if we have any distances
306
+ if (nearestPincodes.length === 0 && distances.size > 0) {
307
+ logInstance.warn("[findNearestPincodes] No pincodes after sorting, but distances exist. Returning first available.");
308
+ const firstDistance = Array.from(distances.entries())[0];
309
+ return {
310
+ nearestPincodes: [{
311
+ pincode: firstDistance[0],
312
+ distance: firstDistance[1],
313
+ }],
314
+ sourcePincode,
315
+ };
316
+ }
317
+ return {
318
+ nearestPincodes,
319
+ sourcePincode,
320
+ };
321
+ }
322
+ /**
323
+ * Find nearest pincodes using Ola Krutrim Maps Distance Matrix API
324
+ */
325
+ exports.findNearestPincodesStep = (0, workflows_sdk_1.createStep)("find-nearest-pincodes-step", async (input, { container }) => {
326
+ const log = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER) || framework_1.logger;
327
+ try {
328
+ const result = await findNearestPincodes(input, log);
329
+ return new workflows_sdk_1.StepResponse(result);
330
+ }
331
+ catch (error) {
332
+ log.error(`[findNearestPincodesStep] Error finding nearest pincodes:`, error);
333
+ throw new Error(`Failed to find nearest pincodes: ${error.message || error}`);
334
+ }
335
+ });
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1uZWFyZXN0LXBpbmNvZGVzLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy9zdGVwcy9maW5kLW5lYXJlc3QtcGluY29kZXMtc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3QkEsa0RBOGJDO0FBdGRELHFFQUE2RTtBQUM3RSxxREFBc0U7QUFDdEUsbURBQTZDO0FBa0I3Qzs7O0dBR0c7QUFDSSxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLEtBQStCLEVBQy9CLEdBQVM7SUFFVCxNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzNELE1BQU0sV0FBVyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUM7SUFFbkMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JFLFdBQVcsQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztRQUM1RSxPQUFPO1lBQ0wsZUFBZSxFQUFFLEVBQUU7WUFDbkIsYUFBYSxFQUFFLGFBQWEsSUFBSSxFQUFFO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztJQUNuRCxNQUFNLE9BQU8sR0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixJQUFJLHdCQUF3QixDQUFDO0lBQ25FLHdEQUF3RDtJQUN4RCxNQUFNLGVBQWUsR0FBSSxvQkFBb0IsQ0FBQztJQUM5QyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDO0lBRTVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLFdBQVcsQ0FBQyxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUMzRSxNQUFNLElBQUksS0FBSyxD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
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTodayGoldRateStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const framework_1 = require("@medusajs/framework");
7
+ const erp_1 = require("../../../modules/erp");
8
+ const quality_master_1 = require("../../../modules/quality-master");
9
+ const build_redis_key_1 = require("../../../utils/build-redis-key");
10
+ exports.getTodayGoldRateStep = (0, workflows_sdk_1.createStep)("get-today-gold-rate-step", async (_, { container }) => {
11
+ const cacheService = container.resolve(utils_1.Modules.CACHE);
12
+ const erpService = container.resolve(erp_1.ERP_MODULE);
13
+ const qualityMasterService = container.resolve(quality_master_1.QUALITY_MASTER_MODULE);
14
+ const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:gold-rate", {});
15
+ const cachedResult = await cacheService.get(cacheKey);
16
+ if (cachedResult) {
17
+ framework_1.logger.info("[POS-GOLD-RATE] : Returning cached result");
18
+ return new workflows_sdk_1.StepResponse(cachedResult);
19
+ }
20
+ framework_1.logger.info("[POS-GOLD-RATE] : Cache miss, fetching from ERP and quality master");
21
+ // Fetch all quality masters for all purities (14, 18, 22) to calculate rates correctly
22
+ let qly14, qly18, qly22;
23
+ try {
24
+ [qly14, qly18, qly22] = await Promise.all([
25
+ qualityMasterService.listQualityMasters({
26
+ qly_code: "14",
27
+ }).then((result) => result?.[0] || null),
28
+ qualityMasterService.listQualityMasters({
29
+ qly_code: "18",
30
+ }).then((result) => result?.[0] || null),
31
+ qualityMasterService.listQualityMasters({
32
+ qly_code: "22",
33
+ }).then((result) => result?.[0] || null),
34
+ ]);
35
+ }
36
+ catch (queryError) {
37
+ framework_1.logger.error(`[POS-GOLD-RATE] : Error querying quality masters: ${queryError?.message || JSON.stringify(queryError)}`);
38
+ throw new Error(`Failed to fetch quality masters: ${queryError?.message || "Unknown error"}`);
39
+ }
40
+ if (!qly22?.qly_mfg_clarity ||
41
+ !qly18?.qly_mfg_clarity ||
42
+ !qly14?.qly_mfg_clarity) {
43
+ framework_1.logger.error("[POS-GOLD-RATE] : Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity");
44
+ throw new Error("Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity");
45
+ }
46
+ const goldRateData = (await erpService.getGoldRateData());
47
+ if (!goldRateData?.CurrentGoldRate ||
48
+ goldRateData.CurrentGoldRate.length === 0) {
49
+ framework_1.logger.error("[POS-GOLD-RATE] : No gold rate data available from ERP");
50
+ throw new Error("No gold rate data available from ERP");
51
+ }
52
+ const purity = ["14", "18", "22", "24"];
53
+ const qlyMap = {
54
+ "14": qly14,
55
+ "18": qly18,
56
+ "22": qly22,
57
+ "24": { qly_mfg_clarity: 100 }, // 24K is always 100% purity
58
+ };
59
+ const currentGoldData = goldRateData.CurrentGoldRate?.find((item) => item.RawName === "GOLD");
60
+ const goldRateList = purity
61
+ .map((karat) => {
62
+ const qly = qlyMap[karat];
63
+ if (!qly) {
64
+ return null;
65
+ }
66
+ return {
67
+ rate: `${karat}K`,
68
+ amount: ((currentGoldData?.SaleRate || 0) * qly.qly_mfg_clarity) / 100,
69
+ };
70
+ })
71
+ .filter(Boolean);
72
+ const result = { currentGoldRateList: goldRateList };
73
+ await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.GOLD_RATE);
74
+ framework_1.logger.info(`[POS-GOLD-RATE] : Successfully computed and cached gold rates - Current: ${goldRateList.length} rates`);
75
+ return new workflows_sdk_1.StepResponse(result);
76
+ });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRvZGF5LWdvbGQtcmF0ZS1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlcnMvc3RlcHMvZ2V0LXRvZGF5LWdvbGQtcmF0ZS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBK0U7QUFDL0UsbURBQTZDO0FBRTdDLDhDQUFrRDtBQUNsRCxvRUFBd0U7QUFFeEUsb0VBR3dDO0FBb0IzQixRQUFBLG9CQUFvQixHQUFHLElBQUEsMEJBQVUsRUFDNUMsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3pCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFlLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQVUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sb0JBQW9CLEdBQXlCLFNBQVMsQ0FBQyxPQUFPLENBQ2xFLHNDQUFxQixDQUN0QixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBYSxFQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVwRCxNQUFNLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQW1CLFFBQVEsQ0FBQyxDQUFDO0lBRXhFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsa0JBQU0sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQU0sQ0FBQyxJQUFJLENBQ1Qsb0VBQW9FLENBQ3JFLENBQUM7SUFFRix1RkFBdUY7SUFDdkYsSUFBSSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUV4QixJQUFJLENBQUM7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
@@ -14,5 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.findNearestPincodesStep = exports.findNearestPincodes = void 0;
17
18
  __exportStar(require("./sync-order-to-erp"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DIn0=
19
+ __exportStar(require("./sync-advance-payment-to-erp-step"), exports);
20
+ __exportStar(require("./get-today-gold-rate-step"), exports);
21
+ __exportStar(require("./sync-sale-return-to-erp-step"), exports);
22
+ __exportStar(require("./sync-old-gold-to-erp-step"), exports);
23
+ __exportStar(require("./sync-exchange-to-erp-step"), exports);
24
+ __exportStar(require("./sync-cancel-to-erp-step"), exports);
25
+ __exportStar(require("./sync-buyback-to-erp-step"), exports);
26
+ __exportStar(require("./find-nearest-pincodes-step"), exports);
27
+ // Explicit exports for findNearestPincodes
28
+ var find_nearest_pincodes_step_1 = require("./find-nearest-pincodes-step");
29
+ Object.defineProperty(exports, "findNearestPincodes", { enumerable: true, get: function () { return find_nearest_pincodes_step_1.findNearestPincodes; } });
30
+ Object.defineProperty(exports, "findNearestPincodesStep", { enumerable: true, get: function () { return find_nearest_pincodes_step_1.findNearestPincodesStep; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVycy9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyxxRUFBbUQ7QUFDbkQsNkRBQTJDO0FBQzNDLGlFQUErQztBQUMvQyw4REFBNEM7QUFDNUMsOERBQTRDO0FBQzVDLDREQUEwQztBQUMxQyw2REFBMkM7QUFDM0MsK0RBQTZDO0FBRTdDLDJDQUEyQztBQUMzQywyRUFNc0M7QUFMcEMsaUlBQUEsbUJBQW1CLE9BQUE7QUFDbkIscUlBQUEsdUJBQXVCLE9BQUEifQ==