@devx-commerce/plugin-gati 0.0.2-beta.13 → 0.0.2-beta.131
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/api/admin/erp-event/middlewares.js +17 -0
- package/.medusa/server/src/api/admin/erp-event/query-config.js +23 -0
- package/.medusa/server/src/api/admin/erp-event/route.js +22 -0
- package/.medusa/server/src/api/admin/erp-event/utils.js +20 -0
- package/.medusa/server/src/api/admin/erp-event/validators.js +9 -0
- package/.medusa/server/src/api/admin/middlewares.js +11 -0
- package/.medusa/server/src/api/erp/middleware.js +29 -0
- package/.medusa/server/src/api/erp/webhook/config.js +139 -0
- package/.medusa/server/src/api/erp/webhook/route.js +134 -94
- package/.medusa/server/src/api/erp/webhook/utils.js +61 -0
- package/.medusa/server/src/api/middlewares.js +17 -0
- package/.medusa/server/src/api/store/carts/[id]/custom-add-line-items/route.js +17 -0
- package/.medusa/server/src/api/store/carts/middleware.js +14 -0
- package/.medusa/server/src/api/store/custom-price/[variant_id]/route.js +25 -0
- package/.medusa/server/src/api/store/custom-price/middleware.js +13 -0
- package/.medusa/server/src/api/store/custom-price/query-config.js +11 -0
- package/.medusa/server/src/api/store/custom-price/validators.js +16 -0
- package/.medusa/server/src/api/store/middleware.js +15 -0
- package/.medusa/server/src/commands/bulk-jobs/erp-webhook-batch.js +560 -0
- package/.medusa/server/src/commands/utils/command-args.js +85 -0
- package/.medusa/server/src/jobs/process-pending-erp-events.js +112 -0
- package/.medusa/server/src/lib/api-response.js +103 -0
- package/.medusa/server/src/modules/category-group-master/index.js +13 -0
- package/.medusa/server/src/modules/category-group-master/migrations/Migration20250729035221.js +16 -0
- package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +13 -0
- package/.medusa/server/src/modules/category-group-master/service.js +10 -0
- package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
- package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
- package/.medusa/server/src/modules/category-master/migrations/Migration20250729040659.js +18 -0
- package/.medusa/server/src/modules/category-master/models/category-master.js +8 -2
- package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
- package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
- package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
- package/.medusa/server/src/modules/collection-group-master/service.js +10 -0
- package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +14 -0
- package/.medusa/server/src/modules/collection-master/models/collection-master.js +4 -1
- package/.medusa/server/src/modules/discount-master/index.js +13 -0
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +21 -0
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +16 -0
- package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +14 -0
- package/.medusa/server/src/modules/discount-master/models/discount-master.js +62 -0
- package/.medusa/server/src/modules/discount-master/service.js +84 -0
- package/.medusa/server/src/modules/erp/service.js +67 -1
- package/.medusa/server/src/modules/erp-event/index.js +13 -0
- package/.medusa/server/src/modules/erp-event/migrations/Migration20250908040911.js +15 -0
- package/.medusa/server/src/modules/erp-event/models/erp-event.js +16 -0
- package/.medusa/server/src/modules/erp-event/service.js +10 -0
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250716041546.js +14 -0
- package/.medusa/server/src/modules/extended-product/models/extended-product.js +55 -5
- package/.medusa/server/src/modules/extended-product/service.js +3 -1
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250716121609.js +14 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250725104852.js +14 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250726232339.js +14 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +14 -0
- package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +258 -11
- package/.medusa/server/src/modules/extended-variant/service.js +24 -1
- package/.medusa/server/src/modules/party-master/index.js +13 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
- package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +14 -0
- package/.medusa/server/src/modules/party-master/models/party-master.js +61 -0
- package/.medusa/server/src/modules/party-master/service.js +10 -0
- package/.medusa/server/src/modules/promocode-master/index.js +13 -0
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20250819123821.js +27 -0
- package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +14 -0
- package/.medusa/server/src/modules/promocode-master/models/promocode-master.js +67 -0
- package/.medusa/server/src/modules/promocode-master/service.js +13 -0
- package/.medusa/server/src/modules/shipping-info-master/index.js +13 -0
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713113247.js +17 -0
- package/.medusa/server/src/modules/shipping-info-master/migrations/Migration20250713121440.js +16 -0
- package/.medusa/server/src/modules/shipping-info-master/models/shipping-info-master.js +22 -0
- package/.medusa/server/src/modules/shipping-info-master/service.js +10 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025135.js +16 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730025307.js +22 -0
- package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250730032130.js +14 -0
- package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +9 -4
- package/.medusa/server/src/subscribers/capture-payment.js +36 -0
- package/.medusa/server/src/subscribers/category-group-master.js +118 -0
- package/.medusa/server/src/subscribers/category-master.js +134 -0
- package/.medusa/server/src/subscribers/collection-master.js +3 -9
- package/.medusa/server/src/subscribers/create-customer.js +60 -0
- package/.medusa/server/src/subscribers/mark-inward.js +77 -0
- package/.medusa/server/src/subscribers/party-master-location.js +126 -0
- package/.medusa/server/src/subscribers/party-master.js +263 -0
- package/.medusa/server/src/subscribers/product-sync.js +27 -0
- package/.medusa/server/src/subscribers/shipping-info-master.js +136 -0
- package/.medusa/server/src/subscribers/sub-category-master.js +130 -0
- package/.medusa/server/src/utils/address-formatter.js +60 -0
- package/.medusa/server/src/utils/phone-mapper.js +28 -0
- package/.medusa/server/src/utils/state-helper.js +72 -0
- package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
- package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
- package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
- package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
- package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/bulk-jobs-task-trigger/index.js +31 -0
- package/.medusa/server/src/workflows/bulk-jobs-task-trigger/steps/create-job-tracking.js +15 -0
- package/.medusa/server/src/workflows/bulk-jobs-task-trigger/steps/trigger-ecs-task.js +95 -0
- package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
- package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +20 -0
- package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
- package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
- package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +28 -0
- package/.medusa/server/src/workflows/category-master/index.js +29 -1
- package/.medusa/server/src/workflows/category-master/steps/create-category.js +8 -2
- package/.medusa/server/src/workflows/category-master/steps/delete-category.js +1 -1
- package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +2 -2
- package/.medusa/server/src/workflows/category-master/steps/update-category.js +12 -9
- package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
- package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +46 -0
- package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
- package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
- package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
- package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
- package/.medusa/server/src/workflows/collection-master/index.js +13 -3
- package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
- package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +6 -2
- package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +7 -8
- package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +2 -2
- package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +4 -1
- package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +36 -4
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +15 -5
- package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
- package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
- package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
- package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
- package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
- package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
- package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/discount-master/index.js +19 -0
- package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
- package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
- package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
- package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
- package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
- package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
- package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
- package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
- package/.medusa/server/src/workflows/erp-event/index.js +19 -0
- package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +20 -0
- package/.medusa/server/src/workflows/erp-event/steps/index.js +19 -0
- package/.medusa/server/src/workflows/erp-event/steps/update-erp-event.js +22 -0
- package/.medusa/server/src/workflows/erp-event/workflows/create-erp-event.js +10 -0
- package/.medusa/server/src/workflows/erp-event/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/erp-event/workflows/update-erp-event.js +10 -0
- package/.medusa/server/src/workflows/helpers/product-helper.js +262 -77
- package/.medusa/server/src/workflows/hooks/product-created.js +7 -9
- package/.medusa/server/src/workflows/hooks/product-updated.js +15 -11
- package/.medusa/server/src/workflows/hooks/variant-created.js +7 -9
- package/.medusa/server/src/workflows/hooks/variant-updated.js +31 -0
- package/.medusa/server/src/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/inward-master/helper/index.js +377 -0
- package/.medusa/server/src/workflows/inward-master/index.js +19 -0
- package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
- package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
- package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
- package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +24 -0
- package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
- package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
- package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
- package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
- package/.medusa/server/src/workflows/inward-master/steps/fetch-inward-master.js +70 -0
- package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
- package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
- package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +49 -0
- package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +36 -0
- package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
- package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +258 -0
- package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +183 -0
- package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
- package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +101 -0
- package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +192 -0
- package/.medusa/server/src/workflows/notification/index.js +10 -0
- package/.medusa/server/src/workflows/notification/steps/create-notification.js +15 -0
- package/.medusa/server/src/workflows/orders/index.js +18 -0
- package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
- package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +53 -0
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +77 -0
- package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +42 -0
- package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
- package/.medusa/server/src/workflows/party-master/index.js +19 -0
- package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +85 -0
- package/.medusa/server/src/workflows/party-master/steps/create-party.js +72 -0
- package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
- package/.medusa/server/src/workflows/{create-or-update-party-style-master/steps/fetch-party-styles.js → party-master/steps/fetch-party-master.js} +6 -6
- package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
- package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
- package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
- package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
- package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
- package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
- package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
- package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
- package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
- package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
- package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
- package/.medusa/server/src/workflows/party-style-master/steps/index.js +20 -0
- package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
- package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +238 -0
- package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
- package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +408 -0
- package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +98 -0
- package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
- package/.medusa/server/src/workflows/promocode-master/index.js +58 -0
- package/.medusa/server/src/workflows/promocode-master/steps/create-promocode.js +85 -0
- package/.medusa/server/src/workflows/promocode-master/steps/delete-promocode.js +75 -0
- package/.medusa/server/src/workflows/promocode-master/steps/fetch-collection-master.js +70 -0
- package/.medusa/server/src/workflows/promocode-master/steps/update-promocode.js +132 -0
- package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +1 -2
- package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +2 -2
- package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +1 -2
- package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +2 -2
- package/.medusa/server/src/workflows/shipping-info-master/helper/index.js +23 -0
- package/.medusa/server/src/workflows/shipping-info-master/index.js +19 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info-erp.js +37 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info.js +17 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/delete-shipping-info.js +20 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/fetch-shipping-info-master.js +70 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/index.js +22 -0
- package/.medusa/server/src/workflows/shipping-info-master/steps/update-shipping-info.js +36 -0
- package/.medusa/server/src/workflows/shipping-info-master/types/index.js +3 -0
- package/.medusa/server/src/workflows/shipping-info-master/workflows/create-shipping-info.js +24 -0
- package/.medusa/server/src/workflows/shipping-info-master/workflows/delete-shipping-info.js +28 -0
- package/.medusa/server/src/workflows/shipping-info-master/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/shipping-info-master/workflows/update-shipping-info.js +22 -0
- package/.medusa/server/src/workflows/style-master/index.js +19 -0
- package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
- package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
- package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
- package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +330 -0
- package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
- package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/sub-category-master/index.js +34 -3
- package/.medusa/server/src/workflows/sub-category-master/steps/create-category.js +65 -0
- package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +6 -2
- package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +2 -2
- package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +2 -2
- package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +12 -9
- package/.medusa/server/src/workflows/types/bulk-export.js +10 -0
- package/.medusa/server/src/workflows/types/common.js +21 -0
- package/.medusa/server/src/workflows/types/index.js +1 -9
- package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +14 -5
- package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +17 -37
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/index.js +20 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-from-variant.js +56 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-from-variant.js +50 -0
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/workflows/update-extended-variant-status-from-variant.js +55 -0
- package/package.json +7 -2
- package/.medusa/server/src/api/admin/plugin/route.js +0 -7
- package/.medusa/server/src/api/store/plugin/route.js +0 -7
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
- package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -123
- package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -177
- package/.medusa/server/src/workflows/create-or-update-style-master/steps/fetch-styles.js +0 -70
- package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +0 -37
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteInwardDetailLinesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.deleteInwardDetailLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-detail-lines", async (ids, { container }) => {
|
|
6
|
+
const service = container.resolve("extended_variant");
|
|
7
|
+
await service.deleteInwardDetailsLines(ids);
|
|
8
|
+
return new workflows_sdk_1.StepResponse(void 0, ids);
|
|
9
|
+
}, async (prevIds, { container }) => {
|
|
10
|
+
if (!prevIds?.length) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const service = container.resolve("extended_variant");
|
|
14
|
+
await service.restoreInwardDetailsLines(prevIds);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1kZXRhaWwtbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvZGVsZXRlLWlud2FyZC1kZXRhaWwtbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSWhFLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLEdBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckMsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteInwardExplorationLinesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.deleteInwardExplorationLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-exploration-lines", async (ids, { container }) => {
|
|
6
|
+
const service = container.resolve("extended_variant");
|
|
7
|
+
await service.deleteInwardExplorationLines(ids);
|
|
8
|
+
return new workflows_sdk_1.StepResponse(void 0, ids);
|
|
9
|
+
}, async (prevIds, { container }) => {
|
|
10
|
+
if (!prevIds) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const service = container.resolve("extended_variant");
|
|
14
|
+
await service.restoreInwardExplorationLines(prevIds);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1leHBsb3JhdGlvbi1saW5lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9kZWxldGUtaW53YXJkLWV4cGxvcmF0aW9uLWxpbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUloRSxRQUFBLGdDQUFnQyxHQUFHLElBQUEsMEJBQVUsRUFDeEQsaUNBQWlDLEVBQ2pDLEtBQUssRUFBRSxHQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JDLE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUV4QyxNQUFNLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsTUFBTSxPQUFPLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteInwardExtraChargesLinesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.deleteInwardExtraChargesLinesStep = (0, workflows_sdk_1.createStep)("delete-inward-extra-charges-lines", async (ids, { container }) => {
|
|
6
|
+
const service = container.resolve("extended_variant");
|
|
7
|
+
await service.deleteInwardExtraChargesLines(ids);
|
|
8
|
+
return new workflows_sdk_1.StepResponse(void 0, ids);
|
|
9
|
+
}, async (prevIds, { container }) => {
|
|
10
|
+
if (!prevIds) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const service = container.resolve("extended_variant");
|
|
14
|
+
await service.restoreInwardExtraChargesLines(prevIds);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC1leHRyYS1jaGFyZ2VzLWxpbmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9pbndhcmQtbWFzdGVyL3N0ZXBzL2RlbGV0ZS1pbndhcmQtZXh0cmEtY2hhcmdlcy1saW5lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFJaEUsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELG1DQUFtQyxFQUNuQyxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyQyxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFeEMsTUFBTSxPQUFPLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakQsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxFQUNELEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteInwardMasterStep = exports.deleteInwardMasterStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.deleteInwardMasterStepId = "delete-inward-master";
|
|
6
|
+
/**
|
|
7
|
+
* This step deletes one or more inward masters.
|
|
8
|
+
*/
|
|
9
|
+
exports.deleteInwardMasterStep = (0, workflows_sdk_1.createStep)(exports.deleteInwardMasterStepId, async (ids, { container }) => {
|
|
10
|
+
const service = container.resolve("extended_variant");
|
|
11
|
+
await service.softDeleteInwardMasters(ids);
|
|
12
|
+
return new workflows_sdk_1.StepResponse(void 0, ids);
|
|
13
|
+
}, async (prevIds, { container }) => {
|
|
14
|
+
if (!prevIds?.length) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const service = container.resolve("extended_variant");
|
|
18
|
+
await service.restoreInwardMasters(prevIds);
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9kZWxldGUtaW53YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFFQUE2RTtBQVFoRSxRQUFBLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDO0FBQy9EOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLGdDQUF3QixFQUN4QixLQUFLLEVBQUUsR0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchInwardMaster = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const BATCH_SIZE = 50; // Process 50 items at a time
|
|
6
|
+
const MAX_RETRIES = 3;
|
|
7
|
+
const RETRY_DELAY = 1000; // 1 second delay between retries
|
|
8
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
9
|
+
const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
|
|
10
|
+
try {
|
|
11
|
+
const results = await Promise.all(batch.map(async (transactionId) => {
|
|
12
|
+
try {
|
|
13
|
+
return await erpService.getMasterData(datafor, transactionId);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
console.error(`Error fetching data for ID ${transactionId}:`, error);
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
// Filter out failed requests
|
|
21
|
+
const successfulResults = results.filter((result) => result !== null);
|
|
22
|
+
// If we have failed requests and haven't exceeded max retries, retry them
|
|
23
|
+
if (results.length !== successfulResults.length &&
|
|
24
|
+
retryCount < MAX_RETRIES) {
|
|
25
|
+
const failedIds = batch.filter((_, index) => results[index] === null);
|
|
26
|
+
console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
|
|
27
|
+
await sleep(RETRY_DELAY);
|
|
28
|
+
const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
|
|
29
|
+
return [...successfulResults, ...retryResults];
|
|
30
|
+
}
|
|
31
|
+
return successfulResults.filter(Boolean);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error("Batch processing error:", error);
|
|
35
|
+
if (retryCount < MAX_RETRIES) {
|
|
36
|
+
console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
|
|
37
|
+
await sleep(RETRY_DELAY);
|
|
38
|
+
return processBatch(erpService, datafor, batch, retryCount + 1);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Step to fetch style data from ERP system
|
|
45
|
+
* This step processes data in batches to avoid timeouts and handle large datasets
|
|
46
|
+
* @param input - Contains datafor type and array of transaction IDs
|
|
47
|
+
* @param container - Dependency injection container to resolve services
|
|
48
|
+
*/
|
|
49
|
+
exports.fetchInwardMaster = (0, workflows_sdk_1.createStep)("fetch-inward-master", async (input, { container }) => {
|
|
50
|
+
const erpService = container.resolve("erp");
|
|
51
|
+
const { datafor, data } = input;
|
|
52
|
+
// Split data into batches
|
|
53
|
+
const batches = [];
|
|
54
|
+
for (let i = 0; i < data.length; i += BATCH_SIZE) {
|
|
55
|
+
batches.push(data.slice(i, i + BATCH_SIZE));
|
|
56
|
+
}
|
|
57
|
+
console.log(`Processing ${data.length} items in ${batches.length} batches`);
|
|
58
|
+
// Process each batch sequentially
|
|
59
|
+
const allResults = [];
|
|
60
|
+
for (let i = 0; i < batches.length; i++) {
|
|
61
|
+
console.log(`Processing batch ${i + 1}/${batches.length}`);
|
|
62
|
+
const batchResults = await processBatch(erpService, datafor, batches[i]);
|
|
63
|
+
allResults.push(...batchResults);
|
|
64
|
+
}
|
|
65
|
+
console.log(`Successfully processed ${allResults.length} items`);
|
|
66
|
+
return new workflows_sdk_1.StepResponse(allResults.flatMap((innerArray) => innerArray));
|
|
67
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-inward-master");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaW53YXJkLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy9mZXRjaC1pbndhcmQtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUs3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFHLE9BQU8s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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./create-inward"), exports);
|
|
18
|
+
__exportStar(require("./create-inward-detail-lines"), exports);
|
|
19
|
+
__exportStar(require("./create-inward-exploration-lines"), exports);
|
|
20
|
+
__exportStar(require("./create-inward-extra-charges-lines"), exports);
|
|
21
|
+
__exportStar(require("./delete-inward"), exports);
|
|
22
|
+
__exportStar(require("./delete-inward-detail-lines"), exports);
|
|
23
|
+
__exportStar(require("./delete-inward-exploration-lines"), exports);
|
|
24
|
+
__exportStar(require("./delete-inward-extra-charges-lines"), exports);
|
|
25
|
+
__exportStar(require("./fetch-inward-master"), exports);
|
|
26
|
+
__exportStar(require("./update-instock"), exports);
|
|
27
|
+
__exportStar(require("./update-inward"), exports);
|
|
28
|
+
__exportStar(require("./update-variant-manage-inventory"), exports);
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQywrREFBNkM7QUFDN0Msb0VBQWtEO0FBQ2xELHNFQUFvRDtBQUNwRCxrREFBZ0M7QUFDaEMsK0RBQTZDO0FBQzdDLG9FQUFrRDtBQUNsRCxzRUFBb0Q7QUFDcEQsd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyxrREFBZ0M7QUFDaEMsb0VBQWtEIn0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateInStockStep = exports.updateInStockStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
/**
|
|
7
|
+
* Step identifier for update inward operation
|
|
8
|
+
*/
|
|
9
|
+
exports.updateInStockStepId = "update-instock";
|
|
10
|
+
exports.updateInStockStep = (0, workflows_sdk_1.createStep)(exports.updateInStockStepId, async (data, { container }) => {
|
|
11
|
+
const service = container.resolve("extended_variant");
|
|
12
|
+
if (data.inwards.some((p) => !p.selector.id)) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Inward ID is required when doing update inward");
|
|
14
|
+
}
|
|
15
|
+
if (!data.inwards.length) {
|
|
16
|
+
return new workflows_sdk_1.StepResponse([], []);
|
|
17
|
+
}
|
|
18
|
+
const prevData = await service.listInwardMasters({
|
|
19
|
+
id: data.inwards.map((p) => p.selector.id),
|
|
20
|
+
});
|
|
21
|
+
// Update each inward master individually
|
|
22
|
+
const updatedInwards = [];
|
|
23
|
+
for (const inward of data.inwards) {
|
|
24
|
+
const result = await service.updateInwardMasters(inward.selector, inward.update);
|
|
25
|
+
const resultArray = Array.isArray(result) ? result : [result];
|
|
26
|
+
updatedInwards.push(...resultArray);
|
|
27
|
+
}
|
|
28
|
+
return new workflows_sdk_1.StepResponse(updatedInwards, prevData);
|
|
29
|
+
}, async (previousData, { container }) => {
|
|
30
|
+
// if (!previousData?.length) {
|
|
31
|
+
// return;
|
|
32
|
+
// }
|
|
33
|
+
// const service: ExtendedVariantService =
|
|
34
|
+
// container.resolve("extended_variant");
|
|
35
|
+
// await service.updateInwardMasters(previousData);
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWluc3RvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvc3RlcHMvdXBkYXRlLWluc3RvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXdEO0FBQ3hELHFFQUE2RTtBQVc3RTs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDJCQUFtQixFQUNuQixLQUFLLEVBQUUsSUFBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXhDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdEQUFnRCxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBYTtLQUN2RCxDQUFDLENBQUM7SUFFSCx5Q0FBeUM7SUFDekMsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO0lBQ2pDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUM5QyxNQUFNLENBQUMsUUFBUSxFQUNmLE1BQU0sQ0FBQyxNQUFNLENBQ2QsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNwRCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsK0JBQStCO0lBQy9CLFlBQVk7SUFDWixJQUFJO0lBQ0osMENBQTBDO0lBQzFDLDJDQUEyQztJQUMzQyxtREFBbUQ7QUFDckQsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateInwardStep = exports.updateInwardStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
/**
|
|
7
|
+
* Step identifier for update inward operation
|
|
8
|
+
*/
|
|
9
|
+
exports.updateInwardStepId = "update-inward";
|
|
10
|
+
/**
|
|
11
|
+
* Helper function to extract main inward data without related entities
|
|
12
|
+
* Used for rollback operations
|
|
13
|
+
*/
|
|
14
|
+
const extractMainInwardData = (inwardData) => {
|
|
15
|
+
return inwardData.map(({ inward_details, inward_explorations, inward_extra_charges, ...mainData }) => mainData);
|
|
16
|
+
};
|
|
17
|
+
exports.updateInwardStep = (0, workflows_sdk_1.createStep)(exports.updateInwardStepId, async (data, { container }) => {
|
|
18
|
+
if (!data?.inwards?.length) {
|
|
19
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
20
|
+
}
|
|
21
|
+
const service = container.resolve("extended_variant");
|
|
22
|
+
if (data.inwards.some((p) => !p.selector.id)) {
|
|
23
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Inward ID is required when doing update inward");
|
|
24
|
+
}
|
|
25
|
+
if (!data.inwards.length) {
|
|
26
|
+
return new workflows_sdk_1.StepResponse([], []);
|
|
27
|
+
}
|
|
28
|
+
const prevData = await service.listInwardMasters({
|
|
29
|
+
id: data.inwards.map((p) => p.selector.id),
|
|
30
|
+
});
|
|
31
|
+
// Update each inward master individually
|
|
32
|
+
const updatedInwards = [];
|
|
33
|
+
for (const inward of data.inwards) {
|
|
34
|
+
const result = await service.updateInwardMasters([
|
|
35
|
+
{ id: inward.selector.id, ...inward.update },
|
|
36
|
+
]);
|
|
37
|
+
const resultArray = Array.isArray(result) ? result : [result];
|
|
38
|
+
updatedInwards.push(...resultArray);
|
|
39
|
+
}
|
|
40
|
+
return new workflows_sdk_1.StepResponse(updatedInwards, prevData);
|
|
41
|
+
}, async (previousData, { container }) => {
|
|
42
|
+
if (!previousData?.length) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const service = container.resolve("extended_variant");
|
|
46
|
+
const rollbackData = extractMainInwardData(previousData);
|
|
47
|
+
await service.updateInwardMasters(rollbackData);
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy91cGRhdGUtaW53YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUN4RCxxRUFBNkU7QUFZN0U7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsVUFBaUIsRUFBRSxFQUFFO0lBQ2xELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FDbkIsQ0FBQyxFQUNDLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLEdBQUcsUUFBUSxFQUNaLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLDBCQUFrQixFQUNsQixLQUFLLEVBQUUsSUFBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUNYLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUV4QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixnREFBZ0QsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQy9DLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQWE7S0FDdkQsQ0FBQyxDQUFDO0lBRUgseUNBQXlDO0lBQ3pDLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztJQUNqQyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUMvQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFJLE1BQU0sQ0FBQyxNQUFjLEVBQUU7U0FDdEQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELENBQUMsRUFDRCxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateVariantManageInventoryStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.updateVariantManageInventoryStep = (0, workflows_sdk_1.createStep)("update-variant-manage-inventory", async (data, { container }) => {
|
|
7
|
+
const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
|
|
8
|
+
if (!data.variant_ids.length) {
|
|
9
|
+
return new workflows_sdk_1.StepResponse([], []);
|
|
10
|
+
}
|
|
11
|
+
// Get current variant data
|
|
12
|
+
const prevVariants = await productModuleService.listProductVariants({
|
|
13
|
+
id: data.variant_ids,
|
|
14
|
+
});
|
|
15
|
+
// Update variants with manage_inventory = true and allow_backorder = true
|
|
16
|
+
const updatedVariants = await Promise.all(data.variant_ids.map(async (variantId) => {
|
|
17
|
+
return await productModuleService.updateProductVariants(variantId, {
|
|
18
|
+
manage_inventory: true,
|
|
19
|
+
allow_backorder: true,
|
|
20
|
+
});
|
|
21
|
+
}));
|
|
22
|
+
return new workflows_sdk_1.StepResponse(updatedVariants, prevVariants);
|
|
23
|
+
}, async (prevData, { container }) => {
|
|
24
|
+
if (!prevData?.length) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const productModuleService = container.resolve("productModuleService");
|
|
28
|
+
// Rollback: restore previous manage_inventory values
|
|
29
|
+
await Promise.all(prevData.map(async (variant) => {
|
|
30
|
+
return await productModuleService.updateProductVariants(variant.id, {
|
|
31
|
+
manage_inventory: variant.manage_inventory || false,
|
|
32
|
+
allow_backorder: variant.allow_backorder || false,
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXZhcmlhbnQtbWFuYWdlLWludmVudG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci9zdGVwcy91cGRhdGUtdmFyaWFudC1tYW5hZ2UtaW52ZW50b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFvRDtBQUNwRCxxRUFBNkU7QUFNaEUsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3hELGlDQUFpQyxFQUNqQyxLQUFLLEVBQUUsSUFBMkMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxvQkFBb0IsR0FBMEIsU0FBUyxDQUFDLE9BQU8sQ0FDbkUsZUFBTyxDQUFDLE9BQU8sQ0FDaEIsQ0FBQztJQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsbUJBQW1CLENBQUM7UUFDbEUsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXO0tBQ3JCLENBQUMsQ0FBQztJQUVILDBFQUEwRTtJQUMxRSxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUN2QyxPQUFPLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFO1lBQ2pFLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUN6RCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sb0JBQW9CLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQ25FLHNCQUFzQixDQUN2QixDQUFDO0lBRUYscURBQXFEO0lBQ3JELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUM3QixPQUFPLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNsRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLElBQUksS0FBSztZQUNuRCxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsSUFBSSxLQUFLO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2lud2FyZC1tYXN0ZXIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInwardMasterWorkflow = exports.createInwardWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const update_extended_variant_batch_1 = require("../../update-extended-variant-from-variant/steps/update-extended-variant-batch");
|
|
7
|
+
const helper_1 = require("../helper");
|
|
8
|
+
const steps_1 = require("../steps");
|
|
9
|
+
const fetch_inward_master_1 = require("../steps/fetch-inward-master");
|
|
10
|
+
const update_instock_1 = require("./update-instock");
|
|
11
|
+
exports.createInwardWorkflowId = "create-inward";
|
|
12
|
+
exports.createInwardMasterWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createInwardWorkflowId, (input) => {
|
|
13
|
+
const inwardData = (0, fetch_inward_master_1.fetchInwardMaster)(input);
|
|
14
|
+
const transformedInwardMaster = (0, workflows_sdk_1.transform)({ inwardData }, ({ inwardData }) => inwardData.map((item) => (0, helper_1.transformInwardMaster)(item)));
|
|
15
|
+
// Get all the party style skus from the inward data
|
|
16
|
+
const partyStyleSkus = (0, workflows_sdk_1.transform)({ transformedInwardMaster }, ({ transformedInwardMaster }) => {
|
|
17
|
+
const skus = transformedInwardMaster.map((item) => item.inward_sku_no);
|
|
18
|
+
return [...new Set(skus)]; // Convert to array immediately
|
|
19
|
+
});
|
|
20
|
+
// Get all the extended variants from the party style skus
|
|
21
|
+
const { data: extendedVariants } = (0, core_flows_1.useQueryGraphStep)({
|
|
22
|
+
entity: "extended_variant",
|
|
23
|
+
fields: ["*", "inward_master.*"],
|
|
24
|
+
filters: {
|
|
25
|
+
party_style_sku_no: partyStyleSkus,
|
|
26
|
+
},
|
|
27
|
+
}).config({
|
|
28
|
+
name: "extended-variants",
|
|
29
|
+
});
|
|
30
|
+
// Get all the product variant ids from the extended variants
|
|
31
|
+
const productVariantIds = (0, workflows_sdk_1.transform)({ extendedVariants }, ({ extendedVariants }) => extendedVariants.map((item) => item.mapping_id));
|
|
32
|
+
// Get all the variants from the extended variants
|
|
33
|
+
const { data: variants } = (0, core_flows_1.useQueryGraphStep)({
|
|
34
|
+
entity: "product_variant",
|
|
35
|
+
fields: ["*", "inventory_items.*", "inventory_items.id"],
|
|
36
|
+
filters: {
|
|
37
|
+
id: productVariantIds,
|
|
38
|
+
},
|
|
39
|
+
}).config({
|
|
40
|
+
name: "variants",
|
|
41
|
+
});
|
|
42
|
+
// Update variants with manage_inventory = true
|
|
43
|
+
(0, workflows_sdk_1.when)({ variants }, (data) => data.variants.length > 0).then(() => {
|
|
44
|
+
const variantIds = (0, workflows_sdk_1.transform)({ variants }, ({ variants }) => variants.map((variant) => variant.id));
|
|
45
|
+
return (0, steps_1.updateVariantManageInventoryStep)({
|
|
46
|
+
variant_ids: variantIds,
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
const inventoryItemIds = (0, workflows_sdk_1.transform)({ variants }, ({ variants }) => variants.flatMap((variant) => variant.inventory_items.map((item) => item.inventory_item_id)));
|
|
50
|
+
const { data: inventoryLevels } = (0, core_flows_1.useQueryGraphStep)({
|
|
51
|
+
entity: "inventory_level",
|
|
52
|
+
fields: [
|
|
53
|
+
"id",
|
|
54
|
+
"inventory_item_id",
|
|
55
|
+
"location_id",
|
|
56
|
+
"stocked_quantity",
|
|
57
|
+
"reserved_quantity",
|
|
58
|
+
"available_quantity",
|
|
59
|
+
],
|
|
60
|
+
filters: {
|
|
61
|
+
inventory_item_id: inventoryItemIds,
|
|
62
|
+
},
|
|
63
|
+
}).config({
|
|
64
|
+
name: "inventory-levels",
|
|
65
|
+
});
|
|
66
|
+
// Get all the location ids from the inward data
|
|
67
|
+
const locationIds = (0, workflows_sdk_1.transform)({ transformedInwardMaster }, ({ transformedInwardMaster }) => {
|
|
68
|
+
const ids = transformedInwardMaster.map((inward) => inward.location_id);
|
|
69
|
+
return [...new Set(ids)]; // Convert to array immediately
|
|
70
|
+
});
|
|
71
|
+
// Get all the party_master from the inward locations
|
|
72
|
+
const { data: partyMasters } = (0, core_flows_1.useQueryGraphStep)({
|
|
73
|
+
entity: "party_master",
|
|
74
|
+
fields: ["*"],
|
|
75
|
+
filters: {
|
|
76
|
+
party_no: locationIds,
|
|
77
|
+
},
|
|
78
|
+
}).config({
|
|
79
|
+
name: "party-masters",
|
|
80
|
+
});
|
|
81
|
+
// Get all the inwards to create
|
|
82
|
+
const inwardsToCreate = (0, workflows_sdk_1.transform)({ transformedInwardMaster, extendedVariants }, ({ transformedInwardMaster, extendedVariants }) => transformedInwardMaster.filter((item) => extendedVariants.some((variant) => variant?.party_style_sku_no === item?.inward_sku_no)));
|
|
83
|
+
const inwardsToCreateWithVariants = (0, workflows_sdk_1.transform)({ inwardsToCreate, extendedVariants }, helper_1.mapWithVariants);
|
|
84
|
+
// Create main detail
|
|
85
|
+
const createdInwards = (0, steps_1.createInwardStep)(inwardsToCreateWithVariants);
|
|
86
|
+
// Create detail lines
|
|
87
|
+
const inwardDetailsLines = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
|
|
88
|
+
const allInwardDetails = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractLines);
|
|
89
|
+
// Only create detail lines if there are any to create
|
|
90
|
+
if (allInwardDetails.length === 0) {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
return (0, steps_1.createInwardDetailLinesStep)(allInwardDetails);
|
|
94
|
+
});
|
|
95
|
+
// Create extra charges
|
|
96
|
+
const inwardExtraCharges = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
|
|
97
|
+
const allInwardExtraCharges = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractExtraChargesLines);
|
|
98
|
+
// Only create extra charges if there are any to create
|
|
99
|
+
if (allInwardExtraCharges.length === 0) {
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
return (0, steps_1.createInwardExtraChargesLinesStep)(allInwardExtraCharges);
|
|
103
|
+
});
|
|
104
|
+
// Create exploration lines
|
|
105
|
+
const inwardExplorations = (0, workflows_sdk_1.when)({ inwardData, createdInwards }, ({ inwardData, createdInwards }) => createdInwards.length > 0 && inwardData.length > 0).then(() => {
|
|
106
|
+
const allInwardExplorations = (0, workflows_sdk_1.transform)({ inwardData, createdInwards }, helper_1.extractInwardExplorationLines);
|
|
107
|
+
// Only create exploration lines if there are any to create
|
|
108
|
+
if (allInwardExplorations.length === 0) {
|
|
109
|
+
return [];
|
|
110
|
+
}
|
|
111
|
+
return (0, steps_1.createInwardExplorationLinesStep)(allInwardExplorations);
|
|
112
|
+
});
|
|
113
|
+
const toUpdateInput = (0, workflows_sdk_1.transform)({
|
|
114
|
+
inwardDetailsLines,
|
|
115
|
+
inwardExtraCharges,
|
|
116
|
+
inwardExplorations,
|
|
117
|
+
createdInwards,
|
|
118
|
+
}, helper_1.prepareUpdateInwardInput);
|
|
119
|
+
// Update inward with extra line items
|
|
120
|
+
(0, workflows_sdk_1.when)({
|
|
121
|
+
inwardDetailsLines,
|
|
122
|
+
inwardExtraCharges,
|
|
123
|
+
inwardExplorations,
|
|
124
|
+
createdInwards,
|
|
125
|
+
}, (data) => data.inwardDetailsLines?.length > 0 &&
|
|
126
|
+
data.inwardExtraCharges?.length > 0 &&
|
|
127
|
+
data.inwardExplorations?.length > 0 &&
|
|
128
|
+
data.createdInwards?.length > 0).then(() => {
|
|
129
|
+
(0, steps_1.updateInwardStep)(toUpdateInput);
|
|
130
|
+
});
|
|
131
|
+
(0, workflows_sdk_1.when)({
|
|
132
|
+
createdInwards,
|
|
133
|
+
}, (data) => data.createdInwards.length > 0).then(() => {
|
|
134
|
+
// Filter out "Self" branches from stock locations
|
|
135
|
+
const filteredStockLocations = (0, workflows_sdk_1.transform)({ partyMasters }, ({ partyMasters }) => partyMasters.filter((location) => location.branch_name !== "Self"));
|
|
136
|
+
update_instock_1.updateInStockWorkflow.runAsStep({
|
|
137
|
+
input: {
|
|
138
|
+
inwards: createdInwards,
|
|
139
|
+
variants,
|
|
140
|
+
stockLocations: filteredStockLocations,
|
|
141
|
+
inventoryLevels,
|
|
142
|
+
operation: "create",
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
// Get unique branch numbers from inwards
|
|
147
|
+
const branchNumbers = (0, workflows_sdk_1.transform)({ createdInwards }, ({ createdInwards }) => {
|
|
148
|
+
const numbers = createdInwards.map((inward) => inward.branch_no);
|
|
149
|
+
return [...new Set(numbers)]; // Convert to array immediately
|
|
150
|
+
});
|
|
151
|
+
// Get party masters to map branch_no to mapping_id
|
|
152
|
+
const { data: branchPartyMasters } = (0, core_flows_1.useQueryGraphStep)({
|
|
153
|
+
entity: "party_master",
|
|
154
|
+
fields: ["party_no", "mapping_id"],
|
|
155
|
+
filters: {
|
|
156
|
+
party_no: branchNumbers,
|
|
157
|
+
},
|
|
158
|
+
}).config({
|
|
159
|
+
name: "branch-party-masters",
|
|
160
|
+
});
|
|
161
|
+
// Update extended variants with inward master IDs and branch locations
|
|
162
|
+
const updatedExtendedVariants = (0, workflows_sdk_1.when)({ createdInwards, extendedVariants }, (data) => data.createdInwards.length > 0 && data.extendedVariants.length > 0).then(() => {
|
|
163
|
+
const updateExtendedVariantInput = (0, workflows_sdk_1.transform)({ createdInwards, extendedVariants, branchPartyMasters }, ({ createdInwards, extendedVariants, branchPartyMasters }) => {
|
|
164
|
+
// Create mapping from branch_no to mapping_id
|
|
165
|
+
let branchToMappingId = {};
|
|
166
|
+
try {
|
|
167
|
+
branchToMappingId = branchPartyMasters.reduce((acc, party) => {
|
|
168
|
+
acc[party.party_no] = party.mapping_id;
|
|
169
|
+
return acc;
|
|
170
|
+
}, {});
|
|
171
|
+
console.log("Branch to mapping ID map:", branchToMappingId);
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error("Error creating branch mapping:", error);
|
|
175
|
+
branchToMappingId = {};
|
|
176
|
+
}
|
|
177
|
+
const updates = extendedVariants
|
|
178
|
+
.map((variant) => {
|
|
179
|
+
const inward = createdInwards.find((inward) => inward.inward_sku_no === variant.party_style_sku_no);
|
|
180
|
+
if (inward?.id) {
|
|
181
|
+
// Add new inward master ID to existing ones (maintain array/list)
|
|
182
|
+
const existingInwardMasters = variant.inward_master.length > 0
|
|
183
|
+
? Array.isArray(variant.inward_master)
|
|
184
|
+
? variant.inward_master.map((item) => item.id)
|
|
185
|
+
: [variant.inward_master.id]
|
|
186
|
+
: [];
|
|
187
|
+
// Update branch locations based on inward status using mapping_id
|
|
188
|
+
const existingOutletIds = variant.outlet_ids || [];
|
|
189
|
+
let updatedOutletIds = [...existingOutletIds];
|
|
190
|
+
const mappingId = branchToMappingId[inward.branch_no];
|
|
191
|
+
if (mappingId) {
|
|
192
|
+
if (inward.status === "On Hand") {
|
|
193
|
+
// Add mapping_id if not already present
|
|
194
|
+
if (!updatedOutletIds.includes(mappingId)) {
|
|
195
|
+
updatedOutletIds.push(mappingId);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else if (inward.status === "Branch Issue") {
|
|
199
|
+
// Remove mapping_id as it's transferred out
|
|
200
|
+
updatedOutletIds = updatedOutletIds.filter((outletId) => outletId !== mappingId);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const updateData = {
|
|
204
|
+
id: variant.id,
|
|
205
|
+
outlet_ids: updatedOutletIds,
|
|
206
|
+
};
|
|
207
|
+
// Only add inward master if not already present
|
|
208
|
+
if (!existingInwardMasters.includes(inward.id)) {
|
|
209
|
+
updateData.inward_master = [
|
|
210
|
+
...existingInwardMasters,
|
|
211
|
+
inward.id,
|
|
212
|
+
];
|
|
213
|
+
}
|
|
214
|
+
return updateData;
|
|
215
|
+
}
|
|
216
|
+
return null;
|
|
217
|
+
})
|
|
218
|
+
.filter((update) => update !== null); // Only include valid updates
|
|
219
|
+
return { extended_variants: updates };
|
|
220
|
+
});
|
|
221
|
+
return (0, update_extended_variant_batch_1.updateExtendedVariantBatchStep)(updateExtendedVariantInput);
|
|
222
|
+
});
|
|
223
|
+
// Sync updated variants to OpenSearch
|
|
224
|
+
const variantIds = (0, workflows_sdk_1.transform)({ extendedVariants }, ({ extendedVariants }) => {
|
|
225
|
+
try {
|
|
226
|
+
const ids = extendedVariants
|
|
227
|
+
.map((variant) => variant.mapping_id)
|
|
228
|
+
.filter(Boolean);
|
|
229
|
+
console.log("Variant IDs for sync:", ids);
|
|
230
|
+
return ids;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
console.error("Error extracting variant IDs:", error);
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
(0, workflows_sdk_1.when)({ variantIds, updatedExtendedVariants }, ({ variantIds }) => variantIds.length > 0).then(() => {
|
|
238
|
+
(0, core_flows_1.emitEventStep)({
|
|
239
|
+
eventName: "sync-to-os-variant",
|
|
240
|
+
data: {
|
|
241
|
+
type: "variant",
|
|
242
|
+
operation: "update",
|
|
243
|
+
id: variantIds,
|
|
244
|
+
},
|
|
245
|
+
}).config({
|
|
246
|
+
name: "sync-to-os-variant-update",
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
const finalResult = (0, workflows_sdk_1.transform)({ createdInwards, extendedVariants }, ({ createdInwards, extendedVariants }) => {
|
|
250
|
+
if (!extendedVariants.length) {
|
|
251
|
+
console.log("No extended variants found, returning empty array");
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
return createdInwards || [];
|
|
255
|
+
});
|
|
256
|
+
return new workflows_sdk_1.WorkflowResponse(finalResult);
|
|
257
|
+
});
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlud2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW53YXJkLW1hc3Rlci93b3JrZmxvd3MvY3JlYXRlLWlud2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMkM7QUFDM0MsNERBQStFO0FBRy9FLGtJQUFnSTtBQUNoSSxzQ0FPbUI7QUFDbkIsb0NBT2tCO0FBQ2xCLHNFQUFpRTtBQUVqRSxxREFBeUQ7QUFFNUMsUUFBQSxzQkFBc0IsR0FBRyxlQUFlLENBQUM7QUFFekMsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3RELDhCQUFzQixFQUN0QixDQUFDLEtBQWtCLEVBQUUsRUFBRTtJQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFBLHVDQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSx5QkFBUyxFQUN2QyxFQUFFLFVBQVUsRUFBRSxFQUNkLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSw4QkFBcUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0lBQ0Ysb0RBQW9EO0lBQ3BELE1BQU0sY0FBYyxHQUFHLElBQUEseUJBQVMsRUFDOUIsRUFBRSx1QkFBdUIsRUFBRSxFQUMzQixDQUFDLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFO1FBQzlCLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7SUFDNUQsQ0FBQyxDQUNGLENBQUM7SUFFRiwwREFBMEQ7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
|