@mercurjs/core 2.1.2 → 2.2.0-canary.1
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/commission-rates/validators.d.ts +8 -8
- package/.medusa/server/src/api/admin/middlewares.js +20 -30
- package/.medusa/server/src/api/admin/offers/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/offers/[id]/route.js +37 -0
- package/.medusa/server/src/api/admin/offers/batch/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/offers/batch/route.js +37 -0
- package/.medusa/server/src/api/admin/offers/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/offers/middlewares.js +31 -0
- package/.medusa/server/src/api/admin/offers/query-config.d.ts +11 -0
- package/.medusa/server/src/api/admin/offers/query-config.js +47 -0
- package/.medusa/server/src/api/admin/offers/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/offers/route.js +21 -0
- package/.medusa/server/src/api/admin/offers/validators.d.ts +299 -0
- package/.medusa/server/src/api/admin/offers/validators.js +65 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +51 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +37 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.js +22 -0
- package/.medusa/server/src/api/admin/product-attributes/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-attributes/middlewares.js +75 -0
- package/.medusa/server/src/api/admin/product-attributes/query-config.d.ts +12 -0
- package/.medusa/server/src/api/admin/product-attributes/query-config.js +34 -0
- package/.medusa/server/src/api/admin/product-attributes/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/product-attributes/route.js +38 -0
- package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +548 -0
- package/.medusa/server/src/api/admin/product-attributes/validators.js +128 -0
- package/.medusa/server/src/api/admin/product-brands/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/product-brands/[id]/route.js +51 -0
- package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.js +20 -0
- package/.medusa/server/src/api/admin/product-brands/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-brands/middlewares.js +49 -0
- package/.medusa/server/src/api/admin/product-brands/query-config.d.ts +12 -0
- package/.medusa/server/src/api/admin/product-brands/query-config.js +24 -0
- package/.medusa/server/src/api/admin/product-brands/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/product-brands/route.js +38 -0
- package/.medusa/server/src/api/admin/product-brands/validators.d.ts +284 -0
- package/.medusa/server/src/api/admin/product-brands/validators.js +41 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/products/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +20 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/sellers/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-categories/[id]/sellers/route.js +20 -0
- package/.medusa/server/src/api/admin/product-categories/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-categories/middlewares.js +54 -0
- package/.medusa/server/src/api/admin/product-categories/query-config.d.ts +12 -0
- package/.medusa/server/src/api/admin/product-categories/query-config.js +32 -0
- package/.medusa/server/src/api/admin/product-categories/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/product-categories/route.js +39 -0
- package/.medusa/server/src/api/admin/product-categories/validators.d.ts +446 -0
- package/.medusa/server/src/api/admin/product-categories/validators.js +65 -0
- package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.d.ts +10 -0
- package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +33 -0
- package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.d.ts +10 -0
- package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +27 -0
- package/.medusa/server/src/api/admin/product-changes/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-changes/middlewares.js +18 -0
- package/.medusa/server/src/api/admin/product-changes/validators.d.ts +17 -0
- package/.medusa/server/src/api/admin/product-changes/validators.js +15 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +53 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +36 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +48 -0
- package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +26 -0
- package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/products/[id]/preview/route.js +14 -0
- package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/products/[id]/reject/route.js +27 -0
- package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +27 -0
- package/.medusa/server/src/api/admin/products/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/products/[id]/route.js +55 -0
- package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.js +60 -0
- package/.medusa/server/src/api/admin/products/[id]/variants/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/products/[id]/variants/route.js +41 -0
- package/.medusa/server/src/api/admin/products/batch/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/products/batch/route.js +36 -0
- package/.medusa/server/src/api/admin/products/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/products/middlewares.js +161 -0
- package/.medusa/server/src/api/admin/products/query-config.d.ts +25 -0
- package/.medusa/server/src/api/admin/products/query-config.js +101 -0
- package/.medusa/server/src/api/admin/products/route.d.ts +4 -2
- package/.medusa/server/src/api/admin/products/route.js +48 -1
- package/.medusa/server/src/api/admin/products/validators.d.ts +2076 -799
- package/.medusa/server/src/api/admin/products/validators.js +254 -4
- package/.medusa/server/src/api/admin/sellers/validators.d.ts +12 -12
- package/.medusa/server/src/api/store/carts/[id]/line-items/route.d.ts +3 -0
- package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +20 -0
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +27 -0
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +16 -0
- package/.medusa/server/src/api/store/carts/middlewares.js +26 -1
- package/.medusa/server/src/api/store/middlewares.js +11 -5
- package/.medusa/server/src/api/store/product-attributes/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-attributes/[id]/route.js +18 -0
- package/.medusa/server/src/api/store/product-attributes/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/product-attributes/middlewares.js +31 -0
- package/.medusa/server/src/api/store/product-attributes/query-config.d.ts +12 -0
- package/.medusa/server/src/api/store/product-attributes/query-config.js +31 -0
- package/.medusa/server/src/api/store/product-attributes/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-attributes/route.js +21 -0
- package/.medusa/server/src/api/store/product-attributes/validators.d.ts +234 -0
- package/.medusa/server/src/api/store/product-attributes/validators.js +26 -0
- package/.medusa/server/src/api/store/product-brands/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-brands/[id]/route.js +18 -0
- package/.medusa/server/src/api/store/product-brands/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/product-brands/middlewares.js +23 -0
- package/.medusa/server/src/api/store/product-brands/query-config.d.ts +12 -0
- package/.medusa/server/src/api/store/product-brands/query-config.js +23 -0
- package/.medusa/server/src/api/store/product-brands/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-brands/route.js +21 -0
- package/.medusa/server/src/api/store/product-brands/validators.d.ts +215 -0
- package/.medusa/server/src/api/store/product-brands/validators.js +21 -0
- package/.medusa/server/src/api/store/product-categories/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-categories/[id]/route.js +18 -0
- package/.medusa/server/src/api/store/product-categories/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/product-categories/middlewares.js +31 -0
- package/.medusa/server/src/api/store/product-categories/query-config.d.ts +12 -0
- package/.medusa/server/src/api/store/product-categories/query-config.js +28 -0
- package/.medusa/server/src/api/store/product-categories/route.d.ts +2 -0
- package/.medusa/server/src/api/store/product-categories/route.js +21 -0
- package/.medusa/server/src/api/store/product-categories/validators.d.ts +240 -0
- package/.medusa/server/src/api/store/product-categories/validators.js +27 -0
- package/.medusa/server/src/api/store/products/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/products/[id]/route.js +47 -0
- package/.medusa/server/src/api/store/products/middlewares.d.ts +1 -1
- package/.medusa/server/src/api/store/products/middlewares.js +29 -5
- package/.medusa/server/src/api/store/products/query-config.d.ts +14 -0
- package/.medusa/server/src/api/store/products/query-config.js +58 -0
- package/.medusa/server/src/api/store/products/route.d.ts +2 -0
- package/.medusa/server/src/api/store/products/route.js +44 -0
- package/.medusa/server/src/api/store/products/validators.d.ts +276 -0
- package/.medusa/server/src/api/store/products/validators.js +33 -0
- package/.medusa/server/src/api/utils/format-product-attributes.d.ts +8 -0
- package/.medusa/server/src/api/utils/format-product-attributes.js +44 -0
- package/.medusa/server/src/api/utils/index.d.ts +1 -0
- package/.medusa/server/src/api/utils/index.js +2 -1
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.d.ts +12 -0
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.js +165 -0
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.d.ts +12 -0
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.js +64 -0
- package/.medusa/server/src/api/vendor/collections/validators.d.ts +4 -4
- package/.medusa/server/src/api/vendor/inventory-items/route.js +1 -1
- package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +56 -56
- package/.medusa/server/src/api/vendor/middlewares.js +55 -51
- package/.medusa/server/src/api/vendor/offers/[id]/inventory-items/batch/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/offers/[id]/inventory-items/batch/route.js +24 -0
- package/.medusa/server/src/api/vendor/offers/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/vendor/offers/[id]/route.js +38 -0
- package/.medusa/server/src/api/vendor/{products/[id]/variants/[variant_id]/media → offers/batch}/route.d.ts +2 -2
- package/.medusa/server/src/api/vendor/offers/batch/route.js +34 -0
- package/.medusa/server/src/api/vendor/offers/helpers.d.ts +3 -0
- package/.medusa/server/src/api/vendor/offers/helpers.js +27 -0
- package/.medusa/server/src/api/vendor/offers/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/vendor/offers/middlewares.js +65 -0
- package/.medusa/server/src/api/vendor/offers/query-config.d.ts +11 -0
- package/.medusa/server/src/api/vendor/offers/query-config.js +47 -0
- package/.medusa/server/src/api/vendor/offers/route.d.ts +4 -0
- package/.medusa/server/src/api/vendor/offers/route.js +41 -0
- package/.medusa/server/src/api/vendor/offers/validators.d.ts +607 -0
- package/.medusa/server/src/api/vendor/offers/validators.js +119 -0
- package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +24 -24
- package/.medusa/server/src/api/vendor/product-attributes/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/product-attributes/[id]/route.js +18 -0
- package/.medusa/server/src/api/vendor/product-attributes/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +23 -0
- package/.medusa/server/src/api/vendor/product-attributes/query-config.d.ts +12 -0
- package/.medusa/server/src/api/vendor/product-attributes/query-config.js +34 -0
- package/.medusa/server/src/api/vendor/product-attributes/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/product-attributes/route.js +23 -0
- package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +394 -0
- package/.medusa/server/src/api/vendor/product-attributes/validators.js +85 -0
- package/.medusa/server/src/api/vendor/{attributes → product-brands/[id]}/route.d.ts +2 -1
- package/.medusa/server/src/api/vendor/product-brands/[id]/route.js +18 -0
- package/.medusa/server/src/api/vendor/product-brands/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/vendor/product-brands/middlewares.js +23 -0
- package/.medusa/server/src/api/vendor/product-brands/query-config.d.ts +12 -0
- package/.medusa/server/src/api/vendor/product-brands/query-config.js +24 -0
- package/.medusa/server/src/api/vendor/product-brands/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/product-brands/route.js +21 -0
- package/.medusa/server/src/api/vendor/product-brands/validators.d.ts +221 -0
- package/.medusa/server/src/api/vendor/product-brands/validators.js +22 -0
- package/.medusa/server/src/api/vendor/product-categories/[id]/route.js +2 -4
- package/.medusa/server/src/api/vendor/product-categories/middlewares.js +5 -47
- package/.medusa/server/src/api/vendor/product-categories/query-config.d.ts +11 -8
- package/.medusa/server/src/api/vendor/product-categories/query-config.js +17 -12
- package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +328 -44
- package/.medusa/server/src/api/vendor/product-categories/validators.js +20 -11
- package/.medusa/server/src/api/vendor/product-variants/middlewares.js +34 -11
- package/.medusa/server/src/api/vendor/product-variants/query-config.d.ts +2 -2
- package/.medusa/server/src/api/vendor/product-variants/query-config.js +16 -13
- package/.medusa/server/src/api/vendor/product-variants/route.d.ts +2 -1
- package/.medusa/server/src/api/vendor/product-variants/route.js +1 -1
- package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +377 -21
- package/.medusa/server/src/api/vendor/product-variants/validators.js +14 -8
- package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +7 -2
- package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +25 -137
- package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +8 -0
- package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +39 -103
- package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +13 -0
- package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +46 -0
- package/.medusa/server/src/api/vendor/products/[id]/preview/route.d.ts +14 -0
- package/.medusa/server/src/api/vendor/products/[id]/preview/route.js +31 -0
- package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +12 -2
- package/.medusa/server/src/api/vendor/products/[id]/route.js +28 -34
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +13 -3
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +34 -36
- package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +7 -2
- package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +15 -30
- package/.medusa/server/src/api/vendor/products/middlewares.js +54 -56
- package/.medusa/server/src/api/vendor/products/query-config.d.ts +4 -1
- package/.medusa/server/src/api/vendor/products/query-config.js +46 -13
- package/.medusa/server/src/api/vendor/products/route.js +11 -8
- package/.medusa/server/src/api/vendor/products/validators.d.ts +886 -1820
- package/.medusa/server/src/api/vendor/products/validators.js +182 -117
- package/.medusa/server/src/api/vendor/promotions/validators.d.ts +16 -16
- package/.medusa/server/src/api/vendor/returns/validators.d.ts +18 -18
- package/.medusa/server/src/api/vendor/sales-channels/[id]/products/route.js +1 -5
- package/.medusa/server/src/api/vendor/sellers/validators.d.ts +10 -10
- package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +32 -32
- package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +2 -2
- package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +3 -3
- package/.medusa/server/src/feature-flags/product-request.d.ts +3 -0
- package/.medusa/server/src/feature-flags/product-request.js +10 -0
- package/.medusa/server/src/links/brand-seller-link.js +16 -0
- package/.medusa/server/src/links/cart-line-item-offer-link.js +10 -0
- package/.medusa/server/src/links/category-seller-link.js +16 -0
- package/.medusa/server/src/links/offer-inventory-item-link.js +26 -0
- package/.medusa/server/src/links/offer-price-set-link.js +15 -0
- package/.medusa/server/src/links/offer-seller-link.js +15 -0
- package/.medusa/server/src/links/offer-shipping-profile-link.d.ts +2 -0
- package/.medusa/server/src/links/offer-shipping-profile-link.js +15 -0
- package/.medusa/server/src/links/offer-variant-link.d.ts +2 -0
- package/.medusa/server/src/links/offer-variant-link.js +15 -0
- package/.medusa/server/src/links/order-line-item-offer-link.d.ts +2 -0
- package/.medusa/server/src/links/order-line-item-offer-link.js +10 -0
- package/.medusa/server/src/links/product-seller-link.js +13 -3
- package/.medusa/server/src/modules/offer/index.d.ts +21 -0
- package/.medusa/server/src/modules/offer/index.js +12 -0
- package/.medusa/server/src/modules/{attribute/migrations/Migration20260325000000.d.ts → offer/migrations/Migration20260520104835.d.ts} +1 -1
- package/.medusa/server/src/modules/offer/migrations/Migration20260520104835.js +22 -0
- package/.medusa/server/src/modules/offer/models/index.d.ts +1 -0
- package/.medusa/server/src/modules/offer/models/index.js +9 -0
- package/.medusa/server/src/modules/offer/models/offer.d.ts +13 -0
- package/.medusa/server/src/modules/offer/models/offer.js +56 -0
- package/.medusa/server/src/modules/offer/service.d.ts +17 -0
- package/.medusa/server/src/modules/offer/service.js +10 -0
- package/.medusa/server/src/modules/product/index.d.ts +7 -0
- package/.medusa/server/src/modules/product/index.js +14 -0
- package/.medusa/server/src/modules/{vendor-product-attribute/migrations/Migration20260325000000.d.ts → product/migrations/Migration20260414141012.d.ts} +1 -1
- package/.medusa/server/src/modules/product/migrations/Migration20260414141012.js +169 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260415151424.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260415151424.js +14 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260416104248.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260416104248.js +14 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260416105443.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260416105443.js +16 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260421093258.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260421093258.js +22 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260422105949.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260422105949.js +32 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260422112250.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260422112250.js +16 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260424120000.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260424120000.js +16 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260427140959.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260427140959.js +20 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260427141021.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260427141021.js +16 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260428115720.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260428115720.js +16 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430143600.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430143600.js +15 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430144500.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430144500.js +23 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430150000.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260430150000.js +14 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260520120000.d.ts +5 -0
- package/.medusa/server/src/modules/product/migrations/Migration20260520120000.js +16 -0
- package/.medusa/server/src/modules/product/models/index.d.ts +13 -0
- package/.medusa/server/src/modules/product/models/index.js +33 -0
- package/.medusa/server/src/modules/product/models/product-attribute-value.d.ts +1676 -0
- package/.medusa/server/src/modules/product/models/product-attribute-value.js +38 -0
- package/.medusa/server/src/modules/product/models/product-attribute.d.ts +1597 -0
- package/.medusa/server/src/modules/product/models/product-attribute.js +57 -0
- package/.medusa/server/src/modules/product/models/product-brand.d.ts +539 -0
- package/.medusa/server/src/modules/product/models/product-brand.js +34 -0
- package/.medusa/server/src/modules/product/models/product-category.d.ts +1658 -0
- package/.medusa/server/src/modules/product/models/product-category.js +55 -0
- package/.medusa/server/src/modules/product/models/product-change-action.d.ts +1081 -0
- package/.medusa/server/src/modules/product/models/product-change-action.js +42 -0
- package/.medusa/server/src/modules/product/models/product-change.d.ts +547 -0
- package/.medusa/server/src/modules/product/models/product-change.js +50 -0
- package/.medusa/server/src/modules/product/models/product-collection.d.ts +540 -0
- package/.medusa/server/src/modules/product/models/product-collection.js +27 -0
- package/.medusa/server/src/modules/product/models/product-image.d.ts +1733 -0
- package/.medusa/server/src/modules/product/models/product-image.js +51 -0
- package/.medusa/server/src/modules/product/models/product-tag.d.ts +549 -0
- package/.medusa/server/src/modules/product/models/product-tag.js +26 -0
- package/.medusa/server/src/modules/product/models/product-type.d.ts +541 -0
- package/.medusa/server/src/modules/product/models/product-type.js +26 -0
- package/.medusa/server/src/modules/product/models/product-variant-product-image.d.ts +3352 -0
- package/.medusa/server/src/modules/product/models/product-variant-product-image.js +19 -0
- package/.medusa/server/src/modules/product/models/product-variant.d.ts +1617 -0
- package/.medusa/server/src/modules/product/models/product-variant.js +84 -0
- package/.medusa/server/src/modules/product/models/product.d.ts +547 -0
- package/.medusa/server/src/modules/product/models/product.js +137 -0
- package/.medusa/server/src/modules/product/repositories/product-category.d.ts +53 -0
- package/.medusa/server/src/modules/product/repositories/product-category.js +381 -0
- package/.medusa/server/src/modules/product/service.d.ts +11013 -0
- package/.medusa/server/src/modules/product/service.js +1471 -0
- package/.medusa/server/src/modules/product/services/product-category.d.ts +37 -0
- package/.medusa/server/src/modules/product/services/product-category.js +166 -0
- package/.medusa/server/src/modules/seller/loaders/register-feature-flags.js +7 -1
- package/.medusa/server/src/modules/seller/migrations/Migration20260414123048.d.ts +5 -0
- package/.medusa/server/src/modules/seller/migrations/Migration20260414123048.js +16 -0
- package/.medusa/server/src/types/cart-line-item.d.ts +15 -0
- package/.medusa/server/src/types/cart-line-item.js +3 -0
- package/.medusa/server/src/utils/disable-medusa-middlewares.d.ts +2 -0
- package/.medusa/server/src/utils/disable-medusa-middlewares.js +90 -0
- package/.medusa/server/src/with-mercur.js +9 -2
- package/.medusa/server/src/workflows/cart/hooks/index.d.ts +2 -0
- package/.medusa/server/src/workflows/cart/hooks/index.js +5 -0
- package/.medusa/server/src/workflows/cart/hooks/validate-add-to-cart-stock.js +52 -0
- package/.medusa/server/src/workflows/cart/hooks/validate-update-line-item-stock.js +60 -0
- package/.medusa/server/src/workflows/cart/index.d.ts +1 -0
- package/.medusa/server/src/workflows/cart/index.js +2 -1
- package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.d.ts +19 -0
- package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.js +39 -0
- package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.d.ts +8 -0
- package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.js +45 -0
- package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.d.ts +21 -0
- package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.js +85 -0
- package/.medusa/server/src/workflows/cart/steps/index.d.ts +5 -0
- package/.medusa/server/src/workflows/cart/steps/index.js +6 -1
- package/.medusa/server/src/workflows/cart/steps/link-line-item-to-offer.d.ts +13 -0
- package/.medusa/server/src/workflows/cart/steps/link-line-item-to-offer.js +31 -0
- package/.medusa/server/src/workflows/cart/steps/mirror-line-item-offer-links-to-order.d.ts +16 -0
- package/.medusa/server/src/workflows/cart/steps/mirror-line-item-offer-links-to-order.js +32 -0
- package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-items.d.ts +5 -7
- package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-items.js +6 -4
- package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-shipping.d.ts +5 -6
- package/.medusa/server/src/workflows/cart/steps/validate-seller-cart-shipping.js +5 -4
- package/.medusa/server/src/workflows/cart/utils/fields.js +11 -20
- package/.medusa/server/src/workflows/cart/utils/index.d.ts +0 -1
- package/.medusa/server/src/workflows/cart/utils/index.js +1 -2
- package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.d.ts +1 -0
- package/.medusa/server/src/workflows/cart/utils/prepare-line-item-data.js +2 -2
- package/.medusa/server/src/workflows/cart/workflows/add-to-cart.d.ts +12 -0
- package/.medusa/server/src/workflows/cart/workflows/add-to-cart.js +235 -0
- package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +76 -24
- package/.medusa/server/src/workflows/cart/workflows/index.d.ts +2 -0
- package/.medusa/server/src/workflows/cart/workflows/index.js +3 -1
- package/.medusa/server/src/workflows/cart/workflows/list-seller-shipping-options-for-cart.js +18 -15
- package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.d.ts +16 -0
- package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.js +87 -0
- package/.medusa/server/src/workflows/commission/workflows/refresh-order-commission-lines.js +5 -3
- package/.medusa/server/src/workflows/events.d.ts +5 -0
- package/.medusa/server/src/workflows/events.js +7 -2
- package/.medusa/server/src/workflows/index.d.ts +4 -0
- package/.medusa/server/src/workflows/index.js +5 -1
- package/.medusa/server/src/workflows/offer/index.d.ts +3 -0
- package/.medusa/server/src/workflows/{attribute/workflows → offer}/index.js +4 -6
- package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +17 -0
- package/.medusa/server/src/workflows/offer/steps/create-offers.js +17 -0
- package/.medusa/server/src/workflows/offer/steps/delete-offers.d.ts +1 -0
- package/.medusa/server/src/workflows/offer/steps/delete-offers.js +17 -0
- package/.medusa/server/src/workflows/offer/steps/index.d.ts +3 -0
- package/.medusa/server/src/workflows/{product-attribute → offer}/steps/index.js +4 -8
- package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +26 -0
- package/.medusa/server/src/workflows/offer/steps/update-offers.js +35 -0
- package/.medusa/server/src/workflows/offer/utils/index.d.ts +1 -0
- package/.medusa/server/src/workflows/offer/utils/index.js +18 -0
- package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.d.ts +59 -0
- package/.medusa/server/src/workflows/offer/utils/prepare-offer-inventory-input.js +128 -0
- package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.d.ts +35 -0
- package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.js +118 -0
- package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +116 -0
- package/.medusa/server/src/workflows/offer/workflows/create-offers.js +117 -0
- package/.medusa/server/src/workflows/offer/workflows/delete-offers.d.ts +11 -0
- package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +22 -0
- package/.medusa/server/src/workflows/offer/workflows/index.d.ts +4 -0
- package/.medusa/server/src/workflows/{attribute/steps → offer/workflows}/index.js +5 -8
- package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +123 -0
- package/.medusa/server/src/workflows/offer/workflows/update-offers.js +66 -0
- package/.medusa/server/src/workflows/order/index.d.ts +1 -0
- package/.medusa/server/src/workflows/order/index.js +18 -0
- package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +15 -0
- package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +187 -0
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +7 -0
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +221 -0
- package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.d.ts +39 -0
- package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +367 -0
- package/.medusa/server/src/workflows/order/workflows/index.d.ts +3 -0
- package/.medusa/server/src/workflows/order/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/product/events.d.ts +54 -0
- package/.medusa/server/src/workflows/product/events.js +58 -0
- package/.medusa/server/src/workflows/product/index.d.ts +3 -0
- package/.medusa/server/src/workflows/product/index.js +20 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.js +26 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-category.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-category.js +26 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product.js +26 -0
- package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.d.ts +7 -0
- package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.js +61 -0
- package/.medusa/server/src/workflows/product/steps/batch-product-attributes.d.ts +11 -0
- package/.medusa/server/src/workflows/product/steps/batch-product-attributes.js +16 -0
- package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.d.ts +6 -0
- package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.js +17 -0
- package/.medusa/server/src/workflows/product/steps/create-product-attributes.d.ts +2 -0
- package/.medusa/server/src/workflows/product/steps/create-product-attributes.js +17 -0
- package/.medusa/server/src/workflows/product/steps/create-product-brands.d.ts +2 -0
- package/.medusa/server/src/workflows/product/steps/create-product-brands.js +17 -0
- package/.medusa/server/src/workflows/product/steps/create-product-categories.d.ts +1548 -0
- package/.medusa/server/src/workflows/product/steps/create-product-categories.js +18 -0
- package/.medusa/server/src/workflows/product/steps/create-product-variants.d.ts +2 -0
- package/.medusa/server/src/workflows/product/steps/create-product-variants.js +18 -0
- package/.medusa/server/src/workflows/product/steps/create-products.d.ts +2 -0
- package/.medusa/server/src/workflows/product/steps/create-products.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-attributes.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-attributes.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-brands.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-brands.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-categories.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-categories.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-variants.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-product-variants.js +17 -0
- package/.medusa/server/src/workflows/product/steps/delete-products.d.ts +1 -0
- package/.medusa/server/src/workflows/product/steps/delete-products.js +17 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.js +26 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-category.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-category.js +26 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product.d.ts +8 -0
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product.js +26 -0
- package/.medusa/server/src/workflows/product/steps/index.d.ts +33 -0
- package/.medusa/server/src/workflows/product/steps/index.js +50 -0
- package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.d.ts +6 -0
- package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.js +11 -0
- package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.d.ts +7 -0
- package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.js +22 -0
- package/.medusa/server/src/workflows/product/steps/update-product-attributes.d.ts +7 -0
- package/.medusa/server/src/workflows/product/steps/update-product-attributes.js +22 -0
- package/.medusa/server/src/workflows/product/steps/update-product-brands.d.ts +7 -0
- package/.medusa/server/src/workflows/product/steps/update-product-brands.js +28 -0
- package/.medusa/server/src/workflows/product/steps/update-product-categories.d.ts +1552 -0
- package/.medusa/server/src/workflows/product/steps/update-product-categories.js +20 -0
- package/.medusa/server/src/workflows/product/steps/update-product-variants.d.ts +10 -0
- package/.medusa/server/src/workflows/product/steps/update-product-variants.js +32 -0
- package/.medusa/server/src/workflows/product/steps/update-products.d.ts +10 -0
- package/.medusa/server/src/workflows/product/steps/update-products.js +33 -0
- package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.d.ts +5 -0
- package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.js +30 -0
- package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.d.ts +5 -0
- package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.js +19 -0
- package/.medusa/server/src/workflows/product/steps/validate-confirm-products.d.ts +3 -0
- package/.medusa/server/src/workflows/product/steps/validate-confirm-products.js +14 -0
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.d.ts +5 -0
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.js +19 -0
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.d.ts +5 -0
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.js +30 -0
- package/.medusa/server/src/workflows/product/steps/validate-reject-product.d.ts +3 -0
- package/.medusa/server/src/workflows/product/steps/validate-reject-product.js +12 -0
- package/.medusa/server/src/workflows/product/steps/validate-request-changes.d.ts +3 -0
- package/.medusa/server/src/workflows/product/steps/validate-request-changes.js +12 -0
- package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.d.ts +3 -0
- package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.js +12 -0
- package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.d.ts +7 -0
- package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +45 -0
- package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.js +10 -0
- package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.d.ts +12 -0
- package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.js +23 -0
- package/.medusa/server/src/workflows/product/workflows/batch-products.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/batch-products.js +86 -0
- package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +15 -0
- package/.medusa/server/src/workflows/product/workflows/confirm-products.js +57 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.js +21 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-attributes.d.ts +7 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-attributes.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-brands.d.ts +7 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-brands.js +19 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-categories.d.ts +1553 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-categories.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-variants.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/create-product-variants.js +25 -0
- package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/create-products.js +35 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.d.ts +6 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.js +20 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.d.ts +6 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.js +20 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-brands.d.ts +6 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-brands.js +19 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-categories.d.ts +6 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-categories.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-variants.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/delete-product-variants.js +24 -0
- package/.medusa/server/src/workflows/product/workflows/delete-products.d.ts +6 -0
- package/.medusa/server/src/workflows/product/workflows/delete-products.js +19 -0
- package/.medusa/server/src/workflows/product/workflows/index.d.ts +30 -0
- package/.medusa/server/src/workflows/product/workflows/index.js +47 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.d.ts +14 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.js +21 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +14 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +21 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +14 -0
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +21 -0
- package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +11 -0
- package/.medusa/server/src/workflows/product/workflows/reject-product.js +61 -0
- package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.d.ts +7 -0
- package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.js +20 -0
- package/.medusa/server/src/workflows/product/workflows/request-product-changes.d.ts +11 -0
- package/.medusa/server/src/workflows/product/workflows/request-product-changes.js +61 -0
- package/.medusa/server/src/workflows/product/workflows/resubmit-product.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/resubmit-product.js +48 -0
- package/.medusa/server/src/workflows/product/workflows/submit-seller-products.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/submit-seller-products.js +76 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-attributes.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-attributes.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-brands.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-brands.js +19 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-categories.d.ts +1555 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-categories.js +18 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-variants.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/update-product-variants.js +36 -0
- package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +3 -0
- package/.medusa/server/src/workflows/product/workflows/update-products.js +23 -0
- package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.d.ts +8 -0
- package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.js +21 -0
- package/.medusa/server/src/workflows/{attribute → product-edit}/index.js +2 -2
- package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.d.ts +7 -0
- package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.js +14 -0
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +8 -0
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +11 -0
- package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +16 -0
- package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +17 -0
- package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +17 -0
- package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +25 -0
- package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +8 -0
- package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +14 -0
- package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +8 -0
- package/.medusa/server/src/workflows/{product-attribute/workflows → product-edit/steps}/index.js +9 -9
- package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.d.ts +5 -0
- package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.js +11 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +12 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +21 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.d.ts +11 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.js +21 -0
- package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +16 -0
- package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +37 -0
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.d.ts +19 -0
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.js +40 -0
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.d.ts +21 -0
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.js +44 -0
- package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.d.ts +16 -0
- package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.js +42 -0
- package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +11 -0
- package/.medusa/server/src/workflows/product-edit/workflows/index.js +28 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.d.ts +19 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.js +66 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.d.ts +17 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.js +58 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +20 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +60 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.d.ts +17 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.js +62 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.d.ts +16 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.js +68 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +18 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +72 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.d.ts +21 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.js +89 -0
- package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +5 -2
- package/.medusa/server/src/workflows/utils/override-workflow.d.ts +12 -0
- package/.medusa/server/src/workflows/utils/override-workflow.js +21 -0
- package/package.json +8 -4
- package/.medusa/server/src/api/admin/attributes/[id]/route.d.ts +0 -5
- package/.medusa/server/src/api/admin/attributes/[id]/route.js +0 -68
- package/.medusa/server/src/api/admin/attributes/[id]/values/[value_id]/route.d.ts +0 -4
- package/.medusa/server/src/api/admin/attributes/[id]/values/[value_id]/route.js +0 -40
- package/.medusa/server/src/api/admin/attributes/[id]/values/route.d.ts +0 -4
- package/.medusa/server/src/api/admin/attributes/[id]/values/route.js +0 -44
- package/.medusa/server/src/api/admin/attributes/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/admin/attributes/middlewares.js +0 -102
- package/.medusa/server/src/api/admin/attributes/query-config.d.ts +0 -20
- package/.medusa/server/src/api/admin/attributes/query-config.js +0 -41
- package/.medusa/server/src/api/admin/attributes/route.d.ts +0 -4
- package/.medusa/server/src/api/admin/attributes/route.js +0 -51
- package/.medusa/server/src/api/admin/attributes/validators.d.ts +0 -793
- package/.medusa/server/src/api/admin/attributes/validators.js +0 -92
- package/.medusa/server/src/api/vendor/attributes/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/vendor/attributes/middlewares.js +0 -32
- package/.medusa/server/src/api/vendor/attributes/route.js +0 -20
- package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.d.ts +0 -3
- package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +0 -27
- package/.medusa/server/src/api/vendor/product-categories/helpers.d.ts +0 -2
- package/.medusa/server/src/api/vendor/product-categories/helpers.js +0 -24
- package/.medusa/server/src/api/vendor/products/[id]/attributes/utils.d.ts +0 -7
- package/.medusa/server/src/api/vendor/products/[id]/attributes/utils.js +0 -16
- package/.medusa/server/src/api/vendor/products/[id]/options/[option_id]/route.d.ts +0 -5
- package/.medusa/server/src/api/vendor/products/[id]/options/[option_id]/route.js +0 -74
- package/.medusa/server/src/api/vendor/products/[id]/options/route.d.ts +0 -4
- package/.medusa/server/src/api/vendor/products/[id]/options/route.js +0 -34
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/media/route.js +0 -20
- package/.medusa/server/src/api/vendor/products/helpers.d.ts +0 -2
- package/.medusa/server/src/api/vendor/products/helpers.js +0 -20
- package/.medusa/server/src/api/vendor/products/utils/transform-product-attributes.d.ts +0 -34
- package/.medusa/server/src/api/vendor/products/utils/transform-product-attributes.js +0 -71
- package/.medusa/server/src/links/category-attribute-link.js +0 -16
- package/.medusa/server/src/links/product-attribute-value-link.js +0 -16
- package/.medusa/server/src/links/product-vendor-product-attribute-link.js +0 -16
- package/.medusa/server/src/links/seller-attribute-link.js +0 -13
- package/.medusa/server/src/links/seller-attribute-value-link.js +0 -13
- package/.medusa/server/src/links/seller-vendor-product-attribute-link.js +0 -13
- package/.medusa/server/src/modules/attribute/index.d.ts +0 -51
- package/.medusa/server/src/modules/attribute/index.js +0 -15
- package/.medusa/server/src/modules/attribute/migrations/Migration20260325000000.js +0 -32
- package/.medusa/server/src/modules/attribute/models/attribute-possible-value.d.ts +0 -27
- package/.medusa/server/src/modules/attribute/models/attribute-possible-value.js +0 -26
- package/.medusa/server/src/modules/attribute/models/attribute-value.d.ts +0 -27
- package/.medusa/server/src/modules/attribute/models/attribute-value.js +0 -26
- package/.medusa/server/src/modules/attribute/models/attribute.d.ts +0 -28
- package/.medusa/server/src/modules/attribute/models/attribute.js +0 -36
- package/.medusa/server/src/modules/attribute/models/index.d.ts +0 -3
- package/.medusa/server/src/modules/attribute/models/index.js +0 -13
- package/.medusa/server/src/modules/attribute/service.d.ts +0 -105
- package/.medusa/server/src/modules/attribute/service.js +0 -74
- package/.medusa/server/src/modules/vendor-product-attribute/index.d.ts +0 -23
- package/.medusa/server/src/modules/vendor-product-attribute/index.js +0 -15
- package/.medusa/server/src/modules/vendor-product-attribute/migrations/Migration20260325000000.js +0 -16
- package/.medusa/server/src/modules/vendor-product-attribute/models/vendor-product-attribute.d.ts +0 -11
- package/.medusa/server/src/modules/vendor-product-attribute/models/vendor-product-attribute.js +0 -24
- package/.medusa/server/src/modules/vendor-product-attribute/service.d.ts +0 -14
- package/.medusa/server/src/modules/vendor-product-attribute/service.js +0 -13
- package/.medusa/server/src/workflows/attribute/steps/create-attribute-possible-values.d.ts +0 -40
- package/.medusa/server/src/workflows/attribute/steps/create-attribute-possible-values.js +0 -18
- package/.medusa/server/src/workflows/attribute/steps/create-attributes.d.ts +0 -5
- package/.medusa/server/src/workflows/attribute/steps/create-attributes.js +0 -32
- package/.medusa/server/src/workflows/attribute/steps/delete-attribute.d.ts +0 -6
- package/.medusa/server/src/workflows/attribute/steps/delete-attribute.js +0 -31
- package/.medusa/server/src/workflows/attribute/steps/index.d.ts +0 -7
- package/.medusa/server/src/workflows/attribute/steps/update-attribute-possible-value.d.ts +0 -39
- package/.medusa/server/src/workflows/attribute/steps/update-attribute-possible-value.js +0 -18
- package/.medusa/server/src/workflows/attribute/steps/update-attributes.d.ts +0 -21
- package/.medusa/server/src/workflows/attribute/steps/update-attributes.js +0 -37
- package/.medusa/server/src/workflows/attribute/steps/validate-attribute-delete.d.ts +0 -6
- package/.medusa/server/src/workflows/attribute/steps/validate-attribute-delete.js +0 -50
- package/.medusa/server/src/workflows/attribute/steps/validate-possible-values-removal.d.ts +0 -7
- package/.medusa/server/src/workflows/attribute/steps/validate-possible-values-removal.js +0 -70
- package/.medusa/server/src/workflows/attribute/workflows/create-attribute-possible-values.d.ts +0 -39
- package/.medusa/server/src/workflows/attribute/workflows/create-attribute-possible-values.js +0 -11
- package/.medusa/server/src/workflows/attribute/workflows/create-attributes.d.ts +0 -7
- package/.medusa/server/src/workflows/attribute/workflows/create-attributes.js +0 -40
- package/.medusa/server/src/workflows/attribute/workflows/delete-attribute.d.ts +0 -6
- package/.medusa/server/src/workflows/attribute/workflows/delete-attribute.js +0 -11
- package/.medusa/server/src/workflows/attribute/workflows/index.d.ts +0 -5
- package/.medusa/server/src/workflows/attribute/workflows/update-attribute-possible-value.d.ts +0 -39
- package/.medusa/server/src/workflows/attribute/workflows/update-attribute-possible-value.js +0 -11
- package/.medusa/server/src/workflows/attribute/workflows/update-attributes.d.ts +0 -24
- package/.medusa/server/src/workflows/attribute/workflows/update-attributes.js +0 -69
- package/.medusa/server/src/workflows/cart/utils/prepare-confirm-inventory-input.d.ts +0 -28
- package/.medusa/server/src/workflows/cart/utils/prepare-confirm-inventory-input.js +0 -165
- package/.medusa/server/src/workflows/hooks/product-created.js +0 -75
- package/.medusa/server/src/workflows/hooks/product-variant-created.js +0 -50
- package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-value.d.ts +0 -39
- package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-value.js +0 -21
- package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-values.d.ts +0 -12
- package/.medusa/server/src/workflows/product-attribute/steps/create-attribute-values.js +0 -24
- package/.medusa/server/src/workflows/product-attribute/steps/create-vendor-product-attribute.d.ts +0 -14
- package/.medusa/server/src/workflows/product-attribute/steps/create-vendor-product-attribute.js +0 -18
- package/.medusa/server/src/workflows/product-attribute/steps/delete-attribute-value.d.ts +0 -2
- package/.medusa/server/src/workflows/product-attribute/steps/delete-attribute-value.js +0 -18
- package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +0 -7
- package/.medusa/server/src/workflows/product-attribute/steps/restore-variant-image-associations.d.ts +0 -10
- package/.medusa/server/src/workflows/product-attribute/steps/restore-variant-image-associations.js +0 -49
- package/.medusa/server/src/workflows/product-attribute/steps/save-variant-image-associations.d.ts +0 -8
- package/.medusa/server/src/workflows/product-attribute/steps/save-variant-image-associations.js +0 -29
- package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-value.d.ts +0 -3
- package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-value.js +0 -59
- package/.medusa/server/src/workflows/product-attribute/utils/find-or-create-vendor-attribute.d.ts +0 -13
- package/.medusa/server/src/workflows/product-attribute/utils/find-or-create-vendor-attribute.js +0 -56
- package/.medusa/server/src/workflows/product-attribute/utils/get-applicable-attributes.d.ts +0 -2
- package/.medusa/server/src/workflows/product-attribute/utils/get-applicable-attributes.js +0 -58
- package/.medusa/server/src/workflows/product-attribute/utils/products-created-handler.d.ts +0 -8
- package/.medusa/server/src/workflows/product-attribute/utils/products-created-handler.js +0 -100
- package/.medusa/server/src/workflows/product-attribute/workflows/convert-attribute-to-option.d.ts +0 -3
- package/.medusa/server/src/workflows/product-attribute/workflows/convert-attribute-to-option.js +0 -46
- package/.medusa/server/src/workflows/product-attribute/workflows/convert-option-to-attribute.d.ts +0 -3
- package/.medusa/server/src/workflows/product-attribute/workflows/convert-option-to-attribute.js +0 -29
- package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-attribute-values.d.ts +0 -16
- package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-attribute-values.js +0 -72
- package/.medusa/server/src/workflows/product-attribute/workflows/create-attribute-value.d.ts +0 -39
- package/.medusa/server/src/workflows/product-attribute/workflows/create-attribute-value.js +0 -35
- package/.medusa/server/src/workflows/product-attribute/workflows/create-vendor-product-attribute.d.ts +0 -24
- package/.medusa/server/src/workflows/product-attribute/workflows/create-vendor-product-attribute.js +0 -42
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-attribute-value.d.ts +0 -3
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-attribute-value.js +0 -59
- package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +0 -8
- package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-values.d.ts +0 -20
- package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-values.js +0 -67
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-with-variant-images.d.ts +0 -11
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-with-variant-images.js +0 -34
- package/.medusa/server/src/links/{category-attribute-link.d.ts → brand-seller-link.d.ts} +0 -0
- package/.medusa/server/src/links/{product-attribute-value-link.d.ts → cart-line-item-offer-link.d.ts} +0 -0
- package/.medusa/server/src/links/{product-vendor-product-attribute-link.d.ts → category-seller-link.d.ts} +0 -0
- package/.medusa/server/src/links/{seller-attribute-link.d.ts → offer-inventory-item-link.d.ts} +0 -0
- package/.medusa/server/src/links/{seller-attribute-value-link.d.ts → offer-price-set-link.d.ts} +0 -0
- package/.medusa/server/src/links/{seller-vendor-product-attribute-link.d.ts → offer-seller-link.d.ts} +0 -0
- package/.medusa/server/src/workflows/{hooks/product-created.d.ts → cart/hooks/validate-add-to-cart-stock.d.ts} +0 -0
- package/.medusa/server/src/workflows/{hooks/product-variant-created.d.ts → cart/hooks/validate-update-line-item-stock.d.ts} +0 -0
- package/.medusa/server/src/workflows/{attribute → product-edit}/index.d.ts +1 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const types_1 = require("@mercurjs/types");
|
|
8
|
+
const product_attribute_1 = __importDefault(require("./product-attribute"));
|
|
9
|
+
const product_attribute_value_1 = __importDefault(require("./product-attribute-value"));
|
|
10
|
+
const product_brand_1 = __importDefault(require("./product-brand"));
|
|
11
|
+
const product_category_1 = __importDefault(require("./product-category"));
|
|
12
|
+
const product_change_1 = __importDefault(require("./product-change"));
|
|
13
|
+
const product_collection_1 = __importDefault(require("./product-collection"));
|
|
14
|
+
const product_image_1 = __importDefault(require("./product-image"));
|
|
15
|
+
const product_tag_1 = __importDefault(require("./product-tag"));
|
|
16
|
+
const product_type_1 = __importDefault(require("./product-type"));
|
|
17
|
+
const product_variant_1 = __importDefault(require("./product-variant"));
|
|
18
|
+
const Product = utils_1.model
|
|
19
|
+
.define("Product", {
|
|
20
|
+
// --- Medusa original fields (unchanged) ---
|
|
21
|
+
id: utils_1.model.id({ prefix: "prod" }).primaryKey(),
|
|
22
|
+
title: utils_1.model.text().searchable().translatable(),
|
|
23
|
+
handle: utils_1.model.text(),
|
|
24
|
+
subtitle: utils_1.model.text().searchable().translatable().nullable(),
|
|
25
|
+
description: utils_1.model.text().searchable().translatable().nullable(),
|
|
26
|
+
is_giftcard: utils_1.model.boolean().default(false),
|
|
27
|
+
thumbnail: utils_1.model.text().nullable(),
|
|
28
|
+
weight: utils_1.model.text().nullable(),
|
|
29
|
+
length: utils_1.model.text().nullable(),
|
|
30
|
+
height: utils_1.model.text().nullable(),
|
|
31
|
+
width: utils_1.model.text().nullable(),
|
|
32
|
+
origin_country: utils_1.model.text().nullable(),
|
|
33
|
+
hs_code: utils_1.model.text().nullable(),
|
|
34
|
+
mid_code: utils_1.model.text().nullable(),
|
|
35
|
+
material: utils_1.model.text().translatable().nullable(),
|
|
36
|
+
discountable: utils_1.model.boolean().default(true),
|
|
37
|
+
external_id: utils_1.model.text().nullable(),
|
|
38
|
+
metadata: utils_1.model.json().nullable(),
|
|
39
|
+
// --- Marketplace additions ---
|
|
40
|
+
status: utils_1.model.enum(types_1.ProductStatus).default(types_1.ProductStatus.PROPOSED),
|
|
41
|
+
is_restricted: utils_1.model.boolean().default(false),
|
|
42
|
+
created_by: utils_1.model.text().nullable(),
|
|
43
|
+
created_by_actor: utils_1.model.text().searchable().nullable(),
|
|
44
|
+
// --- Medusa original relations (unchanged) ---
|
|
45
|
+
variants: utils_1.model.hasMany(() => product_variant_1.default, {
|
|
46
|
+
mappedBy: "product",
|
|
47
|
+
}),
|
|
48
|
+
type: utils_1.model
|
|
49
|
+
.belongsTo(() => product_type_1.default, {
|
|
50
|
+
mappedBy: "products",
|
|
51
|
+
})
|
|
52
|
+
.nullable(),
|
|
53
|
+
brand: utils_1.model
|
|
54
|
+
.belongsTo(() => product_brand_1.default, {
|
|
55
|
+
mappedBy: "products",
|
|
56
|
+
})
|
|
57
|
+
.nullable(),
|
|
58
|
+
tags: utils_1.model.manyToMany(() => product_tag_1.default, {
|
|
59
|
+
mappedBy: "products",
|
|
60
|
+
pivotTable: "product_tags",
|
|
61
|
+
}),
|
|
62
|
+
images: utils_1.model.hasMany(() => product_image_1.default, {
|
|
63
|
+
mappedBy: "product",
|
|
64
|
+
}),
|
|
65
|
+
collection: utils_1.model
|
|
66
|
+
.belongsTo(() => product_collection_1.default, {
|
|
67
|
+
mappedBy: "products",
|
|
68
|
+
})
|
|
69
|
+
.nullable(),
|
|
70
|
+
categories: utils_1.model.manyToMany(() => product_category_1.default, {
|
|
71
|
+
pivotTable: "product_category_product",
|
|
72
|
+
mappedBy: "products",
|
|
73
|
+
}),
|
|
74
|
+
variant_attributes: utils_1.model.manyToMany(() => product_attribute_1.default, {
|
|
75
|
+
pivotTable: "product_variant_attribute",
|
|
76
|
+
mappedBy: "variant_products",
|
|
77
|
+
}),
|
|
78
|
+
custom_attributes: utils_1.model.hasMany(() => product_attribute_1.default, {
|
|
79
|
+
mappedBy: "product",
|
|
80
|
+
}),
|
|
81
|
+
attribute_values: utils_1.model.manyToMany(() => product_attribute_value_1.default, {
|
|
82
|
+
pivotTable: "product_attribute_value_link",
|
|
83
|
+
mappedBy: "products",
|
|
84
|
+
}),
|
|
85
|
+
changes: utils_1.model.hasMany(() => product_change_1.default, {
|
|
86
|
+
mappedBy: "product",
|
|
87
|
+
}),
|
|
88
|
+
})
|
|
89
|
+
.cascades({
|
|
90
|
+
delete: ["variants", "images", "custom_attributes"],
|
|
91
|
+
})
|
|
92
|
+
.indexes([
|
|
93
|
+
{
|
|
94
|
+
name: "IDX_product_handle_unique",
|
|
95
|
+
on: ["handle"],
|
|
96
|
+
unique: true,
|
|
97
|
+
where: "deleted_at IS NULL",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "IDX_product_type_id",
|
|
101
|
+
on: ["type_id"],
|
|
102
|
+
unique: false,
|
|
103
|
+
where: "deleted_at IS NULL",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "IDX_product_collection_id",
|
|
107
|
+
on: ["collection_id"],
|
|
108
|
+
unique: false,
|
|
109
|
+
where: "deleted_at IS NULL",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "IDX_product_status",
|
|
113
|
+
on: ["status"],
|
|
114
|
+
unique: false,
|
|
115
|
+
where: "deleted_at IS NULL",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "IDX_product_brand_id",
|
|
119
|
+
on: ["brand_id"],
|
|
120
|
+
unique: false,
|
|
121
|
+
where: "deleted_at IS NULL",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: "IDX_product_created_by",
|
|
125
|
+
on: ["created_by"],
|
|
126
|
+
unique: false,
|
|
127
|
+
where: "deleted_at IS NULL AND created_by IS NOT NULL",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "IDX_product_created_by_actor",
|
|
131
|
+
on: ["created_by_actor"],
|
|
132
|
+
unique: false,
|
|
133
|
+
where: "deleted_at IS NULL AND created_by_actor IS NOT NULL",
|
|
134
|
+
},
|
|
135
|
+
]);
|
|
136
|
+
exports.default = Product;
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3Byb2R1Y3QvbW9kZWxzL3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBa0Q7QUFDbEQsMkNBQWdEO0FBQ2hELDRFQUFtRDtBQUNuRCx3RkFBOEQ7QUFDOUQsb0VBQTJDO0FBQzNDLDBFQUFpRDtBQUNqRCxzRUFBNkM7QUFDN0MsOEVBQXFEO0FBQ3JELG9FQUEyQztBQUMzQyxnRUFBdUM7QUFDdkMsa0VBQXlDO0FBQ3pDLHdFQUErQztBQUUvQyxNQUFNLE9BQU8sR0FBRyxhQUFLO0tBQ2xCLE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDakIsNkNBQTZDO0lBQzdDLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzdDLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFO0lBQy9DLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3BCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdELFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hFLFdBQVcsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMzQyxTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixNQUFNLEVBQUUsYUFBSyxDQUFD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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Context, DAL, InferEntityType, ProductCategoryTransformOptions } from "@medusajs/framework/types";
|
|
2
|
+
import { DALUtils } from "@medusajs/framework/utils";
|
|
3
|
+
import { SqlEntityManager } from "@medusajs/framework/mikro-orm/postgresql";
|
|
4
|
+
import { ProductCategory } from "../models";
|
|
5
|
+
type UpdateCategoryInput = {
|
|
6
|
+
id: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
handle?: string;
|
|
10
|
+
is_active?: boolean;
|
|
11
|
+
is_internal?: boolean;
|
|
12
|
+
is_restricted?: boolean;
|
|
13
|
+
rank?: number;
|
|
14
|
+
parent_category_id?: string | null;
|
|
15
|
+
parent_category?: {
|
|
16
|
+
id: string;
|
|
17
|
+
} | null;
|
|
18
|
+
category_children?: any[];
|
|
19
|
+
metadata?: Record<string, unknown> | null;
|
|
20
|
+
mpath?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare class ProductCategoryRepository extends DALUtils.MikroOrmBaseTreeRepository<typeof ProductCategory> {
|
|
23
|
+
buildFindOptions(findOptions?: DAL.FindOptions<typeof ProductCategory>, familyOptions?: ProductCategoryTransformOptions): DAL.FindOptions<typeof ProductCategory>;
|
|
24
|
+
find(findOptions?: DAL.FindOptions<typeof ProductCategory>, transformOptions?: ProductCategoryTransformOptions, context?: Context): Promise<InferEntityType<typeof ProductCategory>[]>;
|
|
25
|
+
sortCategoriesByRank(categories: InferEntityType<typeof ProductCategory>[]): InferEntityType<typeof ProductCategory>[];
|
|
26
|
+
buildProductCategoriesWithTree(include: {
|
|
27
|
+
descendants?: boolean;
|
|
28
|
+
ancestors?: boolean;
|
|
29
|
+
}, productCategories: InferEntityType<typeof ProductCategory>[], findOptions?: DAL.FindOptions<typeof ProductCategory> & {
|
|
30
|
+
serialize?: boolean;
|
|
31
|
+
}, context?: Context): Promise<InferEntityType<typeof ProductCategory>[]>;
|
|
32
|
+
findAndCount(findOptions?: DAL.FindOptions<typeof ProductCategory>, transformOptions?: ProductCategoryTransformOptions, context?: Context): Promise<[InferEntityType<typeof ProductCategory>[], number]>;
|
|
33
|
+
delete(ids: string[], context?: Context): Promise<string[]>;
|
|
34
|
+
softDelete(ids: string[], context?: Context): Promise<[
|
|
35
|
+
InferEntityType<typeof ProductCategory>[],
|
|
36
|
+
Record<string, unknown[]>
|
|
37
|
+
]>;
|
|
38
|
+
restore(ids: string[], context?: Context): Promise<[
|
|
39
|
+
InferEntityType<typeof ProductCategory>[],
|
|
40
|
+
Record<string, unknown[]>
|
|
41
|
+
]>;
|
|
42
|
+
baseDelete(ids: string[], context?: Context): Promise<void>;
|
|
43
|
+
create(data: any[], context?: Context): Promise<InferEntityType<typeof ProductCategory>[]>;
|
|
44
|
+
update(data: UpdateCategoryInput[], context?: Context): Promise<InferEntityType<typeof ProductCategory>[]>;
|
|
45
|
+
protected rerankSiblingsAfterDeletion(manager: SqlEntityManager, removedSibling: Partial<InferEntityType<typeof ProductCategory>>): Promise<void>;
|
|
46
|
+
protected rerankSiblingsAfterCreation(manager: SqlEntityManager, addedSibling: Partial<InferEntityType<typeof ProductCategory>>): Promise<void>;
|
|
47
|
+
protected rerankAllSiblings(manager: SqlEntityManager, originalSibling: Partial<InferEntityType<typeof ProductCategory>> & {
|
|
48
|
+
rank: number;
|
|
49
|
+
}, updatedSibling: Partial<InferEntityType<typeof ProductCategory>> & {
|
|
50
|
+
rank: number;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProductCategoryRepository = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_1 = require("@medusajs/framework/mikro-orm/core");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
// eslint-disable-next-line max-len
|
|
8
|
+
class ProductCategoryRepository extends utils_1.DALUtils.MikroOrmBaseTreeRepository {
|
|
9
|
+
buildFindOptions(findOptions = { where: {} }, familyOptions = {}) {
|
|
10
|
+
const findOptions_ = { ...findOptions };
|
|
11
|
+
findOptions_.options ??= {};
|
|
12
|
+
findOptions_.options.orderBy ??= {
|
|
13
|
+
id: "ASC",
|
|
14
|
+
rank: "ASC",
|
|
15
|
+
};
|
|
16
|
+
const fields = (findOptions_.options.fields ??= []);
|
|
17
|
+
const populate = (findOptions_.options.populate ??= []);
|
|
18
|
+
if (familyOptions.includeDescendantsTree ||
|
|
19
|
+
familyOptions.includeAncestorsTree) {
|
|
20
|
+
fields.indexOf("mpath") === -1 && fields.push("mpath");
|
|
21
|
+
fields.indexOf("parent_category_id") === -1 &&
|
|
22
|
+
fields.push("parent_category_id");
|
|
23
|
+
}
|
|
24
|
+
const shouldExpandParent = familyOptions.includeAncestorsTree ||
|
|
25
|
+
populate.includes("parent_category") ||
|
|
26
|
+
fields.some((field) => field.startsWith("parent_category."));
|
|
27
|
+
if (shouldExpandParent) {
|
|
28
|
+
populate.indexOf("parent_category") === -1 &&
|
|
29
|
+
populate.push("parent_category");
|
|
30
|
+
}
|
|
31
|
+
const shouldExpandChildren = familyOptions.includeDescendantsTree ||
|
|
32
|
+
populate.includes("category_children") ||
|
|
33
|
+
fields.some((field) => field.startsWith("category_children."));
|
|
34
|
+
if (shouldExpandChildren) {
|
|
35
|
+
populate.indexOf("category_children") === -1 &&
|
|
36
|
+
populate.push("category_children");
|
|
37
|
+
}
|
|
38
|
+
Object.assign(findOptions_.options, {
|
|
39
|
+
strategy: core_1.LoadStrategy.SELECT_IN,
|
|
40
|
+
});
|
|
41
|
+
return findOptions_;
|
|
42
|
+
}
|
|
43
|
+
async find(findOptions = { where: {} }, transformOptions = {}, context = {}) {
|
|
44
|
+
const manager = super.getActiveManager(context);
|
|
45
|
+
const findOptions_ = this.buildFindOptions(findOptions, transformOptions);
|
|
46
|
+
const productCategories = await manager.find(models_1.ProductCategory.name, findOptions_.where, { ...findOptions_.options });
|
|
47
|
+
if (!transformOptions.includeDescendantsTree &&
|
|
48
|
+
!transformOptions.includeAncestorsTree) {
|
|
49
|
+
return productCategories;
|
|
50
|
+
}
|
|
51
|
+
const categoriesTree = await this.buildProductCategoriesWithTree({
|
|
52
|
+
descendants: transformOptions.includeDescendantsTree,
|
|
53
|
+
ancestors: transformOptions.includeAncestorsTree,
|
|
54
|
+
}, productCategories, findOptions_, context);
|
|
55
|
+
return this.sortCategoriesByRank(categoriesTree);
|
|
56
|
+
}
|
|
57
|
+
sortCategoriesByRank(categories) {
|
|
58
|
+
const sortedCategories = categories.sort((a, b) => a.rank - b.rank);
|
|
59
|
+
for (const category of sortedCategories) {
|
|
60
|
+
if (category.category_children) {
|
|
61
|
+
category.category_children = this.sortCategoriesByRank(category.category_children);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return sortedCategories;
|
|
65
|
+
}
|
|
66
|
+
async buildProductCategoriesWithTree(include, productCategories, findOptions = { where: {} }, context = {}) {
|
|
67
|
+
const { serialize = true } = findOptions;
|
|
68
|
+
delete findOptions.serialize;
|
|
69
|
+
const manager = super.getActiveManager(context);
|
|
70
|
+
let relationIndex = findOptions.options?.populate?.indexOf("parent_category") ?? -1;
|
|
71
|
+
const shouldPopulateParent = relationIndex !== -1;
|
|
72
|
+
if (shouldPopulateParent && include.ancestors) {
|
|
73
|
+
findOptions.options.populate.splice(relationIndex, 1);
|
|
74
|
+
}
|
|
75
|
+
relationIndex =
|
|
76
|
+
findOptions.options?.populate?.indexOf("category_children") ?? -1;
|
|
77
|
+
const shouldPopulateChildren = relationIndex !== -1;
|
|
78
|
+
if (shouldPopulateChildren && include.descendants) {
|
|
79
|
+
findOptions.options.populate.splice(relationIndex, 1);
|
|
80
|
+
}
|
|
81
|
+
const mpaths = [];
|
|
82
|
+
const parentMpaths = new Set();
|
|
83
|
+
for (const cat of productCategories) {
|
|
84
|
+
if (include.descendants) {
|
|
85
|
+
mpaths.push({ mpath: { $like: `${cat.mpath}%` } });
|
|
86
|
+
}
|
|
87
|
+
if (include.ancestors) {
|
|
88
|
+
let parent = "";
|
|
89
|
+
cat.mpath?.split(".").forEach((mpath) => {
|
|
90
|
+
parentMpaths.add(parent + mpath);
|
|
91
|
+
parent += mpath + ".";
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
mpaths.push({ mpath: Array.from(parentMpaths) });
|
|
96
|
+
const where = { ...findOptions.where, $or: mpaths };
|
|
97
|
+
const options = {
|
|
98
|
+
...findOptions.options,
|
|
99
|
+
limit: undefined,
|
|
100
|
+
offset: 0,
|
|
101
|
+
};
|
|
102
|
+
delete where.id;
|
|
103
|
+
delete where.handle;
|
|
104
|
+
delete where.mpath;
|
|
105
|
+
delete where.parent_category_id;
|
|
106
|
+
const categoriesInTree = serialize
|
|
107
|
+
? await this.serialize(await manager.find(models_1.ProductCategory.name, where, options))
|
|
108
|
+
: await manager.find(models_1.ProductCategory.name, where, options);
|
|
109
|
+
const categoriesById = new Map(categoriesInTree.map((cat) => [cat.id, cat]));
|
|
110
|
+
categoriesInTree.forEach((cat) => {
|
|
111
|
+
if (cat.parent_category_id && include.ancestors) {
|
|
112
|
+
cat.parent_category = categoriesById.get(cat.parent_category_id);
|
|
113
|
+
cat.parent_category_id = categoriesById.get(cat.parent_category_id)?.["id"];
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
const populateChildren = (category, level = 0) => {
|
|
117
|
+
const categories = categoriesInTree.filter((child) => child.parent_category_id === category.id);
|
|
118
|
+
if (include.descendants) {
|
|
119
|
+
category.category_children = categories.map((child) => {
|
|
120
|
+
return populateChildren(categoriesById.get(child.id), level + 1);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
if (level === 0) {
|
|
124
|
+
if (!include.ancestors && !shouldPopulateParent) {
|
|
125
|
+
delete category.parent_category;
|
|
126
|
+
}
|
|
127
|
+
return category;
|
|
128
|
+
}
|
|
129
|
+
if (include.ancestors) {
|
|
130
|
+
delete category.category_children;
|
|
131
|
+
}
|
|
132
|
+
if (include.descendants) {
|
|
133
|
+
delete category.parent_category;
|
|
134
|
+
}
|
|
135
|
+
return category;
|
|
136
|
+
};
|
|
137
|
+
const populatedProductCategories = productCategories.map((cat) => {
|
|
138
|
+
const fullCategory = categoriesById.get(cat.id);
|
|
139
|
+
return populateChildren(fullCategory);
|
|
140
|
+
});
|
|
141
|
+
return populatedProductCategories;
|
|
142
|
+
}
|
|
143
|
+
async findAndCount(findOptions = { where: {} }, transformOptions = {}, context = {}) {
|
|
144
|
+
const manager = super.getActiveManager(context);
|
|
145
|
+
const findOptions_ = this.buildFindOptions(findOptions, transformOptions);
|
|
146
|
+
const [productCategories, count] = (await manager.findAndCount(models_1.ProductCategory.name, findOptions_.where, findOptions_.options));
|
|
147
|
+
if (!transformOptions.includeDescendantsTree &&
|
|
148
|
+
!transformOptions.includeAncestorsTree) {
|
|
149
|
+
return [productCategories, count];
|
|
150
|
+
}
|
|
151
|
+
const categoriesTree = await this.buildProductCategoriesWithTree({
|
|
152
|
+
descendants: transformOptions.includeDescendantsTree,
|
|
153
|
+
ancestors: transformOptions.includeAncestorsTree,
|
|
154
|
+
}, productCategories, findOptions_, context);
|
|
155
|
+
return [this.sortCategoriesByRank(categoriesTree), count];
|
|
156
|
+
}
|
|
157
|
+
async delete(ids, context = {}) {
|
|
158
|
+
const manager = super.getActiveManager(context);
|
|
159
|
+
await this.baseDelete(ids, context);
|
|
160
|
+
await manager.nativeDelete(models_1.ProductCategory.name, { id: ids }, {});
|
|
161
|
+
return ids;
|
|
162
|
+
}
|
|
163
|
+
async softDelete(ids, context = {}) {
|
|
164
|
+
const manager = super.getActiveManager(context);
|
|
165
|
+
await this.baseDelete(ids, context);
|
|
166
|
+
const categories = await Promise.all(ids.map(async (id) => {
|
|
167
|
+
const productCategory = await manager.findOne(models_1.ProductCategory.name, {
|
|
168
|
+
id,
|
|
169
|
+
});
|
|
170
|
+
if (!productCategory) {
|
|
171
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `ProductCategory with id: ${id} was not found`);
|
|
172
|
+
}
|
|
173
|
+
manager.assign(productCategory, { deleted_at: new Date() });
|
|
174
|
+
return productCategory;
|
|
175
|
+
}));
|
|
176
|
+
manager.persist(categories);
|
|
177
|
+
return [categories, {}];
|
|
178
|
+
}
|
|
179
|
+
async restore(ids, context = {}) {
|
|
180
|
+
const manager = super.getActiveManager(context);
|
|
181
|
+
const categories = await Promise.all(ids.map(async (id) => {
|
|
182
|
+
const productCategory = await manager.findOneOrFail(models_1.ProductCategory.name, {
|
|
183
|
+
id,
|
|
184
|
+
});
|
|
185
|
+
manager.assign(productCategory, { deleted_at: null });
|
|
186
|
+
return productCategory;
|
|
187
|
+
}));
|
|
188
|
+
manager.persist(categories);
|
|
189
|
+
return [categories, {}];
|
|
190
|
+
}
|
|
191
|
+
async baseDelete(ids, context = {}) {
|
|
192
|
+
const manager = super.getActiveManager(context);
|
|
193
|
+
await Promise.all(ids.map(async (id) => {
|
|
194
|
+
const productCategory = await manager.findOne(models_1.ProductCategory.name, { id }, {
|
|
195
|
+
populate: ["category_children"],
|
|
196
|
+
});
|
|
197
|
+
if (!productCategory) {
|
|
198
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `ProductCategory with id: ${id} was not found`);
|
|
199
|
+
}
|
|
200
|
+
if (productCategory.category_children.length > 0) {
|
|
201
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, `Deleting ProductCategory (${id}) with category children is not allowed`);
|
|
202
|
+
}
|
|
203
|
+
await this.rerankSiblingsAfterDeletion(manager, productCategory);
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
|
+
async create(data, context = {}) {
|
|
207
|
+
const manager = super.getActiveManager(context);
|
|
208
|
+
const categories = await Promise.all(data.map(async (entry, i) => {
|
|
209
|
+
const categoryData = {
|
|
210
|
+
...entry,
|
|
211
|
+
};
|
|
212
|
+
const siblingsCount = await manager.count(models_1.ProductCategory.name, {
|
|
213
|
+
parent_category_id: categoryData?.parent_category_id || null,
|
|
214
|
+
});
|
|
215
|
+
categoryData.rank ??= siblingsCount + i;
|
|
216
|
+
if (categoryData.rank > siblingsCount + i) {
|
|
217
|
+
categoryData.rank = siblingsCount + i;
|
|
218
|
+
}
|
|
219
|
+
if (categoryData.rank < siblingsCount + i) {
|
|
220
|
+
await this.rerankSiblingsAfterCreation(manager, categoryData);
|
|
221
|
+
}
|
|
222
|
+
let parentCategory = null;
|
|
223
|
+
const parentCategoryId = categoryData.parent_category_id ??
|
|
224
|
+
categoryData.parent_category?.id;
|
|
225
|
+
if (parentCategoryId) {
|
|
226
|
+
parentCategory = await manager.findOne(models_1.ProductCategory.name, parentCategoryId);
|
|
227
|
+
if (!parentCategory) {
|
|
228
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, `Parent category with id: '${parentCategoryId}' does not exist`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const result = await manager.create(models_1.ProductCategory.name, categoryData);
|
|
232
|
+
manager.assign(result, {
|
|
233
|
+
mpath: parentCategory
|
|
234
|
+
? `${parentCategory.mpath}.${result.id}`
|
|
235
|
+
: result.id,
|
|
236
|
+
});
|
|
237
|
+
return result;
|
|
238
|
+
}));
|
|
239
|
+
manager.persist(categories);
|
|
240
|
+
return categories;
|
|
241
|
+
}
|
|
242
|
+
async update(data, context = {}) {
|
|
243
|
+
const manager = super.getActiveManager(context);
|
|
244
|
+
const categories = await Promise.all(data.map(async (entry, i) => {
|
|
245
|
+
const categoryData = {
|
|
246
|
+
...entry,
|
|
247
|
+
};
|
|
248
|
+
let productCategory = await manager.findOne(models_1.ProductCategory.name, categoryData.id);
|
|
249
|
+
if (!productCategory) {
|
|
250
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `ProductCategory with id: ${categoryData.id} was not found`);
|
|
251
|
+
}
|
|
252
|
+
if (!(0, utils_1.isDefined)(categoryData.parent_category_id) &&
|
|
253
|
+
!(0, utils_1.isDefined)(categoryData.rank)) {
|
|
254
|
+
for (const key in categoryData) {
|
|
255
|
+
if ((0, utils_1.isDefined)(categoryData[key])) {
|
|
256
|
+
productCategory[key] = categoryData[key];
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
manager.assign(productCategory, categoryData);
|
|
260
|
+
return productCategory;
|
|
261
|
+
}
|
|
262
|
+
if ((0, utils_1.isDefined)(categoryData.parent_category_id) &&
|
|
263
|
+
categoryData.parent_category_id !== productCategory.parent_category_id) {
|
|
264
|
+
if (categoryData.parent_category_id === null) {
|
|
265
|
+
categoryData.mpath = "";
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
productCategory = (await this.buildProductCategoriesWithTree({
|
|
269
|
+
descendants: true,
|
|
270
|
+
}, [productCategory], {
|
|
271
|
+
where: { id: productCategory.id },
|
|
272
|
+
serialize: false,
|
|
273
|
+
}, context))[0];
|
|
274
|
+
const newParentCategory = await manager.findOne(models_1.ProductCategory.name, categoryData.parent_category_id);
|
|
275
|
+
if (!newParentCategory) {
|
|
276
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, `Parent category with id: '${categoryData.parent_category_id}' does not exist`);
|
|
277
|
+
}
|
|
278
|
+
const categoryDataChildren = categoryData.category_children?.flatMap((child) => child.category_children ?? []);
|
|
279
|
+
const categoryDataChildrenMap = new Map(categoryDataChildren?.map((child) => [child.id, child]));
|
|
280
|
+
function updateMpathRecursively(category, newBaseMpath) {
|
|
281
|
+
const newMpath = `${newBaseMpath}.${category.id}`;
|
|
282
|
+
category.mpath = newMpath;
|
|
283
|
+
for (let child of category.category_children) {
|
|
284
|
+
child = manager.getReference(models_1.ProductCategory.name, child.id);
|
|
285
|
+
manager.assign(child, categoryDataChildrenMap.get(child.id) ?? {});
|
|
286
|
+
updateMpathRecursively(child, newMpath);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
updateMpathRecursively(productCategory, newParentCategory.mpath);
|
|
290
|
+
}
|
|
291
|
+
const siblingsCount = await manager.count(models_1.ProductCategory.name, {
|
|
292
|
+
parent_category_id: categoryData.parent_category_id,
|
|
293
|
+
});
|
|
294
|
+
categoryData.rank ??= siblingsCount + i;
|
|
295
|
+
if (categoryData.rank > siblingsCount + i) {
|
|
296
|
+
categoryData.rank = siblingsCount + i;
|
|
297
|
+
}
|
|
298
|
+
if (categoryData.rank < siblingsCount + i) {
|
|
299
|
+
await this.rerankSiblingsAfterCreation(manager, categoryData);
|
|
300
|
+
}
|
|
301
|
+
await this.rerankSiblingsAfterDeletion(manager, productCategory);
|
|
302
|
+
for (const key in categoryData) {
|
|
303
|
+
if ((0, utils_1.isDefined)(categoryData[key])) {
|
|
304
|
+
productCategory[key] = categoryData[key];
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
manager.assign(productCategory, categoryData);
|
|
308
|
+
return productCategory;
|
|
309
|
+
}
|
|
310
|
+
else if ((0, utils_1.isDefined)(categoryData.rank)) {
|
|
311
|
+
const siblingsCount = await manager.count(models_1.ProductCategory.name, {
|
|
312
|
+
parent_category_id: productCategory.parent_category_id,
|
|
313
|
+
});
|
|
314
|
+
if (categoryData.rank > siblingsCount - 1 + i) {
|
|
315
|
+
categoryData.rank = siblingsCount - 1 + i;
|
|
316
|
+
}
|
|
317
|
+
await this.rerankAllSiblings(manager, productCategory, categoryData);
|
|
318
|
+
}
|
|
319
|
+
for (const key in categoryData) {
|
|
320
|
+
if ((0, utils_1.isDefined)(categoryData[key])) {
|
|
321
|
+
productCategory[key] = categoryData[key];
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
manager.assign(productCategory, categoryData);
|
|
325
|
+
return productCategory;
|
|
326
|
+
}));
|
|
327
|
+
manager.persist(categories);
|
|
328
|
+
return categories;
|
|
329
|
+
}
|
|
330
|
+
async rerankSiblingsAfterDeletion(manager, removedSibling) {
|
|
331
|
+
const affectedSiblings = await manager.find(models_1.ProductCategory.name, {
|
|
332
|
+
parent_category_id: removedSibling.parent_category_id,
|
|
333
|
+
rank: { $gt: removedSibling.rank },
|
|
334
|
+
});
|
|
335
|
+
const updatedSiblings = affectedSiblings.map((sibling) => {
|
|
336
|
+
manager.assign(sibling, { rank: sibling.rank - 1 });
|
|
337
|
+
return sibling;
|
|
338
|
+
});
|
|
339
|
+
manager.persist(updatedSiblings);
|
|
340
|
+
}
|
|
341
|
+
async rerankSiblingsAfterCreation(manager, addedSibling) {
|
|
342
|
+
const affectedSiblings = await manager.find(models_1.ProductCategory.name, {
|
|
343
|
+
parent_category_id: addedSibling.parent_category_id,
|
|
344
|
+
rank: { $gte: addedSibling.rank },
|
|
345
|
+
});
|
|
346
|
+
const updatedSiblings = affectedSiblings.map((sibling) => {
|
|
347
|
+
manager.assign(sibling, { rank: sibling.rank + 1 });
|
|
348
|
+
return sibling;
|
|
349
|
+
});
|
|
350
|
+
manager.persist(updatedSiblings);
|
|
351
|
+
}
|
|
352
|
+
async rerankAllSiblings(manager, originalSibling, updatedSibling) {
|
|
353
|
+
if (originalSibling.rank === updatedSibling.rank) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
if (originalSibling.rank < updatedSibling.rank) {
|
|
357
|
+
const siblings = await manager.find(models_1.ProductCategory.name, {
|
|
358
|
+
parent_category_id: originalSibling.parent_category_id,
|
|
359
|
+
rank: { $gt: originalSibling.rank, $lte: updatedSibling.rank },
|
|
360
|
+
}, { orderBy: { rank: "ASC" } });
|
|
361
|
+
const updatedSiblings = siblings.map((sibling) => {
|
|
362
|
+
manager.assign(sibling, { rank: sibling.rank - 1 });
|
|
363
|
+
return sibling;
|
|
364
|
+
});
|
|
365
|
+
manager.persist(updatedSiblings);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
const siblings = await manager.find(models_1.ProductCategory.name, {
|
|
369
|
+
parent_category_id: originalSibling.parent_category_id,
|
|
370
|
+
rank: { $gte: updatedSibling.rank, $lt: originalSibling.rank },
|
|
371
|
+
}, { orderBy: { rank: "ASC" } });
|
|
372
|
+
const updatedSiblings = siblings.map((sibling) => {
|
|
373
|
+
manager.assign(sibling, { rank: sibling.rank + 1 });
|
|
374
|
+
return sibling;
|
|
375
|
+
});
|
|
376
|
+
manager.persist(updatedSiblings);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
exports.ProductCategoryRepository = ProductCategoryRepository;
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3Byb2R1Y3QvcmVwb3NpdG9yaWVzL3Byb2R1Y3QtY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEscURBQTRFO0FBQzVFLDZEQUcyQztBQUUzQyxzQ0FBMkM7QUFrQjNDLG1DQUFtQztBQUNuQyxNQUFhLHlCQUEwQixTQUFRLGdCQUFRLENBQUMsMEJBRXZEO0lBQ0MsZ0JBQWdCLENBQ2QsY0FBdUQsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQ3BFLGdCQUFpRCxFQUFFO1FBRW5ELE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQTtRQUN2QyxZQUFZLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQTtRQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSztZQUMvQixFQUFFLEVBQUUsS0FBSztZQUNULElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUV2RCxJQUNFLGFBQWEsQ0FBQyxzQkFBc0I7WUFDcEMsYUFBYSxDQUFDLG9CQUFvQixFQUNsQyxDQUFDO1lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3RELE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUNyQyxDQUFDO1FB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
|