@devx-commerce/plugin-gati 0.0.34-beta.3 → 0.0.34-beta.31

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 (280) 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 +30 -1
  7. package/.medusa/server/src/api/erp/webhook/route.js +10 -137
  8. package/.medusa/server/src/api/erp/webhook/utils.js +7 -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/gold-rate/validators.js +2 -2
  28. package/.medusa/server/src/jobs/process-erp-events.js +205 -0
  29. package/.medusa/server/src/jobs/process-variant-option-sync.js +43 -28
  30. package/.medusa/server/src/jobs/sync-addless-detail.js +60 -0
  31. package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +89 -0
  32. package/.medusa/server/src/jobs/sync-item-master.js +20 -0
  33. package/.medusa/server/src/jobs/sync-labour-chart-master.js +20 -0
  34. package/.medusa/server/src/jobs/sync-order-erp.js +3 -3
  35. package/.medusa/server/src/jobs/sync-payment-book-master.js +63 -0
  36. package/.medusa/server/src/jobs/sync-rate-chart-master.js +20 -0
  37. package/.medusa/server/src/jobs/sync-report-master.js +40 -0
  38. package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +29 -0
  39. package/.medusa/server/src/lib/api-response.js +2 -1
  40. package/.medusa/server/src/links/jewel-trans-master.js +13 -0
  41. package/.medusa/server/src/links/order-master.js +13 -0
  42. package/.medusa/server/src/links/sale-master.js +13 -0
  43. package/.medusa/server/src/modules/addless-detail/index.js +13 -0
  44. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
  45. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
  46. package/.medusa/server/src/modules/addless-detail/migrations/Migration20260226053037.js +15 -0
  47. package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
  48. package/.medusa/server/src/modules/addless-detail/service.js +10 -0
  49. package/.medusa/server/src/modules/applicable-sale-return-policy/index.js +13 -0
  50. package/.medusa/server/src/modules/applicable-sale-return-policy/migrations/Migration20260123083526.js +15 -0
  51. package/.medusa/server/src/modules/applicable-sale-return-policy/models/applicable-sale-return-policy.js +23 -0
  52. package/.medusa/server/src/modules/applicable-sale-return-policy/service.js +10 -0
  53. package/.medusa/server/src/modules/book-list/index.js +13 -0
  54. package/.medusa/server/src/modules/book-list/migrations/Migration20260123083525.js +15 -0
  55. package/.medusa/server/src/modules/book-list/models/book-list.js +12 -0
  56. package/.medusa/server/src/modules/book-list/service.js +10 -0
  57. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +2 -2
  58. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251031061116.js +2 -2
  59. package/.medusa/server/src/modules/category-group-master/migrations/Migration20251104045912.js +2 -2
  60. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +2 -2
  61. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +2 -2
  62. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +2 -2
  63. package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +2 -2
  64. package/.medusa/server/src/modules/category-master/migrations/Migration20251031061327.js +2 -2
  65. package/.medusa/server/src/modules/category-master/migrations/Migration20251104045755.js +2 -2
  66. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +2 -2
  67. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251031061432.js +2 -2
  68. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251104050102.js +2 -2
  69. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +2 -2
  70. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +2 -2
  71. package/.medusa/server/src/modules/collection-master/migrations/Migration20251031060941.js +2 -2
  72. package/.medusa/server/src/modules/collection-master/migrations/Migration20251104050012.js +2 -2
  73. package/.medusa/server/src/modules/customer-receive-voucher/index.js +13 -0
  74. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20250115000000.js +51 -0
  75. package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20260106050934.js +18 -0
  76. package/.medusa/server/src/modules/customer-receive-voucher/models/customer-receive-voucher.js +35 -0
  77. package/.medusa/server/src/modules/customer-receive-voucher/service.js +10 -0
  78. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +2 -2
  79. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +2 -2
  80. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +2 -2
  81. package/.medusa/server/src/modules/discount-master/migrations/Migration20251031061523.js +2 -2
  82. package/.medusa/server/src/modules/discount-master/migrations/Migration20251104050153.js +2 -2
  83. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +2 -2
  84. package/.medusa/server/src/modules/erp/service.js +542 -8
  85. package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +2 -2
  86. package/.medusa/server/src/modules/erp-event/migrations/Migration20250922095956.js +2 -2
  87. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +2 -2
  88. package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +2 -2
  89. package/.medusa/server/src/modules/extended-product/migrations/Migration20251103182726.js +2 -2
  90. package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +2 -2
  91. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202055742.js +2 -2
  92. package/.medusa/server/src/modules/extended-product/migrations/Migration20251202064200.js +2 -2
  93. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +2 -2
  94. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +2 -2
  95. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +2 -2
  96. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +2 -2
  97. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +2 -2
  98. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +2 -2
  99. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +2 -2
  100. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +2 -2
  101. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +2 -2
  102. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +2 -2
  103. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +2 -2
  104. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +2 -2
  105. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +2 -2
  106. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251202055952.js +2 -2
  107. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +18 -0
  108. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -2
  109. package/.medusa/server/src/modules/item-master/index.js +13 -0
  110. package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
  111. package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
  112. package/.medusa/server/src/modules/item-master/service.js +10 -0
  113. package/.medusa/server/src/modules/item-size-master/migrations/Migration20251031111036.js +2 -2
  114. package/.medusa/server/src/modules/jewel-trans-master/index.js +13 -0
  115. package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260226053036.js +57 -0
  116. package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +151 -0
  117. package/.medusa/server/src/modules/jewel-trans-master/service.js +16 -0
  118. package/.medusa/server/src/modules/labour-chart-master/index.js +13 -0
  119. package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +15 -0
  120. package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +16 -0
  121. package/.medusa/server/src/modules/labour-chart-master/service.js +10 -0
  122. package/.medusa/server/src/modules/order-master/index.js +13 -0
  123. package/.medusa/server/src/modules/order-master/migrations/Migration20260226053036.js +29 -0
  124. package/.medusa/server/src/modules/order-master/models/order-master.js +97 -0
  125. package/.medusa/server/src/modules/order-master/service.js +12 -0
  126. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +2 -2
  127. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +2 -2
  128. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +2 -2
  129. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +2 -2
  130. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +2 -2
  131. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +2 -2
  132. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +2 -2
  133. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +2 -2
  134. package/.medusa/server/src/modules/party-master/migrations/Migration20251031061657.js +2 -2
  135. package/.medusa/server/src/modules/party-master/migrations/Migration20251104050242.js +2 -2
  136. package/.medusa/server/src/modules/payment-book-master/index.js +13 -0
  137. package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +15 -0
  138. package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +12 -0
  139. package/.medusa/server/src/modules/payment-book-master/service.js +10 -0
  140. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +2 -2
  141. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +2 -2
  142. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251031061829.js +2 -2
  143. package/.medusa/server/src/modules/promocode-master/migrations/Migration20251104050332.js +2 -2
  144. package/.medusa/server/src/modules/quality-master/migrations/Migration20251031095211.js +2 -2
  145. package/.medusa/server/src/modules/quality-master/migrations/Migration20251105045114.js +2 -2
  146. package/.medusa/server/src/modules/rate-chart-master/index.js +13 -0
  147. package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +15 -0
  148. package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +13 -0
  149. package/.medusa/server/src/modules/rate-chart-master/service.js +10 -0
  150. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +2 -2
  151. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +2 -2
  152. package/.medusa/server/src/modules/raw-master/migrations/Migration20251031061912.js +2 -2
  153. package/.medusa/server/src/modules/report-master/index.js +13 -0
  154. package/.medusa/server/src/modules/report-master/migrations/Migration20260121060955.js +15 -0
  155. package/.medusa/server/src/modules/report-master/migrations/Migration20260121112624.js +15 -0
  156. package/.medusa/server/src/modules/report-master/models/report-master.js +12 -0
  157. package/.medusa/server/src/modules/report-master/service.js +10 -0
  158. package/.medusa/server/src/modules/sale-master/index.js +13 -0
  159. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205092935.js +15 -0
  160. package/.medusa/server/src/modules/sale-master/migrations/Migration20260205100000.js +16 -0
  161. package/.medusa/server/src/modules/sale-master/models/sale-master.js +27 -0
  162. package/.medusa/server/src/modules/sale-master/service.js +10 -0
  163. package/.medusa/server/src/modules/sale-return-master/index.js +13 -0
  164. package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260205093034.js +15 -0
  165. package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +16 -0
  166. package/.medusa/server/src/modules/sale-return-master/service.js +10 -0
  167. package/.medusa/server/src/modules/sale-return-policy-master/index.js +13 -0
  168. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260105061449.js +21 -0
  169. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129084920.js +14 -0
  170. package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129085620.js +20 -0
  171. package/.medusa/server/src/modules/sale-return-policy-master/models/sale-return-policy-master.js +37 -0
  172. package/.medusa/server/src/modules/sale-return-policy-master/service.js +12 -0
  173. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +2 -2
  174. package/.medusa/server/src/modules/shape-master/migrations/Migration20251031062019.js +2 -2
  175. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +2 -2
  176. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +2 -2
  177. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251031062128.js +2 -2
  178. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251104050501.js +2 -2
  179. package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251203083315.js +2 -2
  180. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +2 -2
  181. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +2 -2
  182. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +2 -2
  183. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +2 -2
  184. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +2 -2
  185. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +2 -2
  186. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251031062303.js +2 -2
  187. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251104050743.js +2 -2
  188. package/.medusa/server/src/modules/tone-master/migrations/Migration20251031104320.js +2 -2
  189. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251101082220.js +2 -2
  190. package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251103123857.js +2 -2
  191. package/.medusa/server/src/subscribers/cutomer-updated.js +3 -1
  192. package/.medusa/server/src/subscribers/order-item-update.js +11 -0
  193. package/.medusa/server/src/subscribers/party-master.js +36 -35
  194. package/.medusa/server/src/subscribers/shipping-info-master.js +3 -3
  195. package/.medusa/server/src/utils/build-redis-key.js +3 -1
  196. package/.medusa/server/src/utils/state-helper.js +3 -2
  197. package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
  198. package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
  199. package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
  200. package/.medusa/server/src/workflows/applicable-sale-return-policy/index.js +11 -0
  201. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/create-or-update-applicable-sale-return-policy.js +74 -0
  202. package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/fetch-applicable-sale-return-policy.js +64 -0
  203. package/.medusa/server/src/workflows/book-list/index.js +11 -0
  204. package/.medusa/server/src/workflows/book-list/steps/create-or-update-book-list.js +55 -0
  205. package/.medusa/server/src/workflows/book-list/steps/fetch-book-list.js +64 -0
  206. package/.medusa/server/src/workflows/customer-advance-payment/index.js +18 -0
  207. package/.medusa/server/src/workflows/customer-advance-payment/steps/create-receive-voucher.js +71 -0
  208. package/.medusa/server/src/workflows/customer-advance-payment/steps/index.js +18 -0
  209. package/.medusa/server/src/workflows/customer-advance-payment/workflows/create-receive-voucher-workflow.js +11 -0
  210. package/.medusa/server/src/workflows/customer-advance-payment/workflows/index.js +18 -0
  211. package/.medusa/server/src/workflows/helpers/product-helper.js +33 -17
  212. package/.medusa/server/src/workflows/helpers/variant-helper.js +165 -162
  213. package/.medusa/server/src/workflows/hooks/product-updated.js +6 -11
  214. package/.medusa/server/src/workflows/index.js +3 -1
  215. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +6 -3
  216. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +6 -2
  217. package/.medusa/server/src/workflows/item-master/index.js +11 -0
  218. package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
  219. package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
  220. package/.medusa/server/src/workflows/jewel-trans-master/index.js +18 -0
  221. package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +370 -0
  222. package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +18 -0
  223. package/.medusa/server/src/workflows/labour-chart-master/index.js +11 -0
  224. package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +38 -0
  225. package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +31 -0
  226. package/.medusa/server/src/workflows/order-master/index.js +3 -0
  227. package/.medusa/server/src/workflows/order-master/order-master-webhook.js +24 -0
  228. package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +239 -0
  229. package/.medusa/server/src/workflows/order-master/steps/delete-order-master-by-erp-ids.js +61 -0
  230. package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +283 -0
  231. package/.medusa/server/src/workflows/orders/steps/find-nearest-pincodes-step.js +336 -0
  232. package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +77 -0
  233. package/.medusa/server/src/workflows/orders/steps/index.js +14 -1
  234. package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +185 -0
  235. package/.medusa/server/src/workflows/orders/steps/sync-buyback-to-erp-step.js +98 -0
  236. package/.medusa/server/src/workflows/orders/steps/sync-cancel-to-erp-step.js +119 -0
  237. package/.medusa/server/src/workflows/orders/steps/sync-exchange-to-erp-step.js +100 -0
  238. package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +161 -0
  239. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +425 -16
  240. package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +147 -0
  241. package/.medusa/server/src/workflows/orders/utils/order-helper.js +137 -30
  242. package/.medusa/server/src/workflows/orders/utils/order-request-helper.js +222 -0
  243. package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +10 -0
  244. package/.medusa/server/src/workflows/orders/workflows/index.js +3 -1
  245. package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +21 -0
  246. package/.medusa/server/src/workflows/orders/workflows/sync-old-gold-to-erp.js +10 -0
  247. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +53 -4
  248. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +44 -33
  249. package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +96 -0
  250. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -1
  251. package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
  252. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +2 -2
  253. package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
  254. package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
  255. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +16 -249
  256. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +103 -22
  257. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +16 -10
  258. package/.medusa/server/src/workflows/payment-book-master/index.js +11 -0
  259. package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +37 -0
  260. package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +64 -0
  261. package/.medusa/server/src/workflows/rate-chart-master/index.js +11 -0
  262. package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +25 -0
  263. package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +31 -0
  264. package/.medusa/server/src/workflows/report-master/index.js +11 -0
  265. package/.medusa/server/src/workflows/report-master/steps/create-or-update-report-master.js +53 -0
  266. package/.medusa/server/src/workflows/report-master/steps/fetch-report.js +71 -0
  267. package/.medusa/server/src/workflows/sale-master/index.js +24 -0
  268. package/.medusa/server/src/workflows/sale-master/steps/create-sale-master.js +72 -0
  269. package/.medusa/server/src/workflows/sale-master/steps/delete-sale-master.js +59 -0
  270. package/.medusa/server/src/workflows/sale-master/steps/update-sale-master.js +95 -0
  271. package/.medusa/server/src/workflows/sale-return-master/index.js +24 -0
  272. package/.medusa/server/src/workflows/sale-return-master/steps/create-sale-return-master.js +45 -0
  273. package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master.js +36 -0
  274. package/.medusa/server/src/workflows/sale-return-master/steps/update-sale-return-master.js +53 -0
  275. package/.medusa/server/src/workflows/sale-return-policy-master/index.js +11 -0
  276. package/.medusa/server/src/workflows/sale-return-policy-master/steps/create-or-update-sale-return-policy-master.js +91 -0
  277. package/.medusa/server/src/workflows/sale-return-policy-master/steps/fetch-sale-return-policy.js +31 -0
  278. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +6 -8
  279. package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +9 -3
  280. package/package.json +14 -32
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const framework_1 = require("@medusajs/framework");
4
+ exports.default = (0, framework_1.defineMiddlewares)({
5
+ routes: [
6
+ {
7
+ matcher: "/pos/gold",
8
+ method: "GET",
9
+ middlewares: [],
10
+ },
11
+ {
12
+ matcher: "/pos/gold/calculate",
13
+ method: "POST",
14
+ middlewares: [],
15
+ },
16
+ ],
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL2dvbGQvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3RDtBQUV4RCxrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsRUFBRTtTQUNoQjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxFQUFFO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const build_redis_key_1 = require("../../../utils/build-redis-key");
6
+ const api_response_1 = require("../../../lib/api-response");
7
+ const item_master_purity_1 = require("./item-master-purity");
8
+ const KARAT_NORMALIZE = {
9
+ "9": "9K", "9k": "9K",
10
+ "14": "14K", "14k": "14K",
11
+ "18": "18K", "18k": "18K",
12
+ "22": "22K", "22k": "22K",
13
+ "24": "24K", "24k": "24K",
14
+ "og9": "9K", "og9k": "9K",
15
+ "og14": "14K", "og14k": "14K",
16
+ "og18": "18K", "og18k": "18K",
17
+ "og22": "22K", "og22k": "22K",
18
+ "og999": "24K", "og999k": "24K",
19
+ };
20
+ /** Normalize karat input (e.g. og14, OG18K, 14k) to canonical form 9K|14K|18K|22K|24K for cache lookup. */
21
+ function normalizeKarat(karatRaw) {
22
+ const s = karatRaw.trim().toLowerCase().replace(/\s/g, "");
23
+ if (!s)
24
+ return "";
25
+ const direct = KARAT_NORMALIZE[s];
26
+ if (direct)
27
+ return direct;
28
+ const withoutOg = s.replace(/^og/, "");
29
+ const fromOg = KARAT_NORMALIZE[withoutOg] || (withoutOg && !withoutOg.endsWith("k") ? `${withoutOg}K` : withoutOg);
30
+ if (KARAT_NORMALIZE[fromOg.toLowerCase()])
31
+ return KARAT_NORMALIZE[fromOg.toLowerCase()];
32
+ const numMatch = s.match(/^og?(\d+)(k?)$/);
33
+ if (numMatch) {
34
+ const n = numMatch[1];
35
+ const mapped = KARAT_NORMALIZE[n] || KARAT_NORMALIZE[`${n}k`];
36
+ if (mapped)
37
+ return mapped;
38
+ return `${n}K`;
39
+ }
40
+ return s.toUpperCase().endsWith("K") ? s.toUpperCase() : `${s}K`.toUpperCase();
41
+ }
42
+ const GET = async (req, res) => {
43
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
44
+ try {
45
+ const karatRaw = (req.query?.karat || "").trim().toLowerCase();
46
+ if (!karatRaw) {
47
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Query parameter karat is required (e.g. 9k, 14k, 18k, 24k or og14, OG18K)", api_response_1.HttpStatus.BAD_REQUEST, api_response_1.ErrorCode.VALIDATION_ERROR));
48
+ }
49
+ const normalizedKarat = normalizeKarat(karatRaw);
50
+ const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
51
+ const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:gold-rate", {});
52
+ const cached = await cacheService.get(cacheKey);
53
+ if (!cached?.oldGoldRateList?.length) {
54
+ logger.warn("[POS-GOLD] : No cached gold rate; call GET /pos/gold-rate first");
55
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Gold rate not loaded. Please load gold rate first.", api_response_1.HttpStatus.SERVICE_UNAVAILABLE, api_response_1.ErrorCode.INTERNAL_ERROR));
56
+ }
57
+ const item = cached.oldGoldRateList.find((x) => x.rate.toUpperCase() === normalizedKarat.toUpperCase());
58
+ if (!item) {
59
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Karat "${karatRaw}" not found. Supported: 9K, 14K, 18K, 22K, 24K (or og14, og18, etc.)`, api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
60
+ }
61
+ let purity = item.purity ?? "";
62
+ let ratePerGms = item.amount;
63
+ const itemMasterPurity = await (0, item_master_purity_1.getPurityFromItemMaster)(req.scope, normalizedKarat);
64
+ if (itemMasterPurity != null) {
65
+ purity = `${itemMasterPurity}%`;
66
+ const cachePurityNum = parseFloat(String(item.purity ?? "100").replace(/%/g, "")) || 100;
67
+ if (cachePurityNum > 0) {
68
+ ratePerGms = (item.amount * itemMasterPurity) / cachePurityNum;
69
+ }
70
+ }
71
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
72
+ purity,
73
+ rate_per_gms: ratePerGms,
74
+ }, "OK"));
75
+ }
76
+ catch (error) {
77
+ const msg = error instanceof Error ? error.message : "Unknown error";
78
+ logger.error(`[POS-GOLD] : ${msg}`);
79
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
80
+ }
81
+ };
82
+ exports.GET = GET;
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLHFEQUErRTtBQUMvRSxvRUFBK0Q7QUFDL0QsNERBTW1DO0FBQ25DLDZEQUErRDtBQWEvRCxNQUFNLGVBQWUsR0FBMkI7SUFDOUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtJQUNyQixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3pCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6QixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUM3QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQzdCLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7SUFDN0IsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSztDQUNoQyxDQUFDO0FBRUYsMkdBQTJHO0FBQzNHLFNBQVMsY0FBYyxDQUFDLFFBQWdCO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzFCLE1BQU0sU0FBUyxH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
@@ -6,59 +6,66 @@ const build_redis_key_1 = require("../../../utils/build-redis-key");
6
6
  const api_response_1 = require("../../../lib/api-response");
7
7
  const erp_1 = require("../../../modules/erp");
8
8
  const GET = async (req, res) => {
9
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
9
10
  try {
10
- const grams = 1;
11
+ logger.info("[POS-GOLD-RATE] : Fetching gold rate data");
11
12
  const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
12
13
  const erpService = req.scope.resolve(erp_1.ERP_MODULE);
13
- const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
14
14
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
15
- const cacheKey = (0, build_redis_key_1.buildRedisKey)("gold-rate-pos", { grams });
15
+ const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:gold-rate", {});
16
16
  const cachedResult = await cacheService.get(cacheKey);
17
17
  if (cachedResult) {
18
- logger.info(`[HISTORICAL-GOLD-RATE] : Returning cached result for grams: ${grams}`);
19
- return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Historical gold rate fetched successfully"));
18
+ logger.info("[POS-GOLD-RATE] : Returning cached result");
19
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Gold rate fetched successfully"));
20
20
  }
21
- const [quality14Result, quality18Result, quality22Result] = await Promise.all([
21
+ logger.info("[POS-GOLD-RATE] : Cache miss, fetching from ERP and quality master");
22
+ const [quality9Result, quality14Result, quality18Result, quality22Result] = await Promise.all([
22
23
  query.graph({
23
24
  entity: "quality_master",
24
25
  fields: ["id", "qly_code", "qly_mfg_clarity"],
25
- filters: {
26
- qly_code: "14",
27
- },
26
+ filters: { qly_code: "9" },
28
27
  }),
29
28
  query.graph({
30
29
  entity: "quality_master",
31
30
  fields: ["id", "qly_code", "qly_mfg_clarity"],
32
- filters: {
33
- qly_code: "18",
34
- },
31
+ filters: { qly_code: "14" },
35
32
  }),
36
33
  query.graph({
37
34
  entity: "quality_master",
38
35
  fields: ["id", "qly_code", "qly_mfg_clarity"],
39
- filters: {
40
- qly_code: "22",
41
- },
36
+ filters: { qly_code: "18" },
37
+ }),
38
+ query.graph({
39
+ entity: "quality_master",
40
+ fields: ["id", "qly_code", "qly_mfg_clarity"],
41
+ filters: { qly_code: "22" },
42
42
  }),
43
43
  ]);
44
+ const { data: qualityMasters9 } = quality9Result;
44
45
  const { data: qualityMasters14 } = quality14Result;
45
46
  const { data: qualityMasters18 } = quality18Result;
46
47
  const { data: qualityMasters22 } = quality22Result;
48
+ const qly9 = qualityMasters9?.[0];
47
49
  const qly14 = qualityMasters14?.[0];
48
50
  const qly18 = qualityMasters18?.[0];
49
51
  const qly22 = qualityMasters22?.[0];
52
+ // 9K: use quality_master if present, else 37.5% (9/24)
53
+ const qly9Clarity = qly9?.qly_mfg_clarity ?? 37.5;
50
54
  if (!qly22?.qly_mfg_clarity ||
51
55
  !qly18?.qly_mfg_clarity ||
52
56
  !qly14?.qly_mfg_clarity) {
57
+ logger.error("[POS-GOLD-RATE] : Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity");
53
58
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity", api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
54
59
  }
55
60
  const goldRateData = (await erpService.getGoldRateData());
56
61
  if (!goldRateData?.CurrentGoldRate ||
57
62
  goldRateData.CurrentGoldRate.length === 0) {
58
- return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No historical gold rate data available from ERP", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
63
+ logger.error("[POS-GOLD-RATE] : No gold rate data available from ERP");
64
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No gold rate data available from ERP", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
59
65
  }
60
- const purity = ["14", "18", "22", "24"];
66
+ const purityKarats = ["9", "14", "18", "22", "24"];
61
67
  const qlyMap = {
68
+ "9": { qly_mfg_clarity: qly9Clarity },
62
69
  "14": qly14,
63
70
  "18": qly18,
64
71
  "22": qly22,
@@ -66,18 +73,21 @@ const GET = async (req, res) => {
66
73
  };
67
74
  const currentGoldData = goldRateData.CurrentGoldRate?.find((item) => item.RawName === "GOLD");
68
75
  const oldGoldData = goldRateData.CurrentGoldRate?.find((item) => item.RawName === "Old Gold");
69
- const goldRateList = purity.map((karat) => {
76
+ const goldRateList = purityKarats.map((karat) => {
70
77
  const qly = qlyMap[karat];
78
+ const clarity = qly?.qly_mfg_clarity ?? 0;
71
79
  return {
72
80
  rate: `${karat}K`,
73
- amount: ((currentGoldData?.SaleRate || 0) * qly.qly_mfg_clarity) / 100,
81
+ amount: ((currentGoldData?.SaleRate || 0) * clarity) / 100,
74
82
  };
75
83
  }).filter(Boolean);
76
- const oldGoldRateList = purity.map((karat) => {
84
+ const oldGoldRateList = purityKarats.map((karat) => {
77
85
  const qly = qlyMap[karat];
86
+ const clarity = qly?.qly_mfg_clarity ?? 0;
78
87
  return {
79
88
  rate: `${karat}K`,
80
- amount: ((oldGoldData?.SaleRate || 0) * qly.qly_mfg_clarity) / 100,
89
+ amount: ((oldGoldData?.SaleRate || 0) * clarity) / 100,
90
+ purity: `${clarity}%`,
81
91
  };
82
92
  }).filter(Boolean);
83
93
  const result = {
@@ -85,12 +95,15 @@ const GET = async (req, res) => {
85
95
  oldGoldRateList: oldGoldRateList,
86
96
  };
87
97
  await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.GOLD_RATE);
88
- return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Historical gold rate fetched successfully"));
98
+ logger.info(`[POS-GOLD-RATE] : Successfully computed and cached gold rates - Current: ${goldRateList.length} rates, Old: ${oldGoldRateList.length} rates`);
99
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Gold rate fetched successfully"));
89
100
  }
90
101
  catch (error) {
91
- console.error("Error fetching historical gold rate:", error);
102
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
103
+ const errorStack = error instanceof Error ? error.stack : undefined;
104
+ logger.error(`[POS-GOLD-RATE] : Error fetching gold rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
92
105
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
93
106
  }
94
107
  };
95
108
  exports.GET = GET;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkLXJhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBQy9FLG9FQUd3QztBQUN4Qyw0REFNbUM7QUFFbkMsOENBQWdEO0FBMEJ6QyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQWUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQVUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLElBQUEsK0JBQWEsRUFBQyxlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTNELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDekMsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsK0RBQStELEtBQUssRUFBRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osMkNBQTJDLENBQzVDLENBQ0YsQ0FBQztRQUNKLENB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
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkLXJhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBQy9FLG9FQUd3QztBQUN4Qyw0REFNbUM7QUFFbkMsOENBQWdEO0FBMkJ6QyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRSxJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFFekQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDekMsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUN6RCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQ25CLFlBQVksRUFDWixnQ0FBZ0MsQ0FDakMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVE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
@@ -5,9 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const framework_1 = require("@medusajs/framework");
7
7
  const middleware_1 = __importDefault(require("./gold-rate/middleware"));
8
+ const middleware_2 = __importDefault(require("./gold/middleware"));
9
+ const middleware_3 = __importDefault(require("./customer-ledger/middleware"));
10
+ const middleware_4 = __importDefault(require("./wallet-balance/middleware"));
11
+ const middleware_5 = __importDefault(require("./old-gold-item/middleware"));
12
+ const middleware_6 = __importDefault(require("./silverdata/middleware"));
13
+ const middleware_7 = __importDefault(require("./platinumdata/middleware"));
8
14
  exports.default = (0, framework_1.defineMiddlewares)({
9
15
  routes: [
10
16
  ...(middleware_1.default.routes || []),
17
+ ...(middleware_2.default.routes || []),
18
+ ...(middleware_3.default.routes || []),
19
+ ...(middleware_4.default.routes || []),
20
+ ...(middleware_5.default.routes || []),
21
+ ...(middleware_6.default.routes || []),
22
+ ...(middleware_7.default.routes || []),
11
23
  ],
12
24
  });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBd0Q7QUFFeEQsd0VBQTREO0FBRTVELGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ04sR0FBRyxDQUFDLG9CQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7S0FDekM7Q0FDRixDQUFDLENBQUMifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBd0Q7QUFFeEQsd0VBQTREO0FBQzVELG1FQUFtRDtBQUNuRCw4RUFBd0U7QUFDeEUsNkVBQXNFO0FBQ3RFLDRFQUFtRTtBQUNuRSx5RUFBK0Q7QUFDL0QsMkVBQW1FO0FBRW5FLGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ04sR0FBRyxDQUFDLG9CQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDeEMsR0FBRyxDQUFDLG9CQUFrQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDcEMsR0FBRyxDQUFDLG9CQUE0QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDOUMsR0FBRyxDQUFDLG9CQUEyQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDN0MsR0FBRyxDQUFDLG9CQUF5QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDM0MsR0FBRyxDQUFDLG9CQUF3QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDMUMsR0FBRyxDQUFDLG9CQUEwQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7S0FDN0M7Q0FDRixDQUFDLENBQUMifQ==
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const framework_1 = require("@medusajs/framework");
4
+ exports.default = (0, framework_1.defineMiddlewares)({
5
+ routes: [
6
+ { matcher: "/pos/old-gold-item", method: "GET", middlewares: [] },
7
+ { matcher: "/pos/old-gold-item", method: "POST", middlewares: [] },
8
+ ],
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL29sZC1nb2xkLWl0ZW0vbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3RDtBQUV4RCxrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUNqRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7S0FDbkU7Q0FDRixDQUFDLENBQUMifQ==
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const api_response_1 = require("../../../lib/api-response");
7
+ const item_master_1 = require("../../../modules/item-master");
8
+ const item_master_2 = require("../../../workflows/item-master");
9
+ const OLD_GOLD_RAW_NAME = "Old Gold";
10
+ async function GET(req, res) {
11
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
12
+ try {
13
+ const itemMasterService = req.scope.resolve(item_master_1.ITEM_MASTER_MODULE);
14
+ const all = await itemMasterService.listItemMasters({});
15
+ const oldGoldItems = all
16
+ .filter((row) => (row.raw_name || "").trim().toLowerCase() === OLD_GOLD_RAW_NAME.toLowerCase())
17
+ .map((row) => ({
18
+ item_code: (row.item_code || "").trim(),
19
+ item_name: (row.item_name || "").trim(),
20
+ }))
21
+ .filter((item) => item.item_code || item.item_name);
22
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ items: oldGoldItems }, "OK"));
23
+ }
24
+ catch (error) {
25
+ const msg = error instanceof Error ? error.message : "Unknown error";
26
+ logger.error(`[POS-OLD-GOLD-ITEM] GET: ${msg}`);
27
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
28
+ }
29
+ }
30
+ async function POST(req, res) {
31
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
32
+ try {
33
+ await (0, item_master_2.itemMasterWorkflow)(req.scope).run({ input: {} });
34
+ const itemMasterService = req.scope.resolve(item_master_1.ITEM_MASTER_MODULE);
35
+ const all = await itemMasterService.listItemMasters({});
36
+ const oldGoldItems = all
37
+ .filter((row) => (row.raw_name || "").trim().toLowerCase() === OLD_GOLD_RAW_NAME.toLowerCase())
38
+ .map((row) => ({
39
+ item_code: (row.item_code || "").trim(),
40
+ item_name: (row.item_name || "").trim(),
41
+ }))
42
+ .filter((item) => item.item_code || item.item_name);
43
+ logger.info(`[POS-OLD-GOLD-ITEM] Sync completed; ${oldGoldItems.length} old gold items`);
44
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ items: oldGoldItems, synced: true }, "Old gold items synced from ERP"));
45
+ }
46
+ catch (error) {
47
+ const msg = error instanceof Error ? error.message : "Unknown error";
48
+ logger.error(`[POS-OLD-GOLD-ITEM] POST sync: ${msg}`);
49
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Sync failed", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9vbGQtZ29sZC1pdGVtL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMkJBLGtCQW9DQztBQUVELG9CQXVDQztBQWhHRCxxREFBc0U7QUFDdEUsNERBTW1DO0FBQ25DLDhEQUFrRTtBQUVsRSxnRUFBb0U7QUFFcEUsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFPOUIsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQXNCLENBQUM7UUFDckYsTUFBTSxHQUFHLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQXFCLEdBQUc7YUFDdkMsTUFBTSxDQUNMLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQ2hGO2FBQ0EsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2IsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDdkMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7U0FDeEMsQ0FBQyxDQUFDO2FBQ0YsTUFBTSxDQUFDLENBQUMsSUFB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
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const framework_1 = require("@medusajs/framework");
4
+ exports.default = (0, framework_1.defineMiddlewares)({
5
+ routes: [
6
+ {
7
+ matcher: "/pos/platinumdata",
8
+ method: "GET",
9
+ middlewares: [],
10
+ },
11
+ ],
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL3BsYXRpbnVtZGF0YS9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQXdEO0FBRXhELGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFLEVBQUU7U0FDaEI7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const build_redis_key_1 = require("../../../utils/build-redis-key");
6
+ const api_response_1 = require("../../../lib/api-response");
7
+ const erp_1 = require("../../../modules/erp");
8
+ const GET = async (req, res) => {
9
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
10
+ try {
11
+ logger.info("[POS-PLATINUM-DATA] : Fetching platinum rate data");
12
+ const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
13
+ const erpService = req.scope.resolve(erp_1.ERP_MODULE);
14
+ const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:platinum-rate", {});
15
+ const cachedResult = await cacheService.get(cacheKey);
16
+ if (cachedResult) {
17
+ logger.info("[POS-PLATINUM-DATA] : Returning cached result");
18
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Platinum rate fetched successfully"));
19
+ }
20
+ logger.info("[POS-PLATINUM-DATA] : Cache miss, fetching from ERP");
21
+ const platinumRateData = (await erpService.getPlatinumRateData());
22
+ const currentList = platinumRateData?.CurrentPlatinumRate?.map((item) => ({
23
+ rate: item.RawName || "Platinum",
24
+ amount: item.SaleRate ?? 0,
25
+ })) ?? [];
26
+ const result = {
27
+ currentPlatinumRateList: currentList,
28
+ };
29
+ await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.PLATINUM_RATE);
30
+ logger.info(`[POS-PLATINUM-DATA] : Successfully computed and cached platinum rates - Current: ${currentList.length}`);
31
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Platinum rate fetched successfully"));
32
+ }
33
+ catch (error) {
34
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
35
+ const errorStack = error instanceof Error ? error.stack : undefined;
36
+ logger.error(`[POS-PLATINUM-DATA] : Error fetching platinum rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
37
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
38
+ }
39
+ };
40
+ exports.GET = GET;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9wbGF0aW51bWRhdGEvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBQy9FLG9FQUd3QztBQUN4Qyw0REFNbUM7QUFFbkMsOENBQWtEO0FBb0IzQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRSxJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFakUsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFhLEVBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQ2hCLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBdUIsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDN0QsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osb0NBQW9DLENBQ3JDLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFFbkUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBRW5ELENBQUM7UUFFZCxNQUFNLFdBQVcsR0FDZixnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksVUFBVTtZQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDO1NBQzNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVaLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyx1QkFBdUIsRUFBRSxXQUFXO1NBQ3JDLENBQUM7UUFFRixNQUFNLFlBQVksQ0FBQyxHQUFHLENBQ3BCLFFBQVEsRUFDUixNQUFNLEVBQ04sd0NBQXNCLENBQUMsYUFBYSxDQUNyQyxDQUFDO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FDVCxvRkFBb0YsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUN6RyxDQUFDO1FBRUYsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxLQUFLLENBQ1Ysd0RBQXdELFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNwSCxDQUFDO1FBQ0YsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUNqQixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsRUFDaEUseUJBQVUsQ0FBQyxxQkFBcUIsRUFDaEMsd0JBQVMsQ0FBQyxjQUFjLENBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUM7QUF4RVcsUUFBQSxHQUFHLE9Bd0VkIn0=
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const framework_1 = require("@medusajs/framework");
4
+ exports.default = (0, framework_1.defineMiddlewares)({
5
+ routes: [
6
+ {
7
+ matcher: "/pos/silverdata",
8
+ method: "GET",
9
+ middlewares: [],
10
+ },
11
+ ],
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL3NpbHZlcmRhdGEvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3RDtBQUV4RCxrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxFQUFFO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const build_redis_key_1 = require("../../../utils/build-redis-key");
6
+ const api_response_1 = require("../../../lib/api-response");
7
+ const erp_1 = require("../../../modules/erp");
8
+ const GET = async (req, res) => {
9
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
10
+ try {
11
+ logger.info("[POS-SILVER-DATA] : Fetching silver rate data");
12
+ const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
13
+ const erpService = req.scope.resolve(erp_1.ERP_MODULE);
14
+ const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:silver-rate", {});
15
+ const cachedResult = await cacheService.get(cacheKey);
16
+ if (cachedResult) {
17
+ logger.info("[POS-SILVER-DATA] : Returning cached result");
18
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Silver rate fetched successfully"));
19
+ }
20
+ logger.info("[POS-SILVER-DATA] : Cache miss, fetching from ERP");
21
+ const silverRateData = (await erpService.getSilverRateData());
22
+ const currentList = silverRateData?.CurrentSilverRate?.map((item) => ({
23
+ rate: item.RawName || "Silver",
24
+ amount: item.SaleRate ?? 0,
25
+ })) ?? [];
26
+ const result = {
27
+ currentSilverRateList: currentList,
28
+ };
29
+ await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.SILVER_RATE);
30
+ logger.info(`[POS-SILVER-DATA] : Successfully computed and cached silver rates - Current: ${currentList.length}`);
31
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Silver rate fetched successfully"));
32
+ }
33
+ catch (error) {
34
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
35
+ const errorStack = error instanceof Error ? error.stack : undefined;
36
+ logger.error(`[POS-SILVER-DATA] : Error fetching silver rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
37
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
38
+ }
39
+ };
40
+ exports.GET = GET;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9zaWx2ZXJkYXRhL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUErRTtBQUMvRSxvRUFHd0M7QUFDeEMsNERBTW1DO0FBRW5DLDhDQUFrRDtBQW9CM0MsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUFrQixFQUNsQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBRTdELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBZSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBVSxDQUFDLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBYSxFQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBcUIsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDM0QsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osa0NBQWtDLENBQ25DLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFakUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUUvQyxDQUFDO1FBRWQsTUFBTSxXQUFXLEdBQ2YsY0FBYyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUM7U0FDM0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxNQUFNLEdBQXVCO1lBQ2pDLHFCQUFxQixFQUFFLFdBQVc7U0FDbkMsQ0FBQztRQUVGLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDcEIsUUFBUSxFQUNSLE1BQU0sRUFDTix3Q0FBc0IsQ0FBQyxXQUFXLENBQ25DLENBQUM7UUFFRixNQUFNLENBQUMsSUFBSSxDQUNULGdGQUFnRixXQUFXLENBQUMsTUFBTSxFQUFFLENBQ3JHLENBQUM7UUFFRixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUMsTUFBTSxFQUFFLGtDQUFrQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEUsTUFBTSxDQUFDLEtBQUssQ0FDVixvREFBb0QsWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2hILENBQUM7UUFDRixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixFQUNoRSx5QkFBVSxDQUFDLHFCQUFxQixFQUNoQyx3QkFBUyxDQUFDLGNBQWMsQ0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQXZFVyxRQUFBLEdBQUcsT0F1RWQifQ==
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const http_1 = require("@medusajs/framework/http");
4
+ exports.default = (0, http_1.defineMiddlewares)({
5
+ routes: [
6
+ {
7
+ matcher: "/store/wallet-balance",
8
+ method: "GET",
9
+ middlewares: [],
10
+ }
11
+ ],
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL3dhbGxldC1iYWxhbmNlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFFa0M7QUFFbEMsa0JBQWUsSUFBQSx3QkFBaUIsRUFBQztJQUMvQixNQUFNLEVBQUU7UUFDTjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsRUFBRTtTQUNoQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const api_response_1 = require("../../../lib/api-response");
6
+ const erp_1 = require("../../../modules/erp");
7
+ const GET = async (req, res) => {
8
+ const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
9
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
10
+ try {
11
+ const { customer_id } = req.query;
12
+ if (!customer_id) {
13
+ logger.error("[POS-WALLET-BALANCE] : Missing customer_id parameter");
14
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("customer_id parameter is required", api_response_1.HttpStatus.BAD_REQUEST, api_response_1.ErrorCode.VALIDATION_ERROR));
15
+ }
16
+ logger.info(`[POS-WALLET-BALANCE] : Fetching extended customer for customer_id: ${customer_id}`);
17
+ // Fetch customer with extended_customer
18
+ const { data: customerData } = await query.graph({
19
+ entity: "customer",
20
+ fields: ["*", "extended_customer.*"],
21
+ filters: {
22
+ id: customer_id,
23
+ },
24
+ });
25
+ const customer = customerData?.[0];
26
+ const transactionid = customer?.extended_customer?.external_id;
27
+ if (!transactionid) {
28
+ logger.error(`[POS-WALLET-BALANCE] : No external_id found for customer_id: ${customer_id}`);
29
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Customer external_id not found. Customer may not be synced with ERP.", api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
30
+ }
31
+ logger.info(`[POS-WALLET-BALANCE] : Fetching wallet balance data for transaction ID: ${transactionid} (customer_id: ${customer_id})`);
32
+ const erpService = req.scope.resolve(erp_1.ERP_MODULE);
33
+ const erpResponseData = (await erpService.getMasterData("WalletBalance", transactionid));
34
+ // Handle both array and object responses
35
+ let walletData;
36
+ if (Array.isArray(erpResponseData)) {
37
+ if (erpResponseData.length === 0) {
38
+ logger.error(`[POS-WALLET-BALANCE] : No wallet balance data found for transaction ID: ${transactionid}`);
39
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No wallet balance data found", api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
40
+ }
41
+ walletData = erpResponseData[0];
42
+ }
43
+ else {
44
+ walletData = erpResponseData;
45
+ }
46
+ if (!walletData || typeof walletData !== "object" || Array.isArray(walletData)) {
47
+ logger.error(`[POS-WALLET-BALANCE] : Invalid response format from ERP for transaction ID: ${transactionid}`);
48
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Invalid response format from ERP", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
49
+ }
50
+ logger.info(`[POS-WALLET-BALANCE] : Successfully fetched wallet balance for transaction ID: ${transactionid}`);
51
+ // Ensure both LedgerBalance and AccessibleBalance are included in response
52
+ const responseData = {
53
+ PartyNo: walletData.PartyNo || "",
54
+ FirmName: walletData.FirmName || "",
55
+ LedgerBalance: walletData.LedgerBalance || "0.00",
56
+ AccessibleBalance: walletData.AccessibleBalance || "0.00",
57
+ };
58
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(responseData, "Wallet balance fetched successfully"));
59
+ }
60
+ catch (error) {
61
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
62
+ const errorStack = error instanceof Error ? error.stack : undefined;
63
+ logger.error(`[POS-WALLET-BALANCE] : Error fetching wallet balance - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
64
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
65
+ }
66
+ };
67
+ exports.GET = GET;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy93YWxsZXQtYmFsYW5jZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBc0U7QUFDdEUsNERBTW1DO0FBRW5DLDhDQUFrRDtBQVMzQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQWlDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUNyRSxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLG1DQUFtQyxFQUNuQyx5QkFBVSxDQUFDLFdBQVcsRUFDdEIsd0JBQVMsQ0FBQyxnQkFBZ0IsQ0FDM0IsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQ1Qsc0VBQXNFLFdBQVcsRUFBRSxDQUNwRixDQUFDO1FBRUYsd0NBQXdDO1FBQ3hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9DLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQztZQUNwQyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLFdB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
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetCustomPrice = void 0;
4
4
  const validators_1 = require("@medusajs/medusa/api/utils/validators");
5
- const zod_1 = require("zod");
5
+ const zod_1 = require("@medusajs/framework/zod");
6
6
  // Query params for GET requests
7
7
  exports.GetCustomPrice = (0, validators_1.createFindParams)({
8
8
  offset: 0,
@@ -13,4 +13,4 @@ exports.GetCustomPrice = (0, validators_1.createFindParams)({
13
13
  required_error: "Variant ID is required",
14
14
  }),
15
15
  }));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvY3VzdG9tLXByaWNlL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQXlFO0FBQ3pFLDZCQUF3QjtBQUV4QixnQ0FBZ0M7QUFDbkIsUUFBQSxjQUFjLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUM3QyxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLGFBQWE7Q0FDckIsQ0FBQyxDQUFDLEtBQUssQ0FDTixPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkIsY0FBYyxFQUFFLHdCQUF3QjtLQUN6QyxDQUFDO0NBQ0gsQ0FBQyxDQUNILENBQUMifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvY3VzdG9tLXByaWNlL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQXlFO0FBQ3pFLGlEQUE0QztBQUU1QyxnQ0FBZ0M7QUFDbkIsUUFBQSxjQUFjLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUM3QyxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLGFBQWE7Q0FDckIsQ0FBQyxDQUFDLEtBQUssQ0FDTixPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkIsY0FBYyxFQUFFLHdCQUF3QjtLQUN6QyxDQUFDO0NBQ0gsQ0FBQyxDQUNILENBQUMifQ==
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetHistoricalGoldRateBody = exports.GetCurrentGoldRateBody = void 0;
4
- const zod_1 = require("zod");
4
+ const zod_1 = require("@medusajs/framework/zod");
5
5
  exports.GetCurrentGoldRateBody = zod_1.z
6
6
  .object({
7
7
  grams: zod_1.z
@@ -34,4 +34,4 @@ exports.GetHistoricalGoldRateBody = zod_1.z
34
34
  }),
35
35
  })
36
36
  .strict();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvZ29sZC1yYXRlL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRVgsUUFBQSxzQkFBc0IsR0FBRyxPQUFDO0tBQ3BDLE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxPQUFDO1NBQ0wsTUFBTSxDQUFDO1FBQ04sY0FBYyxFQUFFLG1CQUFtQjtRQUNuQyxrQkFBa0IsRUFBRSx3QkFBd0I7S0FDN0MsQ0FBQztTQUNELFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRSxpQ0FBaUM7S0FDM0MsQ0FBQztJQUNKLE1BQU0sRUFBRSxPQUFDO1NBQ04sTUFBTSxDQUFDO1FBQ04sY0FBYyxFQUFFLG9CQUFvQjtRQUNwQyxrQkFBa0IsRUFBRSx5QkFBeUI7S0FDOUMsQ0FBQztTQUNELFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUMsQ0FBQztDQUNMLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUlDLFFBQUEseUJBQXlCLEdBQUcsT0FBQztLQUN2QyxNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsT0FBQztTQUNMLE1BQU0sQ0FBQztRQUNOLGNBQWMsRUFBRSxtQkFBbUI7UUFDbkMsa0JBQWtCLEVBQUUsd0JBQXdCO0tBQzdDLENBQUM7U0FDRCxRQUFRLENBQUM7UUFDUixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDLENBQUM7Q0FDTCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUMifQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvZ29sZC1yYXRlL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRS9CLFFBQUEsc0JBQXNCLEdBQUcsT0FBQztLQUNwQyxNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsT0FBQztTQUNMLE1BQU0sQ0FBQztRQUNOLGNBQWMsRUFBRSxtQkFBbUI7UUFDbkMsa0JBQWtCLEVBQUUsd0JBQXdCO0tBQzdDLENBQUM7U0FDRCxRQUFRLENBQUM7UUFDUixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDLENBQUM7SUFDSixNQUFNLEVBQUUsT0FBQztTQUNOLE1BQU0sQ0FBQztRQUNOLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsa0JBQWtCLEVBQUUseUJBQXlCO0tBQzlDLENBQUM7U0FDRCxRQUFRLENBQUM7UUFDUixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDLENBQUM7Q0FDTCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFJQyxRQUFBLHlCQUF5QixHQUFHLE9BQUM7S0FDdkMsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQUM7U0FDTCxNQUFNLENBQUM7UUFDTixjQUFjLEVBQUUsbUJBQW1CO1FBQ25DLGtCQUFrQixFQUFFLHdCQUF3QjtLQUM3QyxDQUFDO1NBQ0QsUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLGlDQUFpQztLQUMzQyxDQUFDO0NBQ0wsQ0FBQztLQUNELE1BQU0sRUFBRSxDQUFDIn0=