@devx-commerce/plugin-gati 0.0.34-beta.4 → 0.0.34-beta.41
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 +36 -1
- package/.medusa/server/src/api/erp/webhook/route.js +10 -137
- package/.medusa/server/src/api/erp/webhook/utils.js +8 -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/customer-ledger/middleware.js +13 -0
- package/.medusa/server/src/api/store/customer-ledger/route.js +49 -0
- package/.medusa/server/src/api/store/gold-rate/validators.js +2 -2
- package/.medusa/server/src/api/store/middleware.js +5 -1
- package/.medusa/server/src/api/store/wallet-balance/middleware.js +13 -0
- package/.medusa/server/src/api/store/wallet-balance/route.js +67 -0
- 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 +2 -2
- 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 +46 -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/material-purchase-master/index.js +13 -0
- package/.medusa/server/src/modules/material-purchase-master/migrations/Migration20260310090700.js +18 -0
- package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-detail-line.js +24 -0
- package/.medusa/server/src/modules/material-purchase-master/models/material-purchase-master.js +21 -0
- package/.medusa/server/src/modules/material-purchase-master/service.js +12 -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/migrations/Migration20260303000001.js +30 -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/helper/index.js +5 -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/material-purchase-master/index.js +24 -0
- package/.medusa/server/src/workflows/material-purchase-master/steps/create-material-purchase-master.js +79 -0
- package/.medusa/server/src/workflows/material-purchase-master/steps/delete-material-purchase-master.js +81 -0
- package/.medusa/server/src/workflows/material-purchase-master/steps/fetch-material-purchase-master.js +60 -0
- package/.medusa/server/src/workflows/material-purchase-master/steps/update-material-purchase-master.js +100 -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 +245 -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 +534 -16
- package/.medusa/server/src/workflows/orders/steps/sync-sale-return-to-erp-step.js +147 -0
- package/.medusa/server/src/workflows/orders/steps/update-old-gold-sync-status-step.js +60 -0
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +143 -36
- 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 +23 -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
|
@@ -1,8 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findVariantsAffectedByMasterUpdate = findVariantsAffectedByMasterUpdate;
|
|
4
|
+
const BATCH_SIZE = 250; // Process extended variants in batches to avoid memory issues
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to process extended variants in batches with pagination
|
|
7
|
+
* Returns a map of mapping_id -> extended_variant_id
|
|
8
|
+
*/
|
|
9
|
+
async function processExtendedVariantsInBatches(query, fields, filters, processFn) {
|
|
10
|
+
const mappingIdToExtendedVariantId = new Map();
|
|
11
|
+
let skip = 0;
|
|
12
|
+
let hasMore = true;
|
|
13
|
+
while (hasMore) {
|
|
14
|
+
const { data: extendedVariants } = await query.graph({
|
|
15
|
+
entity: "extended_variant",
|
|
16
|
+
fields,
|
|
17
|
+
filters,
|
|
18
|
+
pagination: {
|
|
19
|
+
skip,
|
|
20
|
+
take: BATCH_SIZE,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
if (!extendedVariants || extendedVariants.length === 0) {
|
|
24
|
+
hasMore = false;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
for (const ev of extendedVariants) {
|
|
28
|
+
if (processFn(ev) && ev.mapping_id && ev.id) {
|
|
29
|
+
mappingIdToExtendedVariantId.set(ev.mapping_id, ev.id);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// If we got fewer results than requested, we've reached the end
|
|
33
|
+
if (extendedVariants.length < BATCH_SIZE) {
|
|
34
|
+
hasMore = false;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
skip += BATCH_SIZE;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return mappingIdToExtendedVariantId;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Batch lookup product variants by their IDs
|
|
44
|
+
*/
|
|
45
|
+
async function batchLookupProductVariants(query, variantIds) {
|
|
46
|
+
const variantIdToProductId = new Map();
|
|
47
|
+
if (variantIds.length === 0) {
|
|
48
|
+
return variantIdToProductId;
|
|
49
|
+
}
|
|
50
|
+
// Process in batches to avoid query size limits
|
|
51
|
+
const VARIANT_LOOKUP_BATCH_SIZE = 1000;
|
|
52
|
+
for (let i = 0; i < variantIds.length; i += VARIANT_LOOKUP_BATCH_SIZE) {
|
|
53
|
+
const batch = variantIds.slice(i, i + VARIANT_LOOKUP_BATCH_SIZE);
|
|
54
|
+
const { data: variants } = await query.graph({
|
|
55
|
+
entity: "product_variant",
|
|
56
|
+
fields: ["id", "product_id"],
|
|
57
|
+
filters: {
|
|
58
|
+
id: batch,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
if (variants) {
|
|
62
|
+
for (const variant of variants) {
|
|
63
|
+
if (variant.product_id) {
|
|
64
|
+
variantIdToProductId.set(variant.id, variant.product_id);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return variantIdToProductId;
|
|
70
|
+
}
|
|
4
71
|
/**
|
|
5
72
|
* Finds variants affected by a master title update
|
|
73
|
+
* Uses pagination and batching to avoid memory issues
|
|
6
74
|
* @param query - Query service instance
|
|
7
75
|
* @param masterType - Type of master (RawMst, QualityMst, ToneMst, ItemSizeMst)
|
|
8
76
|
* @param masterCode - The master code to search for
|
|
@@ -11,197 +79,132 @@ exports.findVariantsAffectedByMasterUpdate = findVariantsAffectedByMasterUpdate;
|
|
|
11
79
|
async function findVariantsAffectedByMasterUpdate(query, masterType, masterCode) {
|
|
12
80
|
const affectedVariants = [];
|
|
13
81
|
try {
|
|
82
|
+
let extendedVariantIdMap = new Map();
|
|
14
83
|
switch (masterType) {
|
|
15
84
|
case "RawMst": {
|
|
16
85
|
// Find variants where party_style_details have matching raw_code AND is_base === true
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (ev.party_style_details) {
|
|
31
|
-
const hasMatchingBaseMetal = ev.party_style_details.some((detail) => detail.raw_code === masterCode &&
|
|
32
|
-
detail.is_base === true &&
|
|
33
|
-
detail.raw_type === "Metal");
|
|
34
|
-
if (hasMatchingBaseMetal && ev.mapping_id) {
|
|
35
|
-
// Get product_id from variant
|
|
36
|
-
const { data: variant } = await query.graph({
|
|
37
|
-
entity: "product_variant",
|
|
38
|
-
fields: ["id", "product_id"],
|
|
39
|
-
filters: {
|
|
40
|
-
id: ev.mapping_id,
|
|
41
|
-
// product: { status: ProductUtils.ProductStatus.PUBLISHED },
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
if (variant?.[0]?.product_id) {
|
|
45
|
-
affectedVariants.push({
|
|
46
|
-
variantId: ev.mapping_id,
|
|
47
|
-
productId: variant[0].product_id,
|
|
48
|
-
extendedVariantId: ev.id,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
86
|
+
const fields = [
|
|
87
|
+
"id",
|
|
88
|
+
"mapping_id",
|
|
89
|
+
"style_id",
|
|
90
|
+
"party_style_details.raw_code",
|
|
91
|
+
"party_style_details.is_base",
|
|
92
|
+
"party_style_details.raw_type",
|
|
93
|
+
];
|
|
94
|
+
extendedVariantIdMap = await processExtendedVariantsInBatches(query, fields, {}, (ev) => {
|
|
95
|
+
if (ev.party_style_details) {
|
|
96
|
+
return ev.party_style_details.some((detail) => detail.raw_code === masterCode &&
|
|
97
|
+
detail.is_base === true &&
|
|
98
|
+
detail.raw_type === "Metal");
|
|
53
99
|
}
|
|
54
|
-
|
|
100
|
+
return false;
|
|
101
|
+
});
|
|
55
102
|
break;
|
|
56
103
|
}
|
|
57
104
|
case "QualityMst": {
|
|
58
105
|
// Find variants where party_style_details have matching qly_code
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (extendedVariants) {
|
|
69
|
-
for (const ev of extendedVariants) {
|
|
70
|
-
if (ev.party_style_details) {
|
|
71
|
-
const hasMatchingQuality = ev.party_style_details.some((detail) => detail.qly_code === masterCode);
|
|
72
|
-
if (hasMatchingQuality && ev.mapping_id) {
|
|
73
|
-
const { data: variant } = await query.graph({
|
|
74
|
-
entity: "product_variant",
|
|
75
|
-
fields: ["id", "product_id"],
|
|
76
|
-
filters: {
|
|
77
|
-
id: ev.mapping_id,
|
|
78
|
-
// product: { status: ProductUtils.ProductStatus.PUBLISHED },
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
if (variant?.[0]?.product_id) {
|
|
82
|
-
affectedVariants.push({
|
|
83
|
-
variantId: ev.mapping_id,
|
|
84
|
-
productId: variant[0].product_id,
|
|
85
|
-
extendedVariantId: ev.id,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
106
|
+
const fields = [
|
|
107
|
+
"id",
|
|
108
|
+
"mapping_id",
|
|
109
|
+
"style_id",
|
|
110
|
+
"party_style_details.qly_code",
|
|
111
|
+
];
|
|
112
|
+
extendedVariantIdMap = await processExtendedVariantsInBatches(query, fields, {}, (ev) => {
|
|
113
|
+
if (ev.party_style_details) {
|
|
114
|
+
return ev.party_style_details.some((detail) => detail.qly_code === masterCode);
|
|
90
115
|
}
|
|
91
|
-
|
|
116
|
+
return false;
|
|
117
|
+
});
|
|
92
118
|
break;
|
|
93
119
|
}
|
|
94
120
|
case "ToneMst": {
|
|
95
121
|
// Find variants where party_style_details have matching tone_code
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (extendedVariants) {
|
|
106
|
-
for (const ev of extendedVariants) {
|
|
107
|
-
if (ev.party_style_details) {
|
|
108
|
-
const hasMatchingTone = ev.party_style_details.some((detail) => detail.tone_code === masterCode);
|
|
109
|
-
if (hasMatchingTone && ev.mapping_id) {
|
|
110
|
-
const { data: variant } = await query.graph({
|
|
111
|
-
entity: "product_variant",
|
|
112
|
-
fields: ["id", "product_id"],
|
|
113
|
-
filters: {
|
|
114
|
-
id: ev.mapping_id,
|
|
115
|
-
// product: { status: ProductUtils.ProductStatus.PUBLISHED },
|
|
116
|
-
},
|
|
117
|
-
});
|
|
118
|
-
if (variant?.[0]?.product_id) {
|
|
119
|
-
affectedVariants.push({
|
|
120
|
-
variantId: ev.mapping_id,
|
|
121
|
-
productId: variant[0].product_id,
|
|
122
|
-
extendedVariantId: ev.id,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
122
|
+
const fields = [
|
|
123
|
+
"id",
|
|
124
|
+
"mapping_id",
|
|
125
|
+
"style_id",
|
|
126
|
+
"party_style_details.tone_code",
|
|
127
|
+
];
|
|
128
|
+
extendedVariantIdMap = await processExtendedVariantsInBatches(query, fields, {}, (ev) => {
|
|
129
|
+
if (ev.party_style_details) {
|
|
130
|
+
return ev.party_style_details.some((detail) => detail.tone_code === masterCode);
|
|
127
131
|
}
|
|
128
|
-
|
|
132
|
+
return false;
|
|
133
|
+
});
|
|
129
134
|
break;
|
|
130
135
|
}
|
|
131
136
|
case "ItemSizeMst": {
|
|
132
137
|
// Find variants where extended_variant.item_size matches masterCode
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
// This case can use a filter, so we can query more efficiently
|
|
139
|
+
let skip = 0;
|
|
140
|
+
let hasMore = true;
|
|
141
|
+
while (hasMore) {
|
|
142
|
+
const { data: extendedVariants } = await query.graph({
|
|
143
|
+
entity: "extended_variant",
|
|
144
|
+
fields: ["id", "mapping_id", "style_id", "item_size"],
|
|
145
|
+
filters: {
|
|
146
|
+
item_size: masterCode,
|
|
147
|
+
},
|
|
148
|
+
pagination: {
|
|
149
|
+
skip,
|
|
150
|
+
take: BATCH_SIZE,
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
if (!extendedVariants || extendedVariants.length === 0) {
|
|
154
|
+
hasMore = false;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
141
157
|
for (const ev of extendedVariants) {
|
|
142
|
-
if (ev.mapping_id) {
|
|
143
|
-
|
|
144
|
-
entity: "product_variant",
|
|
145
|
-
fields: ["id", "product_id"],
|
|
146
|
-
filters: {
|
|
147
|
-
id: ev.mapping_id,
|
|
148
|
-
// product: { status: ProductUtils.ProductStatus.PUBLISHED },
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
if (variant?.[0]?.product_id) {
|
|
152
|
-
affectedVariants.push({
|
|
153
|
-
variantId: ev.mapping_id,
|
|
154
|
-
productId: variant[0].product_id,
|
|
155
|
-
extendedVariantId: ev.id,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
+
if (ev.mapping_id && ev.id) {
|
|
159
|
+
extendedVariantIdMap.set(ev.mapping_id, ev.id);
|
|
158
160
|
}
|
|
159
161
|
}
|
|
162
|
+
if (extendedVariants.length < BATCH_SIZE) {
|
|
163
|
+
hasMore = false;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
skip += BATCH_SIZE;
|
|
167
|
+
}
|
|
160
168
|
}
|
|
161
169
|
break;
|
|
162
170
|
}
|
|
163
171
|
case "ShapeMst": {
|
|
164
172
|
// Find variants where party_style_details have matching shape_code on base Diamond
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
if (ev.party_style_details) {
|
|
179
|
-
const hasMatchingShape = ev.party_style_details.some((detail) => detail.shape_code === masterCode &&
|
|
180
|
-
detail.is_base === true &&
|
|
181
|
-
detail.raw_type === "Diamond");
|
|
182
|
-
if (hasMatchingShape && ev.mapping_id) {
|
|
183
|
-
const { data: variant } = await query.graph({
|
|
184
|
-
entity: "product_variant",
|
|
185
|
-
fields: ["id", "product_id"],
|
|
186
|
-
filters: {
|
|
187
|
-
id: ev.mapping_id,
|
|
188
|
-
// product: { status: ProductUtils.ProductStatus.PUBLISHED },
|
|
189
|
-
},
|
|
190
|
-
});
|
|
191
|
-
if (variant?.[0]?.product_id) {
|
|
192
|
-
affectedVariants.push({
|
|
193
|
-
variantId: ev.mapping_id,
|
|
194
|
-
productId: variant[0].product_id,
|
|
195
|
-
extendedVariantId: ev.id,
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
173
|
+
const fields = [
|
|
174
|
+
"id",
|
|
175
|
+
"mapping_id",
|
|
176
|
+
"style_id",
|
|
177
|
+
"party_style_details.shape_code",
|
|
178
|
+
"party_style_details.raw_type",
|
|
179
|
+
"party_style_details.is_base",
|
|
180
|
+
];
|
|
181
|
+
extendedVariantIdMap = await processExtendedVariantsInBatches(query, fields, {}, (ev) => {
|
|
182
|
+
if (ev.party_style_details) {
|
|
183
|
+
return ev.party_style_details.some((detail) => detail.shape_code === masterCode &&
|
|
184
|
+
detail.is_base === true &&
|
|
185
|
+
detail.raw_type === "Diamond");
|
|
200
186
|
}
|
|
201
|
-
|
|
187
|
+
return false;
|
|
188
|
+
});
|
|
202
189
|
break;
|
|
203
190
|
}
|
|
204
191
|
}
|
|
192
|
+
// Get all matching mapping IDs (variant IDs)
|
|
193
|
+
const matchingMappingIds = Array.from(extendedVariantIdMap.keys());
|
|
194
|
+
// Batch lookup all product variants at once
|
|
195
|
+
const variantIdToProductId = await batchLookupProductVariants(query, matchingMappingIds);
|
|
196
|
+
// Build the result array
|
|
197
|
+
for (const variantId of matchingMappingIds) {
|
|
198
|
+
const productId = variantIdToProductId.get(variantId);
|
|
199
|
+
const extendedVariantId = extendedVariantIdMap.get(variantId);
|
|
200
|
+
if (productId && extendedVariantId) {
|
|
201
|
+
affectedVariants.push({
|
|
202
|
+
variantId,
|
|
203
|
+
productId,
|
|
204
|
+
extendedVariantId,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
205
208
|
}
|
|
206
209
|
catch (error) {
|
|
207
210
|
console.error(`Error finding affected variants for ${masterType} with code ${masterCode}:`, error);
|
|
@@ -209,4 +212,4 @@ async function findVariantsAffectedByMasterUpdate(query, masterType, masterCode)
|
|
|
209
212
|
}
|
|
210
213
|
return affectedVariants;
|
|
211
214
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hlbHBlcnMvdmFyaWFudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzR0EsZ0ZBZ01DO0FBOVJELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDhEQUE4RDtBQUV0Rjs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsZ0NBQWdDLENBQzdDLEtBQVUsRUFDVixNQUFnQixFQUNoQixPQUFZLEVBQ1osU0FBK0I7SUFFL0IsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUMvRCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFDYixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFbkIsT0FBTyxPQUFPLEVBQUUsQ0FBQztRQUNmLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDbkQsTUFBTSxFQUFFLGtCQUFrQjtZQUMxQixNQUFNO1lBQ04sT0FBTztZQUNQLFVBQVUsRUFBRTtnQkFDVixJQUFJO2dCQUNKLElBQUksRUFBRSxVQUFVO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2hCLE1BQU07UUFDUixDQUFDO1FBRUQsS0FBSyxNQUFNLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM1Qyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQztRQUNILENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFLENBQUM7WUFDekMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNsQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxVQUFVLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLDRCQUE0QixDQUFDO0FBQ3RDLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSwwQkFBMEIsQ0FDdkMsS0FBVSxFQUNWLFVBQW9CO0lBRXBCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFFdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQztJQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcseUJBQXlCLENBQUMsQ0FBQztRQUNqRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7WUFDNUIsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxLQUFLO2FBQ1Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3ZCLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsa0NBQWtDLENBQ3RELEtBQVUsRUFDVixVQUE0RSxFQUM1RSxVQUFrQjtJQUVsQixNQUFNLGdCQUFnQixHQUFzQixFQUFFLENBQUM7SUFFL0MsSUFBSSxDQUFDO1FBQ0gsSUFBSSxvQkFBb0IsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRCxRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxzRkFBc0Y7Z0JBQ3RGLE1BQU0sTUFBTSxHQUFHO29CQUNiLElBQUk7b0JBQ0osWUFBWTtvQkFDWixVQUFVO29CQUNWLDhCQUE4QjtvQkFDOUIsNkJBQTZCO29CQUM3Qiw4QkFBOEI7aUJBQy9CLENBQUM7Z0JBRUYsb0JBQW9CLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FDM0QsS0FBSyxFQUNMLE1BQU0sRUFDTixFQUFFLEVBQ0YsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDTCxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO3dCQUMzQixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVU7NEJBQzlCLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSTs0QkFDdkIsTUFBTSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQzlCLENBQUM7b0JBQ0osQ0FBQztvQkFDRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDLENBQ0YsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztZQUVELEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDbEIsaUVBQWlFO2dCQUNqRSxNQUFNLE1BQU0sR0FBRztvQkFDYixJQUFJO29CQUNKLFlBQVk7b0JBQ1osVUFBVTtvQkFDViw4QkFBOEI7aUJBQy9CLENBQUM7Z0JBRUYsb0JBQW9CLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FDM0QsS0FBSyxFQUNMLE1BQU0sRUFDTixFQUFFLEVBQ0YsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDTCxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO3dCQUMzQixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FDaEQsQ0FBQztvQkFDSixDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUMsQ0FDRixDQUFDO2dCQUNGLE1BQU07WUFDUixDQUFDO1lBRUQsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNmLGtFQUFrRTtnQkFDbEUsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsSUFBSTtvQkFDSixZQUFZO29CQUNaLFVBQVU7b0JBQ1YsK0JBQStCO2lCQUNoQyxDQUFDO2dCQUVGLG9CQUFvQixHQUFHLE1BQU0sZ0NBQWdDLENBQzNELEtBQUssRUFDTCxNQUFNLEVBQ04sRUFBRSxFQUNGLENBQUMsRUFBRSxFQUFFLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDM0IsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNoQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQ2pELENBQUM7b0JBQ0osQ0FBQztvQkFDRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDLENBQ0YsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztZQUVELEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsb0VBQW9FO2dCQUNwRSwrREFBK0Q7Z0JBQy9ELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDYixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBRW5CLE9BQU8sT0FBTyxFQUFFLENBQUM7b0JBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQzt3QkFDbkQsTUFBTSxFQUFFLGtCQUFrQjt3QkFDMUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO3dCQUNyRCxPQUFPLEVBQUU7NEJBQ1AsU0FBUyxFQUFFLFVBQVU7eUJBQ3RCO3dCQUNELFVBQVUsRUFBRTs0QkFDVixJQUFJOzRCQUNKLElBQUksRUFBRSxVQUFVO3lCQUNqQjtxQkFDRixDQUFDLENBQUM7b0JBRUgsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDdkQsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDaEIsTUFBTTtvQkFDUixDQUFDO29CQUVELEtBQUssTUFBTSxFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDbEMsSUFBSSxFQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzs0QkFDM0Isb0JBQW9CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNqRCxDQUFDO29CQUNILENBQUM7b0JBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFLENBQUM7d0JBQ3pDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ2xCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLElBQUksVUFBVSxDQUFDO29CQUNyQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7WUFFRCxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLG1GQUFtRjtnQkFDbkYsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsSUFBSTtvQkFDSixZQUFZO29CQUNaLFVBQVU7b0JBQ1YsZ0NBQWdDO29CQUNoQyw4QkFBOEI7b0JBQzlCLDZCQUE2QjtpQkFDOUIsQ0FBQztnQkFFRixvQkFBb0IsR0FBRyxNQUFNLGdDQUFnQyxDQUMzRCxLQUFLLEVBQ0wsTUFBTSxFQUNOLEVBQUUsRUFDRixDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUNMLElBQUksRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7d0JBQzNCLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDaEMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNkLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVTs0QkFDaEMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJOzRCQUN2QixNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FDaEMsQ0FBQztvQkFDSixDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUMsQ0FDRixDQUFDO2dCQUNGLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRSw0Q0FBNEM7UUFDNUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLDBCQUEwQixDQUMzRCxLQUFLLEVBQ0wsa0JBQWtCLENBQ25CLENBQUM7UUFFRix5QkFBeUI7UUFDekIsS0FBSyxNQUFNLFNBQVMsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1lBQzNDLE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU5RCxJQUFJLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUNuQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLFNBQVM7b0JBQ1QsU0FBUztvQkFDVCxpQkFBaUI7aUJBQ2xCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLHVDQUF1QyxVQUFVLGNBQWMsVUFBVSxHQUFHLEVBQzVFLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIn0=
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
4
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
5
|
-
const emitProductSyncedWorkflow = (0, workflows_sdk_1.createWorkflow)("emit-product-synced", ({ productId, additional_data, }) => {
|
|
6
|
-
(0, core_flows_1.emitEventStep)({
|
|
7
|
-
eventName: "product-status-synced",
|
|
8
|
-
data: { productId, additional_data },
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
5
|
core_flows_1.updateProductsWorkflow.hooks.productsUpdated(async ({ products, additional_data }, { container }) => {
|
|
12
|
-
const
|
|
13
|
-
await Promise.all(products.map((product) =>
|
|
14
|
-
|
|
6
|
+
const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
|
|
7
|
+
await Promise.all(products.map((product) => eventBus.emit({
|
|
8
|
+
name: "product-status-synced",
|
|
9
|
+
data: {
|
|
15
10
|
productId: product.id,
|
|
16
11
|
additional_data: additional_data?.[product?.external_id] || additional_data,
|
|
17
12
|
},
|
|
18
13
|
})));
|
|
19
14
|
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC11cGRhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9wcm9kdWN0LXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBb0Q7QUFDcEQsNERBQXFFO0FBR3JFLG1DQUFzQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQzFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckQsTUFBTSxRQUFRLEdBQTJCLFNBQVMsQ0FBQyxPQUFPLENBQ3hELGVBQU8sQ0FBQyxTQUFTLENBQ2xCLENBQUM7SUFFRixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDWixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNyQixlQUFlLEVBQ2IsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVksQ0FBQyxJQUFJLGVBQWU7U0FDOUQ7S0FDRixDQUFDLENBQ0gsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./party-master"), exports);
|
|
18
18
|
__exportStar(require("./shipping-info-master"), exports);
|
|
19
19
|
__exportStar(require("./update-extended-variant-from-variant"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./customer-advance-payment"), exports);
|
|
21
|
+
__exportStar(require("./item-master"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IseURBQXVDO0FBQ3ZDLHlFQUF1RDtBQUN2RCw2REFBMkM7QUFDM0MsZ0RBQThCIn0=
|
|
@@ -92,6 +92,10 @@ const transformInwardMaster = (input) => {
|
|
|
92
92
|
total_stone_weight: input.TotStoneWt,
|
|
93
93
|
total_cz_pcs: input.TotCzPcs,
|
|
94
94
|
total_cz_weight: input.TotCzWt,
|
|
95
|
+
// If status is "On Hold" with status_id "A", clear inward marking fields
|
|
96
|
+
...(input.Status?.toLowerCase() === "on hold" && input.StatusId === "A"
|
|
97
|
+
? { is_inward_marked: false, inward_marked_at: null, inward_order_id: null }
|
|
98
|
+
: {}),
|
|
95
99
|
};
|
|
96
100
|
};
|
|
97
101
|
exports.transformInwardMaster = transformInwardMaster;
|
|
@@ -423,4 +427,4 @@ const prepareUpdateInStockInput = ({ allInventoryItems, inwards, stockLocations,
|
|
|
423
427
|
return adjustments;
|
|
424
428
|
};
|
|
425
429
|
exports.prepareUpdateInStockInput = prepareUpdateInStockInput;
|
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvaGVscGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLCtDQUFrRDtBQWEzQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFO0lBQ3hFLE9BQU87UUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdkIsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzNCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN6QixXQUFXLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQ2hDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTztRQUN2QixVQUFVLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDM0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7UUFDekIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM5QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzVDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ25CLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDakMsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQzFCLFlBQVksRUFBRSxLQUFLLENBQUMsV0FBVztRQUMvQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsZUFBZTtRQUN4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
|
|
430
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvaGVscGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLCtDQUFrRDtBQWEzQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFO0lBQ3hFLE9BQU87UUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdkIsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzNCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN6QixXQUFXLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQ2hDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTztRQUN2QixVQUFVLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDM0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7UUFDekIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM5QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1FBQzVDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ25CLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtRQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDakMsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQzFCLFlBQVksRUFBRSxLQUFLLENBQUMsV0FBVztRQUMvQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsZUFBZTtRQUN4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
|