@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.
- package/.medusa/server/src/admin/index.js +3 -1
- package/.medusa/server/src/admin/index.mjs +3 -1
- package/.medusa/server/src/api/admin/masters/validators.js +2 -2
- package/.medusa/server/src/api/admin/variant-options/recalculate/route.js +446 -0
- package/.medusa/server/src/api/admin/variant-options/sync/route.js +21 -5
- package/.medusa/server/src/api/erp/webhook/config.js +30 -1
- package/.medusa/server/src/api/erp/webhook/route.js +10 -137
- package/.medusa/server/src/api/erp/webhook/utils.js +7 -1
- package/.medusa/server/src/api/pos/customer-ledger/middleware.js +13 -0
- package/.medusa/server/src/api/pos/customer-ledger/route.js +50 -0
- package/.medusa/server/src/api/pos/generate-invoice/route.js +427 -0
- package/.medusa/server/src/api/pos/gold/calculate/route.js +104 -0
- package/.medusa/server/src/api/pos/gold/item-master-purity.js +46 -0
- package/.medusa/server/src/api/pos/gold/middleware.js +18 -0
- package/.medusa/server/src/api/pos/gold/route.js +83 -0
- package/.medusa/server/src/api/pos/gold-rate/route.js +37 -24
- package/.medusa/server/src/api/pos/middleware.js +13 -1
- package/.medusa/server/src/api/pos/old-gold-item/middleware.js +10 -0
- package/.medusa/server/src/api/pos/old-gold-item/route.js +52 -0
- package/.medusa/server/src/api/pos/platinumdata/middleware.js +13 -0
- package/.medusa/server/src/api/pos/platinumdata/route.js +41 -0
- package/.medusa/server/src/api/pos/silverdata/middleware.js +13 -0
- package/.medusa/server/src/api/pos/silverdata/route.js +41 -0
- package/.medusa/server/src/api/pos/wallet-balance/middleware.js +13 -0
- package/.medusa/server/src/api/pos/wallet-balance/route.js +68 -0
- package/.medusa/server/src/api/store/custom-price/validators.js +2 -2
- package/.medusa/server/src/api/store/gold-rate/validators.js +2 -2
- package/.medusa/server/src/jobs/process-erp-events.js +205 -0
- package/.medusa/server/src/jobs/process-variant-option-sync.js +43 -28
- package/.medusa/server/src/jobs/sync-addless-detail.js +60 -0
- package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +89 -0
- package/.medusa/server/src/jobs/sync-item-master.js +20 -0
- package/.medusa/server/src/jobs/sync-labour-chart-master.js +20 -0
- package/.medusa/server/src/jobs/sync-order-erp.js +3 -3
- package/.medusa/server/src/jobs/sync-payment-book-master.js +63 -0
- package/.medusa/server/src/jobs/sync-rate-chart-master.js +20 -0
- package/.medusa/server/src/jobs/sync-report-master.js +40 -0
- package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +29 -0
- package/.medusa/server/src/lib/api-response.js +2 -1
- package/.medusa/server/src/links/jewel-trans-master.js +13 -0
- package/.medusa/server/src/links/order-master.js +13 -0
- package/.medusa/server/src/links/sale-master.js +13 -0
- package/.medusa/server/src/modules/addless-detail/index.js +13 -0
- package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
- package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
- package/.medusa/server/src/modules/addless-detail/migrations/Migration20260226053037.js +15 -0
- package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
- package/.medusa/server/src/modules/addless-detail/service.js +10 -0
- package/.medusa/server/src/modules/applicable-sale-return-policy/index.js +13 -0
- package/.medusa/server/src/modules/applicable-sale-return-policy/migrations/Migration20260123083526.js +15 -0
- package/.medusa/server/src/modules/applicable-sale-return-policy/models/applicable-sale-return-policy.js +23 -0
- package/.medusa/server/src/modules/applicable-sale-return-policy/service.js +10 -0
- package/.medusa/server/src/modules/book-list/index.js +13 -0
- package/.medusa/server/src/modules/book-list/migrations/Migration20260123083525.js +15 -0
- package/.medusa/server/src/modules/book-list/models/book-list.js +12 -0
- package/.medusa/server/src/modules/book-list/service.js +10 -0
- package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +2 -2
- package/.medusa/server/src/modules/category-group-master/migrations/Migration20251031061116.js +2 -2
- package/.medusa/server/src/modules/category-group-master/migrations/Migration20251104045912.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20251031061327.js +2 -2
- package/.medusa/server/src/modules/category-master/migrations/Migration20251104045755.js +2 -2
- package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +2 -2
- package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251031061432.js +2 -2
- package/.medusa/server/src/modules/collection-group-master/migrations/Migration20251104050102.js +2 -2
- package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +2 -2
- package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +2 -2
- package/.medusa/server/src/modules/collection-master/migrations/Migration20251031060941.js +2 -2
- package/.medusa/server/src/modules/collection-master/migrations/Migration20251104050012.js +2 -2
- package/.medusa/server/src/modules/customer-receive-voucher/index.js +13 -0
- package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20250115000000.js +51 -0
- package/.medusa/server/src/modules/customer-receive-voucher/migrations/Migration20260106050934.js +18 -0
- package/.medusa/server/src/modules/customer-receive-voucher/models/customer-receive-voucher.js +35 -0
- package/.medusa/server/src/modules/customer-receive-voucher/service.js +10 -0
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +2 -2
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +2 -2
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +2 -2
- package/.medusa/server/src/modules/discount-master/migrations/Migration20251031061523.js +2 -2
- package/.medusa/server/src/modules/discount-master/migrations/Migration20251104050153.js +2 -2
- package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +2 -2
- package/.medusa/server/src/modules/erp/service.js +542 -8
- package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +2 -2
- package/.medusa/server/src/modules/erp-event/migrations/Migration20250922095956.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20251103182726.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20251202055742.js +2 -2
- package/.medusa/server/src/modules/extended-product/migrations/Migration20251202064200.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251202055952.js +2 -2
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +18 -0
- package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -2
- package/.medusa/server/src/modules/item-master/index.js +13 -0
- package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
- package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
- package/.medusa/server/src/modules/item-master/service.js +10 -0
- package/.medusa/server/src/modules/item-size-master/migrations/Migration20251031111036.js +2 -2
- package/.medusa/server/src/modules/jewel-trans-master/index.js +13 -0
- package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260226053036.js +57 -0
- package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +151 -0
- package/.medusa/server/src/modules/jewel-trans-master/service.js +16 -0
- package/.medusa/server/src/modules/labour-chart-master/index.js +13 -0
- package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +15 -0
- package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +16 -0
- package/.medusa/server/src/modules/labour-chart-master/service.js +10 -0
- package/.medusa/server/src/modules/order-master/index.js +13 -0
- package/.medusa/server/src/modules/order-master/migrations/Migration20260226053036.js +29 -0
- package/.medusa/server/src/modules/order-master/models/order-master.js +97 -0
- package/.medusa/server/src/modules/order-master/service.js +12 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20251031061657.js +2 -2
- package/.medusa/server/src/modules/party-master/migrations/Migration20251104050242.js +2 -2
- package/.medusa/server/src/modules/payment-book-master/index.js +13 -0
- package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +15 -0
- package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +12 -0
- package/.medusa/server/src/modules/payment-book-master/service.js +10 -0
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +2 -2
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +2 -2
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20251031061829.js +2 -2
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20251104050332.js +2 -2
- package/.medusa/server/src/modules/quality-master/migrations/Migration20251031095211.js +2 -2
- package/.medusa/server/src/modules/quality-master/migrations/Migration20251105045114.js +2 -2
- package/.medusa/server/src/modules/rate-chart-master/index.js +13 -0
- package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +15 -0
- package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +13 -0
- package/.medusa/server/src/modules/rate-chart-master/service.js +10 -0
- package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +2 -2
- package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +2 -2
- package/.medusa/server/src/modules/raw-master/migrations/Migration20251031061912.js +2 -2
- package/.medusa/server/src/modules/report-master/index.js +13 -0
- package/.medusa/server/src/modules/report-master/migrations/Migration20260121060955.js +15 -0
- package/.medusa/server/src/modules/report-master/migrations/Migration20260121112624.js +15 -0
- package/.medusa/server/src/modules/report-master/models/report-master.js +12 -0
- package/.medusa/server/src/modules/report-master/service.js +10 -0
- package/.medusa/server/src/modules/sale-master/index.js +13 -0
- package/.medusa/server/src/modules/sale-master/migrations/Migration20260205092935.js +15 -0
- package/.medusa/server/src/modules/sale-master/migrations/Migration20260205100000.js +16 -0
- package/.medusa/server/src/modules/sale-master/models/sale-master.js +27 -0
- package/.medusa/server/src/modules/sale-master/service.js +10 -0
- package/.medusa/server/src/modules/sale-return-master/index.js +13 -0
- package/.medusa/server/src/modules/sale-return-master/migrations/Migration20260205093034.js +15 -0
- package/.medusa/server/src/modules/sale-return-master/models/sale-return-master.js +16 -0
- package/.medusa/server/src/modules/sale-return-master/service.js +10 -0
- package/.medusa/server/src/modules/sale-return-policy-master/index.js +13 -0
- package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260105061449.js +21 -0
- package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129084920.js +14 -0
- package/.medusa/server/src/modules/sale-return-policy-master/migrations/Migration20260129085620.js +20 -0
- package/.medusa/server/src/modules/sale-return-policy-master/models/sale-return-policy-master.js +37 -0
- package/.medusa/server/src/modules/sale-return-policy-master/service.js +12 -0
- package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +2 -2
- package/.medusa/server/src/modules/shape-master/migrations/Migration20251031062019.js +2 -2
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +2 -2
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +2 -2
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251031062128.js +2 -2
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251104050501.js +2 -2
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20251203083315.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251031062303.js +2 -2
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20251104050743.js +2 -2
- package/.medusa/server/src/modules/tone-master/migrations/Migration20251031104320.js +2 -2
- package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251101082220.js +2 -2
- package/.medusa/server/src/modules/variant-option-sync-queue/migrations/Migration20251103123857.js +2 -2
- package/.medusa/server/src/subscribers/cutomer-updated.js +3 -1
- package/.medusa/server/src/subscribers/order-item-update.js +11 -0
- package/.medusa/server/src/subscribers/party-master.js +36 -35
- package/.medusa/server/src/subscribers/shipping-info-master.js +3 -3
- package/.medusa/server/src/utils/build-redis-key.js +3 -1
- package/.medusa/server/src/utils/state-helper.js +3 -2
- package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
- package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
- package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
- package/.medusa/server/src/workflows/applicable-sale-return-policy/index.js +11 -0
- package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/create-or-update-applicable-sale-return-policy.js +74 -0
- package/.medusa/server/src/workflows/applicable-sale-return-policy/steps/fetch-applicable-sale-return-policy.js +64 -0
- package/.medusa/server/src/workflows/book-list/index.js +11 -0
- package/.medusa/server/src/workflows/book-list/steps/create-or-update-book-list.js +55 -0
- package/.medusa/server/src/workflows/book-list/steps/fetch-book-list.js +64 -0
- package/.medusa/server/src/workflows/customer-advance-payment/index.js +18 -0
- package/.medusa/server/src/workflows/customer-advance-payment/steps/create-receive-voucher.js +71 -0
- package/.medusa/server/src/workflows/customer-advance-payment/steps/index.js +18 -0
- package/.medusa/server/src/workflows/customer-advance-payment/workflows/create-receive-voucher-workflow.js +11 -0
- package/.medusa/server/src/workflows/customer-advance-payment/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/helpers/product-helper.js +33 -17
- package/.medusa/server/src/workflows/helpers/variant-helper.js +165 -162
- package/.medusa/server/src/workflows/hooks/product-updated.js +6 -11
- package/.medusa/server/src/workflows/index.js +3 -1
- package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +6 -3
- package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +6 -2
- package/.medusa/server/src/workflows/item-master/index.js +11 -0
- package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
- package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
- package/.medusa/server/src/workflows/jewel-trans-master/index.js +18 -0
- package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +370 -0
- package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +18 -0
- package/.medusa/server/src/workflows/labour-chart-master/index.js +11 -0
- package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +38 -0
- package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +31 -0
- package/.medusa/server/src/workflows/order-master/index.js +3 -0
- package/.medusa/server/src/workflows/order-master/order-master-webhook.js +24 -0
- package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +239 -0
- package/.medusa/server/src/workflows/order-master/steps/delete-order-master-by-erp-ids.js +61 -0
- package/.medusa/server/src/workflows/order-master/steps/process-order-master-from-webhook.js +283 -0
- package/.medusa/server/src/workflows/orders/steps/find-nearest-pincodes-step.js +336 -0
- package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +77 -0
- package/.medusa/server/src/workflows/orders/steps/index.js +14 -1
- package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +185 -0
- package/.medusa/server/src/workflows/orders/steps/sync-buyback-to-erp-step.js +98 -0
- package/.medusa/server/src/workflows/orders/steps/sync-cancel-to-erp-step.js +119 -0
- package/.medusa/server/src/workflows/orders/steps/sync-exchange-to-erp-step.js +100 -0
- package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +161 -0
- package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +425 -16
- package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +147 -0
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +137 -30
- package/.medusa/server/src/workflows/orders/utils/order-request-helper.js +222 -0
- package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +10 -0
- package/.medusa/server/src/workflows/orders/workflows/index.js +3 -1
- package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +21 -0
- package/.medusa/server/src/workflows/orders/workflows/sync-old-gold-to-erp.js +10 -0
- package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +53 -4
- package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +44 -33
- package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +96 -0
- package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -1
- package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
- package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +2 -2
- package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
- package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +16 -249
- package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +103 -22
- package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +16 -10
- package/.medusa/server/src/workflows/payment-book-master/index.js +11 -0
- package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +37 -0
- package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +64 -0
- package/.medusa/server/src/workflows/rate-chart-master/index.js +11 -0
- package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +25 -0
- package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +31 -0
- package/.medusa/server/src/workflows/report-master/index.js +11 -0
- package/.medusa/server/src/workflows/report-master/steps/create-or-update-report-master.js +53 -0
- package/.medusa/server/src/workflows/report-master/steps/fetch-report.js +71 -0
- package/.medusa/server/src/workflows/sale-master/index.js +24 -0
- package/.medusa/server/src/workflows/sale-master/steps/create-sale-master.js +72 -0
- package/.medusa/server/src/workflows/sale-master/steps/delete-sale-master.js +59 -0
- package/.medusa/server/src/workflows/sale-master/steps/update-sale-master.js +95 -0
- package/.medusa/server/src/workflows/sale-return-master/index.js +24 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/create-sale-return-master.js +45 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/delete-sale-return-master.js +36 -0
- package/.medusa/server/src/workflows/sale-return-master/steps/update-sale-return-master.js +53 -0
- package/.medusa/server/src/workflows/sale-return-policy-master/index.js +11 -0
- package/.medusa/server/src/workflows/sale-return-policy-master/steps/create-or-update-sale-return-policy-master.js +91 -0
- package/.medusa/server/src/workflows/sale-return-policy-master/steps/fetch-sale-return-policy.js +31 -0
- package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +6 -8
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +9 -3
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRvZGF5LWdvbGQtcmF0ZS1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlcnMvc3RlcHMvZ2V0LXRvZGF5LWdvbGQtcmF0ZS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBK0U7QUFDL0UsbURBQTZDO0FBRTdDLDhDQUFrRDtBQUNsRCxvRUFBd0U7QUFFeEUsb0VBR3dDO0FBb0IzQixRQUFBLG9CQUFvQixHQUFHLElBQUEsMEJBQVUsRUFDNUMsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3pCLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFlLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQVUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sb0JBQW9CLEdBQXlCLFNBQVMsQ0FBQyxPQUFPLENBQ2xFLHNDQUFxQixDQUN0QixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBYSxFQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVwRCxNQUFNLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQW1CLFFBQVEsQ0FBQyxDQUFDO0lBRXhFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsa0JBQU0sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQU0sQ0FBQyxJQUFJLENBQ1Qsb0VBQW9FLENBQ3JFLENBQUM7SUFFRix1RkFBdUY7SUFDdkYsSUFBSSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUV4QixJQUFJLENBQUM7UUFDSCxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3hDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDO2dCQUN0QyxRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDdEMsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDeEMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3RDLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLFVBQWUsRUFBRSxDQUFDO1FBQ3pCLGtCQUFNLENBQUMsS0FBSyxDQUNWLHFEQUFxRCxVQUFVLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDekcsQ0FBQztRQUNGLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0NBQW9DLFVBQVUsRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLENBQzdFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDRSxDQUFDLEtBQUssRUFBRSxlQUFlO1FBQ3ZCLENBQUMsS0FBSyxFQUFFLGVBQWU7UUFDdkIsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUN2QixDQUFDO1FBQ0Qsa0JBQU0sQ0FBQyxLQUFLLENBQ1YsMkZBQTJGLENBQzVGLENBQUM7UUFDRixNQUFNLElBQUksS0FBSyxDQUNiLHlFQUF5RSxDQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxVQUFVLENBQUMsZUFBZSxFQUFFLENBQWlCLENBQUM7SUFDMUUsSUFDRSxDQUFDLFlBQVksRUFBRSxlQUFlO1FBQzlCLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFDekMsQ0FBQztRQUNELGtCQUFNLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUF3QjtRQUNsQyxJQUFJLEVBQUUsS0FBSztRQUNYLElBQUksRUFBRSxLQUFLO1FBQ1gsSUFBSSxFQUFFLEtBQUs7UUFDWCxJQUFJLEVBQUUsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLEVBQUUsNEJBQTRCO0tBQzdELENBQUM7SUFFRixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FDeEQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUNsQyxDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsTUFBTTtTQUN4QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNiLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHO1lBQ2pCLE1BQU0sRUFDSixDQUFDLENBQUMsZUFBZSxFQUFFLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRztTQUNqRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBZSxDQUFDO0lBR2pDLE1BQU0sTUFBTSxHQUFxQixFQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBQyxDQUFDO0lBRXJFLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDcEIsUUFBUSxFQUNSLE1BQU0sRUFDTix3Q0FBc0IsQ0FBQyxTQUFTLENBQ2pDLENBQUM7SUFFRixrQkFBTSxDQUFDLElBQUksQ0FDVCw0RUFBNEUsWUFBWSxDQUFDLE1BQU0sUUFBUSxDQUN4RyxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -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
|
-
|
|
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==
|