@mercurjs/core 2.2.0-canary.3 → 2.2.0-canary.7
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/middlewares.js +9 -13
- package/.medusa/server/src/api/admin/offers/query-config.js +8 -8
- package/.medusa/server/src/api/admin/product-attributes/[id]/route.js +3 -3
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/[value_id]/route.js +3 -3
- package/.medusa/server/src/api/admin/product-attributes/[id]/values/route.js +2 -2
- package/.medusa/server/src/api/admin/product-attributes/middlewares.js +15 -1
- package/.medusa/server/src/api/admin/product-attributes/query-config.js +1 -2
- package/.medusa/server/src/api/admin/product-attributes/route.js +6 -3
- package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +1 -5
- package/.medusa/server/src/api/admin/product-attributes/validators.js +2 -15
- package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
- package/.medusa/server/src/api/admin/product-categories/[id]/route.js +8 -7
- package/.medusa/server/src/api/admin/product-categories/query-config.js +1 -2
- package/.medusa/server/src/api/admin/product-categories/route.js +4 -4
- package/.medusa/server/src/api/admin/product-categories/validators.d.ts +8 -8
- package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +5 -6
- package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +5 -5
- package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.d.ts +1 -4
- package/.medusa/server/src/api/admin/products/[id]/attributes/[attribute_id]/route.js +42 -30
- package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.d.ts +3 -2
- package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +11 -22
- package/.medusa/server/src/api/admin/products/[id]/attributes/route.d.ts +2 -3
- package/.medusa/server/src/api/admin/products/[id]/attributes/route.js +40 -25
- package/.medusa/server/src/api/admin/products/[id]/confirm/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +16 -6
- package/.medusa/server/src/api/admin/products/[id]/preview/route.d.ts +8 -1
- package/.medusa/server/src/api/admin/products/[id]/preview/route.js +20 -7
- package/.medusa/server/src/api/admin/products/[id]/reject/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/products/[id]/reject/route.js +13 -8
- package/.medusa/server/src/api/admin/products/[id]/request-changes/route.d.ts +9 -0
- package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +16 -10
- package/.medusa/server/src/api/admin/products/[id]/route.js +6 -6
- package/.medusa/server/src/api/admin/products/[id]/variants/[variant_id]/route.js +5 -5
- package/.medusa/server/src/api/admin/products/[id]/variants/route.js +22 -4
- package/.medusa/server/src/api/admin/products/middlewares.js +8 -4
- package/.medusa/server/src/api/admin/products/query-config.js +12 -18
- package/.medusa/server/src/api/admin/products/route.js +4 -9
- package/.medusa/server/src/api/admin/products/validators.d.ts +1040 -214
- package/.medusa/server/src/api/admin/products/validators.js +108 -16
- package/.medusa/server/src/api/store/carts/[id]/line-items/route.js +11 -5
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.d.ts +3 -3
- package/.medusa/server/src/api/store/carts/[id]/line-items/validators.js +2 -2
- package/.medusa/server/src/api/store/middlewares.js +7 -9
- package/.medusa/server/src/api/store/products/[id]/route.js +3 -18
- package/.medusa/server/src/api/store/products/middlewares.js +1 -7
- package/.medusa/server/src/api/store/products/query-config.d.ts +1 -3
- package/.medusa/server/src/api/store/products/query-config.js +14 -17
- package/.medusa/server/src/api/store/products/route.js +3 -19
- package/.medusa/server/src/api/store/products/validators.d.ts +0 -6
- package/.medusa/server/src/api/store/products/validators.js +1 -2
- package/.medusa/server/src/api/utils/filter-attributes-by-category-link.d.ts +17 -0
- package/.medusa/server/src/api/utils/filter-attributes-by-category-link.js +58 -0
- package/.medusa/server/src/api/utils/format-product-attributes.d.ts +51 -5
- package/.medusa/server/src/api/utils/format-product-attributes.js +174 -31
- 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/vendor/middlewares.js +7 -11
- package/.medusa/server/src/api/vendor/offers/query-config.js +8 -8
- package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +3 -3
- package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/route.js +3 -3
- package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +15 -1
- package/.medusa/server/src/api/vendor/product-attributes/route.js +4 -1
- package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +1 -5
- package/.medusa/server/src/api/vendor/product-attributes/validators.js +2 -15
- package/.medusa/server/src/api/vendor/product-categories/query-config.js +1 -2
- package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +4 -4
- package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.d.ts +6 -5
- package/.medusa/server/src/api/vendor/products/[id]/attributes/[attribute_id]/route.js +41 -16
- package/.medusa/server/src/api/vendor/products/[id]/attributes/route.d.ts +10 -6
- package/.medusa/server/src/api/vendor/products/[id]/attributes/route.js +60 -25
- package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +5 -7
- package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +14 -15
- package/.medusa/server/src/api/vendor/products/[id]/route.d.ts +18 -9
- package/.medusa/server/src/api/vendor/products/[id]/route.js +35 -16
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.d.ts +11 -9
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +43 -21
- package/.medusa/server/src/api/vendor/products/[id]/variants/route.d.ts +9 -5
- package/.medusa/server/src/api/vendor/products/[id]/variants/route.js +30 -10
- package/.medusa/server/src/api/vendor/products/helpers.d.ts +8 -0
- package/.medusa/server/src/api/vendor/products/helpers.js +26 -0
- package/.medusa/server/src/api/vendor/products/middlewares.js +17 -5
- package/.medusa/server/src/api/vendor/products/query-config.js +12 -17
- package/.medusa/server/src/api/vendor/products/route.d.ts +11 -1
- package/.medusa/server/src/api/vendor/products/route.js +25 -12
- package/.medusa/server/src/api/vendor/products/validators.d.ts +292 -58
- package/.medusa/server/src/api/vendor/products/validators.js +78 -14
- package/.medusa/server/src/api/vendor/returns/[id]/receive/confirm/route.js +3 -3
- package/.medusa/server/src/links/category-seller-link.js +2 -2
- package/.medusa/server/src/links/offer-price-link.js +13 -0
- package/.medusa/server/src/links/offer-variant-link.js +2 -2
- package/.medusa/server/src/links/product-attribute-category-link.d.ts +16 -0
- package/.medusa/server/src/links/product-attribute-category-link.js +40 -0
- package/.medusa/server/src/links/product-attribute-product-link.d.ts +10 -0
- package/.medusa/server/src/links/product-attribute-product-link.js +29 -0
- package/.medusa/server/src/links/product-attribute-value-link.d.ts +22 -0
- package/.medusa/server/src/links/product-attribute-value-link.js +46 -0
- package/.medusa/server/src/links/product-change-link.d.ts +8 -0
- package/.medusa/server/src/links/product-change-link.js +27 -0
- package/.medusa/server/src/links/product-seller-link.js +2 -2
- package/.medusa/server/src/links/product-variant-attribute-link.js +21 -0
- package/.medusa/server/src/links/product-variant-attribute-value-link.d.ts +2 -0
- package/.medusa/server/src/links/product-variant-attribute-value-link.js +21 -0
- package/.medusa/server/src/modules/{product/migrations/Migration20260414141012.d.ts → offer/migrations/Migration20260526000000.d.ts} +1 -1
- package/.medusa/server/src/modules/offer/migrations/Migration20260526000000.js +16 -0
- package/.medusa/server/src/modules/offer/models/offer.d.ts +0 -1
- package/.medusa/server/src/modules/offer/models/offer.js +1 -7
- package/.medusa/server/src/modules/offer/service.d.ts +0 -1
- package/.medusa/server/src/modules/product-attribute/index.d.ts +36 -0
- package/.medusa/server/src/modules/product-attribute/index.js +14 -0
- package/.medusa/server/src/modules/product-attribute/joiner-config.d.ts +1 -0
- package/.medusa/server/src/modules/product-attribute/joiner-config.js +17 -0
- package/.medusa/server/src/modules/{product/migrations/Migration20260415151424.d.ts → product-attribute/migrations/Migration20260601000000.d.ts} +1 -1
- package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000000.js +62 -0
- package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.d.ts +11 -0
- package/.medusa/server/src/modules/product-attribute/migrations/Migration20260601000001.js +29 -0
- package/.medusa/server/src/modules/product-attribute/models/index.d.ts +2 -0
- package/.medusa/server/src/modules/product-attribute/models/index.js +11 -0
- package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.d.ts +25 -0
- package/.medusa/server/src/modules/product-attribute/models/product-attribute-value.js +29 -0
- package/.medusa/server/src/modules/product-attribute/models/product-attribute.d.ts +26 -0
- package/.medusa/server/src/modules/product-attribute/models/product-attribute.js +53 -0
- package/.medusa/server/src/modules/product-attribute/service.d.ts +55 -0
- package/.medusa/server/src/modules/product-attribute/service.js +15 -0
- package/.medusa/server/src/modules/product-edit/index.d.ts +36 -0
- package/.medusa/server/src/modules/{subscription → product-edit}/index.js +4 -2
- package/.medusa/server/src/modules/product-edit/joiner-config.d.ts +1 -0
- package/.medusa/server/src/modules/product-edit/joiner-config.js +17 -0
- package/.medusa/server/src/modules/{product/migrations/Migration20260416104248.d.ts → product-edit/migrations/Migration20260601130000.d.ts} +1 -1
- package/.medusa/server/src/modules/product-edit/migrations/Migration20260601130000.js +78 -0
- package/.medusa/server/src/modules/product-edit/models/index.d.ts +2 -0
- package/.medusa/server/src/modules/product-edit/models/index.js +11 -0
- package/.medusa/server/src/modules/product-edit/models/product-change-action.d.ts +49 -0
- package/.medusa/server/src/modules/{product → product-edit}/models/product-change-action.js +1 -1
- package/.medusa/server/src/modules/product-edit/models/product-change.d.ts +31 -0
- package/.medusa/server/src/modules/product-edit/models/product-change.js +52 -0
- package/.medusa/server/src/modules/product-edit/service.d.ts +84 -0
- package/.medusa/server/src/modules/product-edit/service.js +15 -0
- package/.medusa/server/src/types/cart-line-item.d.ts +0 -9
- package/.medusa/server/src/with-mercur.js +1 -6
- package/.medusa/server/src/workflows/cart/hooks/before-refreshing-payment-collection.js +36 -0
- package/.medusa/server/src/workflows/cart/hooks/index.d.ts +3 -2
- package/.medusa/server/src/workflows/cart/hooks/index.js +4 -3
- package/.medusa/server/src/workflows/cart/hooks/set-pricing-context.js +94 -0
- package/.medusa/server/src/workflows/cart/hooks/validate.d.ts +1 -0
- package/.medusa/server/src/workflows/cart/hooks/validate.js +107 -0
- package/.medusa/server/src/workflows/cart/steps/index.d.ts +0 -3
- package/.medusa/server/src/workflows/cart/steps/index.js +1 -4
- package/.medusa/server/src/workflows/cart/utils/fields.js +1 -2
- package/.medusa/server/src/workflows/cart/workflows/index.d.ts +0 -2
- package/.medusa/server/src/workflows/cart/workflows/index.js +1 -3
- package/.medusa/server/src/workflows/index.d.ts +1 -1
- package/.medusa/server/src/workflows/index.js +2 -2
- package/.medusa/server/src/workflows/offer/steps/add-offer-prices.d.ts +22 -0
- package/.medusa/server/src/workflows/offer/steps/add-offer-prices.js +64 -0
- package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +0 -1
- package/.medusa/server/src/workflows/offer/steps/delete-offers.d.ts +6 -1
- package/.medusa/server/src/workflows/offer/steps/delete-offers.js +10 -6
- package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.d.ts +15 -0
- package/.medusa/server/src/workflows/offer/steps/ensure-variant-price-sets.js +61 -0
- package/.medusa/server/src/workflows/offer/steps/index.d.ts +4 -1
- package/.medusa/server/src/workflows/offer/steps/index.js +5 -2
- package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.d.ts +3 -0
- package/.medusa/server/src/workflows/offer/steps/remove-offer-prices.js +15 -0
- package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +0 -1
- package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.d.ts +17 -0
- package/.medusa/server/src/workflows/offer/utils/assert-offer-price-ownership.js +27 -0
- package/.medusa/server/src/workflows/offer/utils/index.d.ts +1 -0
- package/.medusa/server/src/workflows/offer/utils/index.js +2 -1
- package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.d.ts +17 -31
- package/.medusa/server/src/workflows/offer/workflows/batch-offer-inventory-items.js +1 -1
- package/.medusa/server/src/workflows/offer/workflows/create-offers.d.ts +12 -111
- package/.medusa/server/src/workflows/offer/workflows/create-offers.js +98 -45
- package/.medusa/server/src/workflows/offer/workflows/delete-offers.js +2 -2
- package/.medusa/server/src/workflows/offer/workflows/update-offers.d.ts +21 -116
- package/.medusa/server/src/workflows/offer/workflows/update-offers.js +136 -20
- package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.d.ts +1 -1
- package/.medusa/server/src/workflows/order/workflows/cancel-order-fulfillment.js +3 -4
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.d.ts +1 -1
- package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +3 -4
- package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.d.ts +10 -33
- package/.medusa/server/src/workflows/order/workflows/create-order-fulfillment.js +3 -4
- package/.medusa/server/src/workflows/product/events.d.ts +5 -47
- package/.medusa/server/src/workflows/product/events.js +7 -49
- package/.medusa/server/src/workflows/product/index.d.ts +1 -1
- package/.medusa/server/src/workflows/product/index.js +2 -2
- package/.medusa/server/src/workflows/product/steps/index.d.ts +3 -28
- package/.medusa/server/src/workflows/product/steps/index.js +4 -29
- package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.d.ts +28 -0
- package/.medusa/server/src/workflows/product/steps/replace-product-attribute-value-links.js +72 -0
- package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.d.ts +90 -0
- package/.medusa/server/src/workflows/product/steps/resolve-attribute-refs.js +185 -0
- package/.medusa/server/src/workflows/product/steps/validate-products-status.d.ts +19 -0
- package/.medusa/server/src/workflows/product/steps/validate-products-status.js +28 -0
- package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.d.ts +0 -1
- package/.medusa/server/src/workflows/product/steps/validate-seller-product-permissions.js +2 -21
- package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +13 -1
- package/.medusa/server/src/workflows/product/workflows/confirm-products.js +41 -30
- package/.medusa/server/src/workflows/product/workflows/create-products.d.ts +59 -3
- package/.medusa/server/src/workflows/product/workflows/create-products.js +202 -16
- package/.medusa/server/src/workflows/product/workflows/index.d.ts +3 -26
- package/.medusa/server/src/workflows/product/workflows/index.js +4 -27
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.d.ts +1 -1
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-category.js +3 -4
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.d.ts +1 -1
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product.js +3 -4
- package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +8 -1
- package/.medusa/server/src/workflows/product/workflows/reject-product.js +42 -38
- package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +25 -0
- package/.medusa/server/src/workflows/product/workflows/request-product-change.js +69 -0
- package/.medusa/server/src/workflows/product/workflows/update-products.d.ts +39 -3
- package/.medusa/server/src/workflows/product/workflows/update-products.js +148 -10
- package/.medusa/server/src/workflows/product-attribute/events.d.ts +19 -0
- package/.medusa/server/src/workflows/product-attribute/events.js +23 -0
- package/.medusa/server/src/workflows/{subscription → product-attribute}/index.d.ts +1 -0
- package/.medusa/server/src/workflows/{subscription → product-attribute}/index.js +2 -1
- package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.d.ts +37 -0
- package/.medusa/server/src/workflows/product-attribute/steps/create-product-attribute-values.js +18 -0
- package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.d.ts +44 -0
- package/.medusa/server/src/workflows/product-attribute/steps/create-product-attributes.js +18 -0
- package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attribute-values.d.ts +1 -0
- package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attribute-values.js +18 -0
- package/.medusa/server/src/workflows/{product → product-attribute}/steps/delete-product-attributes.d.ts +1 -0
- package/.medusa/server/src/workflows/product-attribute/steps/delete-product-attributes.js +18 -0
- package/.medusa/server/src/workflows/product-attribute/steps/index.d.ts +10 -0
- package/.medusa/server/src/workflows/product-attribute/steps/index.js +27 -0
- package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.d.ts +38 -0
- package/.medusa/server/src/workflows/product-attribute/steps/update-product-attribute-values.js +23 -0
- package/.medusa/server/src/workflows/product-attribute/steps/update-product-attributes.d.ts +38 -0
- package/.medusa/server/src/workflows/{product → product-attribute}/steps/update-product-attributes.js +7 -6
- package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.d.ts +43 -0
- package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-attribute-values.js +51 -0
- package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.d.ts +7 -0
- package/.medusa/server/src/workflows/product-attribute/steps/upsert-product-options-for-axis.js +59 -0
- package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.d.ts +6 -0
- package/.medusa/server/src/workflows/product-attribute/steps/validate-attribute-accepts-values.js +20 -0
- package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.d.ts +7 -0
- package/.medusa/server/src/workflows/product-attribute/steps/validate-product-attribute-input.js +20 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.d.ts +52 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/add-product-attribute.js +120 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.d.ts +23 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/batch-product-attribute-values.js +252 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.d.ts +18 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attribute-values.js +26 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.d.ts +19 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/create-product-attributes.js +64 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.d.ts +16 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attribute-values.js +40 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.d.ts +23 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/delete-product-attributes.js +31 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.d.ts +17 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/detach-product-attribute.js +62 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/index.d.ts +12 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/index.js +29 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.d.ts +135 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/materialize-product-attributes.js +43 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.d.ts +24 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/sync-product-attribute-options.js +27 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.d.ts +18 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attribute-values.js +27 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.d.ts +18 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/update-product-attributes.js +27 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.d.ts +18 -0
- package/.medusa/server/src/workflows/product-attribute/workflows/upsert-product-attribute-values.js +26 -0
- package/.medusa/server/src/workflows/product-edit/events.d.ts +13 -0
- package/.medusa/server/src/workflows/product-edit/events.js +17 -0
- package/.medusa/server/src/workflows/product-edit/index.d.ts +1 -0
- package/.medusa/server/src/workflows/product-edit/index.js +2 -1
- package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.d.ts +38 -0
- package/.medusa/server/src/workflows/product-edit/steps/add-product-change-action.js +18 -0
- package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.d.ts +38 -2
- package/.medusa/server/src/workflows/product-edit/steps/cancel-product-change.js +28 -10
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.d.ts +15 -0
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-change-validation.js +25 -0
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.d.ts +46 -3
- package/.medusa/server/src/workflows/product-edit/steps/confirm-product-changes.js +44 -7
- package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.d.ts +41 -14
- package/.medusa/server/src/workflows/product-edit/steps/create-product-change-actions.js +20 -11
- package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.d.ts +46 -16
- package/.medusa/server/src/workflows/product-edit/steps/create-product-changes.js +11 -18
- package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.d.ts +44 -3
- package/.medusa/server/src/workflows/product-edit/steps/decline-product-change.js +37 -10
- package/.medusa/server/src/workflows/product-edit/steps/index.d.ts +5 -3
- package/.medusa/server/src/workflows/product-edit/steps/index.js +6 -4
- package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.d.ts +49 -0
- package/.medusa/server/src/workflows/product-edit/steps/update-product-change-actions.js +34 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.d.ts +7 -7
- package/.medusa/server/src/workflows/product-edit/steps/validate-no-pending-product-change.js +29 -13
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.d.ts +10 -0
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-is-pending.js +14 -0
- package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.d.ts +23 -0
- package/.medusa/server/src/workflows/product-edit/workflows/apply-product-attribute-change-actions.js +139 -0
- package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.d.ts +38 -0
- package/.medusa/server/src/workflows/product-edit/workflows/apply-product-change-actions.js +191 -0
- package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.d.ts +14 -13
- package/.medusa/server/src/workflows/product-edit/workflows/auto-confirm-product-change.js +14 -22
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.d.ts +17 -0
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-change.js +35 -0
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.d.ts +30 -0
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-change.js +55 -0
- package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.d.ts +17 -0
- package/.medusa/server/src/workflows/product-edit/workflows/create-product-change.js +26 -0
- package/.medusa/server/src/workflows/product-edit/workflows/index.d.ts +10 -8
- package/.medusa/server/src/workflows/product-edit/workflows/index.js +11 -9
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.d.ts +14 -17
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-delete-product.js +21 -46
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.d.ts +55 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-attributes.js +198 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.d.ts +22 -15
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-fields.js +126 -50
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.d.ts +35 -0
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +108 -0
- package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.d.ts +36 -0
- package/.medusa/server/src/workflows/product-edit/workflows/record-product-audit-change.js +53 -0
- package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.d.ts +18 -0
- package/.medusa/server/src/workflows/product-edit/workflows/reject-product-change.js +36 -0
- package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.d.ts +35 -0
- package/.medusa/server/src/workflows/product-edit/workflows/stage-product-change.js +57 -0
- package/.medusa/server/src/workflows/seller/workflows/create-sellers.d.ts +20 -2
- package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +1 -1
- package/.medusa/server/src/workflows/seller/workflows/update-seller-address.d.ts +14 -2
- package/.medusa/server/src/workflows/seller/workflows/update-seller-address.js +1 -1
- package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.d.ts +14 -2
- package/.medusa/server/src/workflows/seller/workflows/update-seller-payment-details.js +1 -1
- package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.d.ts +14 -2
- package/.medusa/server/src/workflows/seller/workflows/update-seller-professional-details.js +1 -1
- package/.medusa/server/src/workflows/seller/workflows/update-seller.d.ts +14 -2
- package/.medusa/server/src/workflows/seller/workflows/update-seller.js +1 -1
- package/package.json +3 -3
- package/.medusa/server/src/api/admin/product-brands/[id]/route.d.ts +0 -7
- package/.medusa/server/src/api/admin/product-brands/[id]/route.js +0 -51
- package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.d.ts +0 -3
- package/.medusa/server/src/api/admin/product-brands/[id]/sellers/route.js +0 -20
- package/.medusa/server/src/api/admin/product-brands/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/admin/product-brands/middlewares.js +0 -49
- package/.medusa/server/src/api/admin/product-brands/query-config.d.ts +0 -12
- package/.medusa/server/src/api/admin/product-brands/query-config.js +0 -24
- package/.medusa/server/src/api/admin/product-brands/route.d.ts +0 -6
- package/.medusa/server/src/api/admin/product-brands/route.js +0 -38
- package/.medusa/server/src/api/admin/product-brands/validators.d.ts +0 -284
- package/.medusa/server/src/api/admin/product-brands/validators.js +0 -41
- package/.medusa/server/src/api/admin/products/batch/route.d.ts +0 -4
- package/.medusa/server/src/api/admin/products/batch/route.js +0 -36
- package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.d.ts +0 -6
- package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/[override_id]/route.js +0 -43
- package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.d.ts +0 -4
- package/.medusa/server/src/api/admin/subscription-plans/[id]/overrides/route.js +0 -24
- package/.medusa/server/src/api/admin/subscription-plans/[id]/route.d.ts +0 -6
- package/.medusa/server/src/api/admin/subscription-plans/[id]/route.js +0 -43
- package/.medusa/server/src/api/admin/subscription-plans/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/admin/subscription-plans/middlewares.js +0 -81
- package/.medusa/server/src/api/admin/subscription-plans/query-config.d.ts +0 -17
- package/.medusa/server/src/api/admin/subscription-plans/query-config.js +0 -43
- package/.medusa/server/src/api/admin/subscription-plans/route.d.ts +0 -5
- package/.medusa/server/src/api/admin/subscription-plans/route.js +0 -35
- package/.medusa/server/src/api/admin/subscription-plans/validators.d.ts +0 -117
- package/.medusa/server/src/api/admin/subscription-plans/validators.js +0 -42
- package/.medusa/server/src/api/store/product-brands/[id]/route.d.ts +0 -2
- package/.medusa/server/src/api/store/product-brands/[id]/route.js +0 -18
- package/.medusa/server/src/api/store/product-brands/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/store/product-brands/middlewares.js +0 -23
- package/.medusa/server/src/api/store/product-brands/query-config.d.ts +0 -12
- package/.medusa/server/src/api/store/product-brands/query-config.js +0 -23
- package/.medusa/server/src/api/store/product-brands/route.d.ts +0 -2
- package/.medusa/server/src/api/store/product-brands/route.js +0 -21
- package/.medusa/server/src/api/store/product-brands/validators.d.ts +0 -215
- package/.medusa/server/src/api/store/product-brands/validators.js +0 -21
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.d.ts +0 -12
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-inventory.js +0 -165
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.d.ts +0 -12
- package/.medusa/server/src/api/utils/wrap-variants-with-offers-prices.js +0 -64
- package/.medusa/server/src/api/vendor/product-brands/[id]/route.d.ts +0 -3
- package/.medusa/server/src/api/vendor/product-brands/[id]/route.js +0 -18
- package/.medusa/server/src/api/vendor/product-brands/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/vendor/product-brands/middlewares.js +0 -23
- package/.medusa/server/src/api/vendor/product-brands/query-config.d.ts +0 -12
- package/.medusa/server/src/api/vendor/product-brands/query-config.js +0 -24
- package/.medusa/server/src/api/vendor/product-brands/route.d.ts +0 -3
- package/.medusa/server/src/api/vendor/product-brands/route.js +0 -21
- package/.medusa/server/src/api/vendor/product-brands/validators.d.ts +0 -221
- package/.medusa/server/src/api/vendor/product-brands/validators.js +0 -22
- package/.medusa/server/src/api/vendor/subscription/middlewares.d.ts +0 -2
- package/.medusa/server/src/api/vendor/subscription/middlewares.js +0 -28
- package/.medusa/server/src/api/vendor/subscription/route.d.ts +0 -3
- package/.medusa/server/src/api/vendor/subscription/route.js +0 -31
- package/.medusa/server/src/links/brand-seller-link.js +0 -16
- package/.medusa/server/src/links/offer-price-set-link.js +0 -15
- package/.medusa/server/src/modules/product/index.d.ts +0 -7
- package/.medusa/server/src/modules/product/index.js +0 -14
- package/.medusa/server/src/modules/product/migrations/Migration20260414141012.js +0 -169
- package/.medusa/server/src/modules/product/migrations/Migration20260415151424.js +0 -14
- package/.medusa/server/src/modules/product/migrations/Migration20260416104248.js +0 -14
- package/.medusa/server/src/modules/product/migrations/Migration20260416105443.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260416105443.js +0 -16
- package/.medusa/server/src/modules/product/migrations/Migration20260421093258.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260421093258.js +0 -22
- package/.medusa/server/src/modules/product/migrations/Migration20260422105949.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260422105949.js +0 -32
- package/.medusa/server/src/modules/product/migrations/Migration20260422112250.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260422112250.js +0 -16
- package/.medusa/server/src/modules/product/migrations/Migration20260424120000.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260424120000.js +0 -16
- package/.medusa/server/src/modules/product/migrations/Migration20260427140959.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260427140959.js +0 -20
- package/.medusa/server/src/modules/product/migrations/Migration20260427141021.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260427141021.js +0 -16
- package/.medusa/server/src/modules/product/migrations/Migration20260428115720.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260428115720.js +0 -16
- package/.medusa/server/src/modules/product/migrations/Migration20260430143600.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260430143600.js +0 -15
- package/.medusa/server/src/modules/product/migrations/Migration20260430144500.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260430144500.js +0 -23
- package/.medusa/server/src/modules/product/migrations/Migration20260430150000.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260430150000.js +0 -14
- package/.medusa/server/src/modules/product/migrations/Migration20260520120000.d.ts +0 -5
- package/.medusa/server/src/modules/product/migrations/Migration20260520120000.js +0 -16
- package/.medusa/server/src/modules/product/models/index.d.ts +0 -13
- package/.medusa/server/src/modules/product/models/index.js +0 -33
- package/.medusa/server/src/modules/product/models/product-attribute-value.d.ts +0 -1698
- package/.medusa/server/src/modules/product/models/product-attribute-value.js +0 -38
- package/.medusa/server/src/modules/product/models/product-attribute.d.ts +0 -1627
- package/.medusa/server/src/modules/product/models/product-attribute.js +0 -57
- package/.medusa/server/src/modules/product/models/product-brand.d.ts +0 -551
- package/.medusa/server/src/modules/product/models/product-brand.js +0 -34
- package/.medusa/server/src/modules/product/models/product-category.d.ts +0 -1692
- package/.medusa/server/src/modules/product/models/product-category.js +0 -55
- package/.medusa/server/src/modules/product/models/product-change-action.d.ts +0 -1105
- package/.medusa/server/src/modules/product/models/product-change.d.ts +0 -559
- package/.medusa/server/src/modules/product/models/product-change.js +0 -50
- package/.medusa/server/src/modules/product/models/product-collection.d.ts +0 -552
- package/.medusa/server/src/modules/product/models/product-collection.js +0 -27
- package/.medusa/server/src/modules/product/models/product-image.d.ts +0 -1745
- package/.medusa/server/src/modules/product/models/product-image.js +0 -51
- package/.medusa/server/src/modules/product/models/product-tag.d.ts +0 -561
- package/.medusa/server/src/modules/product/models/product-tag.js +0 -26
- package/.medusa/server/src/modules/product/models/product-type.d.ts +0 -553
- package/.medusa/server/src/modules/product/models/product-type.js +0 -26
- package/.medusa/server/src/modules/product/models/product-variant-product-image.d.ts +0 -3366
- package/.medusa/server/src/modules/product/models/product-variant-product-image.js +0 -19
- package/.medusa/server/src/modules/product/models/product-variant.d.ts +0 -1619
- package/.medusa/server/src/modules/product/models/product-variant.js +0 -87
- package/.medusa/server/src/modules/product/models/product.d.ts +0 -559
- package/.medusa/server/src/modules/product/models/product.js +0 -137
- package/.medusa/server/src/modules/product/repositories/product-category.d.ts +0 -53
- package/.medusa/server/src/modules/product/repositories/product-category.js +0 -381
- package/.medusa/server/src/modules/product/service.d.ts +0 -11209
- package/.medusa/server/src/modules/product/service.js +0 -1471
- package/.medusa/server/src/modules/product/services/product-category.d.ts +0 -37
- package/.medusa/server/src/modules/product/services/product-category.js +0 -166
- package/.medusa/server/src/modules/subscription/index.d.ts +0 -35
- package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.d.ts +0 -5
- package/.medusa/server/src/modules/subscription/migrations/Migration20260324135903.js +0 -24
- package/.medusa/server/src/modules/subscription/models/index.d.ts +0 -2
- package/.medusa/server/src/modules/subscription/models/index.js +0 -11
- package/.medusa/server/src/modules/subscription/models/subscription-override.d.ts +0 -20
- package/.medusa/server/src/modules/subscription/models/subscription-override.js +0 -36
- package/.medusa/server/src/modules/subscription/models/subscription-plan.d.ts +0 -20
- package/.medusa/server/src/modules/subscription/models/subscription-plan.js +0 -32
- package/.medusa/server/src/modules/subscription/service.d.ts +0 -49
- package/.medusa/server/src/modules/subscription/service.js +0 -17
- package/.medusa/server/src/workflows/cart/hooks/validate-add-to-cart-stock.js +0 -52
- package/.medusa/server/src/workflows/cart/hooks/validate-update-line-item-stock.js +0 -60
- package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.d.ts +0 -19
- package/.medusa/server/src/workflows/cart/steps/calculate-offer-prices.js +0 -39
- package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.d.ts +0 -8
- package/.medusa/server/src/workflows/cart/steps/decorate-line-item-with-offer.js +0 -45
- package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.d.ts +0 -21
- package/.medusa/server/src/workflows/cart/steps/get-line-item-actions.js +0 -85
- package/.medusa/server/src/workflows/cart/workflows/add-to-cart.d.ts +0 -12
- package/.medusa/server/src/workflows/cart/workflows/add-to-cart.js +0 -235
- package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.d.ts +0 -16
- package/.medusa/server/src/workflows/cart/workflows/update-line-item-in-cart.js +0 -87
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.d.ts +0 -8
- package/.medusa/server/src/workflows/product/steps/associate-sellers-with-product-brand.js +0 -26
- package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.d.ts +0 -7
- package/.medusa/server/src/workflows/product/steps/batch-link-products-in-category.js +0 -61
- package/.medusa/server/src/workflows/product/steps/batch-product-attributes.d.ts +0 -11
- package/.medusa/server/src/workflows/product/steps/batch-product-attributes.js +0 -16
- package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.d.ts +0 -6
- package/.medusa/server/src/workflows/product/steps/create-product-attribute-values.js +0 -17
- package/.medusa/server/src/workflows/product/steps/create-product-attributes.d.ts +0 -2
- package/.medusa/server/src/workflows/product/steps/create-product-attributes.js +0 -17
- package/.medusa/server/src/workflows/product/steps/create-product-brands.d.ts +0 -2
- package/.medusa/server/src/workflows/product/steps/create-product-brands.js +0 -17
- package/.medusa/server/src/workflows/product/steps/create-product-categories.d.ts +0 -1576
- package/.medusa/server/src/workflows/product/steps/create-product-categories.js +0 -18
- package/.medusa/server/src/workflows/product/steps/create-product-variants.d.ts +0 -2
- package/.medusa/server/src/workflows/product/steps/create-product-variants.js +0 -18
- package/.medusa/server/src/workflows/product/steps/create-products.d.ts +0 -2
- package/.medusa/server/src/workflows/product/steps/create-products.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-product-attribute-values.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-product-attributes.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-product-brands.d.ts +0 -1
- package/.medusa/server/src/workflows/product/steps/delete-product-brands.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-product-categories.d.ts +0 -1
- package/.medusa/server/src/workflows/product/steps/delete-product-categories.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-product-variants.d.ts +0 -1
- package/.medusa/server/src/workflows/product/steps/delete-product-variants.js +0 -17
- package/.medusa/server/src/workflows/product/steps/delete-products.d.ts +0 -1
- package/.medusa/server/src/workflows/product/steps/delete-products.js +0 -17
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.d.ts +0 -8
- package/.medusa/server/src/workflows/product/steps/detach-sellers-from-product-brand.js +0 -26
- package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.d.ts +0 -6
- package/.medusa/server/src/workflows/product/steps/remove-attribute-from-product.js +0 -11
- package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.d.ts +0 -7
- package/.medusa/server/src/workflows/product/steps/update-product-attribute-values.js +0 -22
- package/.medusa/server/src/workflows/product/steps/update-product-attributes.d.ts +0 -7
- package/.medusa/server/src/workflows/product/steps/update-product-brands.d.ts +0 -7
- package/.medusa/server/src/workflows/product/steps/update-product-brands.js +0 -28
- package/.medusa/server/src/workflows/product/steps/update-product-categories.d.ts +0 -1580
- package/.medusa/server/src/workflows/product/steps/update-product-categories.js +0 -20
- package/.medusa/server/src/workflows/product/steps/update-product-variants.d.ts +0 -10
- package/.medusa/server/src/workflows/product/steps/update-product-variants.js +0 -32
- package/.medusa/server/src/workflows/product/steps/update-products.d.ts +0 -10
- package/.medusa/server/src/workflows/product/steps/update-products.js +0 -33
- package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.d.ts +0 -5
- package/.medusa/server/src/workflows/product/steps/upsert-product-attribute-values.js +0 -30
- package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.d.ts +0 -5
- package/.medusa/server/src/workflows/product/steps/validate-attribute-accepts-values.js +0 -19
- package/.medusa/server/src/workflows/product/steps/validate-confirm-products.d.ts +0 -3
- package/.medusa/server/src/workflows/product/steps/validate-confirm-products.js +0 -14
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.d.ts +0 -5
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attribute-values.js +0 -19
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.d.ts +0 -5
- package/.medusa/server/src/workflows/product/steps/validate-delete-product-attributes.js +0 -30
- package/.medusa/server/src/workflows/product/steps/validate-reject-product.d.ts +0 -3
- package/.medusa/server/src/workflows/product/steps/validate-reject-product.js +0 -12
- package/.medusa/server/src/workflows/product/steps/validate-request-changes.d.ts +0 -3
- package/.medusa/server/src/workflows/product/steps/validate-request-changes.js +0 -12
- package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.d.ts +0 -3
- package/.medusa/server/src/workflows/product/steps/validate-resubmit-product.js +0 -12
- package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/batch-link-products-in-category.js +0 -10
- package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.d.ts +0 -12
- package/.medusa/server/src/workflows/product/workflows/batch-product-attributes.js +0 -23
- package/.medusa/server/src/workflows/product/workflows/batch-products.d.ts +0 -3
- package/.medusa/server/src/workflows/product/workflows/batch-products.js +0 -86
- package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/create-product-attribute-values.js +0 -21
- package/.medusa/server/src/workflows/product/workflows/create-product-attributes.d.ts +0 -7
- package/.medusa/server/src/workflows/product/workflows/create-product-attributes.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/create-product-brands.d.ts +0 -7
- package/.medusa/server/src/workflows/product/workflows/create-product-brands.js +0 -19
- package/.medusa/server/src/workflows/product/workflows/create-product-categories.d.ts +0 -1581
- package/.medusa/server/src/workflows/product/workflows/create-product-categories.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/create-product-variants.d.ts +0 -3
- package/.medusa/server/src/workflows/product/workflows/create-product-variants.js +0 -25
- package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.d.ts +0 -6
- package/.medusa/server/src/workflows/product/workflows/delete-product-attribute-values.js +0 -20
- package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.d.ts +0 -6
- package/.medusa/server/src/workflows/product/workflows/delete-product-attributes.js +0 -20
- package/.medusa/server/src/workflows/product/workflows/delete-product-brands.d.ts +0 -6
- package/.medusa/server/src/workflows/product/workflows/delete-product-brands.js +0 -19
- package/.medusa/server/src/workflows/product/workflows/delete-product-categories.d.ts +0 -6
- package/.medusa/server/src/workflows/product/workflows/delete-product-categories.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/delete-product-variants.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/delete-product-variants.js +0 -24
- package/.medusa/server/src/workflows/product/workflows/delete-products.d.ts +0 -6
- package/.medusa/server/src/workflows/product/workflows/delete-products.js +0 -19
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.d.ts +0 -14
- package/.medusa/server/src/workflows/product/workflows/link-sellers-to-product-brand.js +0 -21
- package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.d.ts +0 -7
- package/.medusa/server/src/workflows/product/workflows/remove-attribute-from-product.js +0 -20
- package/.medusa/server/src/workflows/product/workflows/request-product-changes.d.ts +0 -11
- package/.medusa/server/src/workflows/product/workflows/request-product-changes.js +0 -61
- package/.medusa/server/src/workflows/product/workflows/resubmit-product.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/resubmit-product.js +0 -48
- package/.medusa/server/src/workflows/product/workflows/submit-seller-products.d.ts +0 -3
- package/.medusa/server/src/workflows/product/workflows/submit-seller-products.js +0 -76
- package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/update-product-attribute-values.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/update-product-attributes.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/update-product-attributes.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/update-product-brands.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/update-product-brands.js +0 -19
- package/.medusa/server/src/workflows/product/workflows/update-product-categories.d.ts +0 -1583
- package/.medusa/server/src/workflows/product/workflows/update-product-categories.js +0 -18
- package/.medusa/server/src/workflows/product/workflows/update-product-variants.d.ts +0 -3
- package/.medusa/server/src/workflows/product/workflows/update-product-variants.js +0 -36
- package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.d.ts +0 -8
- package/.medusa/server/src/workflows/product/workflows/upsert-product-attribute-values.js +0 -21
- package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.d.ts +0 -5
- package/.medusa/server/src/workflows/product-edit/steps/retrieve-product-with-change.js +0 -11
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.d.ts +0 -11
- package/.medusa/server/src/workflows/product-edit/steps/validate-product-change-pending.js +0 -21
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.d.ts +0 -19
- package/.medusa/server/src/workflows/product-edit/workflows/cancel-product-edit.js +0 -40
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.d.ts +0 -21
- package/.medusa/server/src/workflows/product-edit/workflows/confirm-product-edit.js +0 -44
- package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.d.ts +0 -16
- package/.medusa/server/src/workflows/product-edit/workflows/decline-product-edit.js +0 -42
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.d.ts +0 -19
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-attribute.js +0 -66
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.d.ts +0 -17
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-add-variant.js +0 -58
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.d.ts +0 -17
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-attribute.js +0 -62
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.d.ts +0 -16
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-remove-variant.js +0 -68
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.d.ts +0 -21
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variant.js +0 -89
- package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/steps/create-subscription-overrides.js +0 -17
- package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/steps/create-subscription-plans.js +0 -17
- package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.d.ts +0 -2
- package/.medusa/server/src/workflows/subscription/steps/delete-subscription-overrides.js +0 -17
- package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.d.ts +0 -2
- package/.medusa/server/src/workflows/subscription/steps/delete-subscription-plans.js +0 -17
- package/.medusa/server/src/workflows/subscription/steps/index.d.ts +0 -6
- package/.medusa/server/src/workflows/subscription/steps/index.js +0 -23
- package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/steps/update-subscription-overrides.js +0 -17
- package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/steps/update-subscription-plans.js +0 -17
- package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/workflows/create-subscription-overrides.js +0 -11
- package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/workflows/create-subscription-plans.js +0 -11
- package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.d.ts +0 -5
- package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-overrides.js +0 -11
- package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.d.ts +0 -5
- package/.medusa/server/src/workflows/subscription/workflows/delete-subscription-plans.js +0 -11
- package/.medusa/server/src/workflows/subscription/workflows/index.d.ts +0 -6
- package/.medusa/server/src/workflows/subscription/workflows/index.js +0 -23
- package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/workflows/update-subscription-overrides.js +0 -11
- package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.d.ts +0 -31
- package/.medusa/server/src/workflows/subscription/workflows/update-subscription-plans.js +0 -11
- package/.medusa/server/src/workflows/utils/override-workflow.d.ts +0 -12
- package/.medusa/server/src/workflows/utils/override-workflow.js +0 -21
- /package/.medusa/server/src/links/{brand-seller-link.d.ts → offer-price-link.d.ts} +0 -0
- /package/.medusa/server/src/links/{offer-price-set-link.d.ts → product-variant-attribute-link.d.ts} +0 -0
- /package/.medusa/server/src/workflows/cart/hooks/{validate-add-to-cart-stock.d.ts → before-refreshing-payment-collection.d.ts} +0 -0
- /package/.medusa/server/src/workflows/cart/hooks/{validate-update-line-item-stock.d.ts → set-pricing-context.d.ts} +0 -0
|
@@ -1,137 +0,0 @@
|
|
|
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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
|
|
@@ -1,53 +0,0 @@
|
|
|
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 {};
|
|
@@ -1,381 +0,0 @@
|
|
|
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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
|