@vendure/core 1.9.4 → 2.0.0-beta.0
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/cli/index.js +5 -1
- package/cli/index.js.map +1 -1
- package/cli/populate.js +7 -25
- package/cli/populate.js.map +1 -1
- package/cli/vendure-cli.js +12 -12
- package/cli/vendure-cli.js.map +1 -1
- package/dist/api/api-internal-modules.d.ts +4 -2
- package/dist/api/api-internal-modules.js +15 -7
- package/dist/api/api-internal-modules.js.map +1 -1
- package/dist/api/api.module.d.ts +1 -1
- package/dist/api/api.module.js +7 -6
- package/dist/api/api.module.js.map +1 -1
- package/dist/api/common/configurable-operation-codec.js +1 -1
- package/dist/api/common/configurable-operation-codec.js.map +1 -1
- package/dist/api/common/custom-field-relation-resolver.service.js +2 -2
- package/dist/api/common/custom-field-relation-resolver.service.js.map +1 -1
- package/dist/api/common/get-api-type.d.ts +1 -1
- package/dist/api/common/graphql-value-transformer.d.ts +2 -2
- package/dist/api/common/graphql-value-transformer.js +9 -9
- package/dist/api/common/graphql-value-transformer.js.map +1 -1
- package/dist/api/common/id-codec.d.ts +1 -1
- package/dist/api/common/id-codec.js +6 -3
- package/dist/api/common/id-codec.js.map +1 -1
- package/dist/api/common/id-codec.service.js +1 -1
- package/dist/api/common/id-codec.service.js.map +1 -1
- package/dist/api/common/parse-context.d.ts +2 -2
- package/dist/api/common/request-context.d.ts +5 -2
- package/dist/api/common/request-context.js +10 -6
- package/dist/api/common/request-context.js.map +1 -1
- package/dist/api/common/set-session-token.js +1 -1
- package/dist/api/common/set-session-token.js.map +1 -1
- package/dist/api/common/validate-custom-field-value.js +2 -1
- package/dist/api/common/validate-custom-field-value.js.map +1 -1
- package/dist/api/config/configure-graphql-module.js +24 -21
- package/dist/api/config/configure-graphql-module.js.map +1 -1
- package/dist/api/config/generate-active-order-types.d.ts +1 -1
- package/dist/api/config/generate-active-order-types.js +6 -5
- package/dist/api/config/generate-active-order-types.js.map +1 -1
- package/dist/api/config/generate-auth-types.js +3 -3
- package/dist/api/config/generate-auth-types.js.map +1 -1
- package/dist/api/config/generate-error-code-enum.js +2 -2
- package/dist/api/config/generate-error-code-enum.js.map +1 -1
- package/dist/api/config/generate-list-options.d.ts +1 -1
- package/dist/api/config/generate-list-options.js +40 -31
- package/dist/api/config/generate-list-options.js.map +1 -1
- package/dist/api/config/generate-permissions.js +2 -2
- package/dist/api/config/generate-permissions.js.map +1 -1
- package/dist/api/config/generate-resolvers.d.ts +53 -51
- package/dist/api/config/generate-resolvers.js +9 -4
- package/dist/api/config/generate-resolvers.js.map +1 -1
- package/dist/api/config/graphql-custom-fields.js +59 -51
- package/dist/api/config/graphql-custom-fields.js.map +1 -1
- package/dist/api/config/money-scalar.d.ts +9 -0
- package/dist/api/config/money-scalar.js +74 -0
- package/dist/api/config/money-scalar.js.map +1 -0
- package/dist/api/decorators/allow.decorator.js +1 -1
- package/dist/api/decorators/allow.decorator.js.map +1 -1
- package/dist/api/decorators/api.decorator.js +2 -2
- package/dist/api/decorators/api.decorator.js.map +1 -1
- package/dist/api/decorators/relations.decorator.d.ts +5 -5
- package/dist/api/decorators/relations.decorator.js +14 -15
- package/dist/api/decorators/relations.decorator.js.map +1 -1
- package/dist/api/decorators/request-context.decorator.js +2 -1
- package/dist/api/decorators/request-context.decorator.js.map +1 -1
- package/dist/api/decorators/transaction.decorator.d.ts +1 -1
- package/dist/api/decorators/transaction.decorator.js +1 -1
- package/dist/api/decorators/transaction.decorator.js.map +1 -1
- package/dist/api/index.js +5 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/middleware/asset-interceptor-plugin.d.ts +2 -2
- package/dist/api/middleware/asset-interceptor-plugin.js +4 -4
- package/dist/api/middleware/asset-interceptor-plugin.js.map +1 -1
- package/dist/api/middleware/auth-guard.js +5 -5
- package/dist/api/middleware/auth-guard.js.map +1 -1
- package/dist/api/middleware/exception-logger.filter.js +1 -1
- package/dist/api/middleware/exception-logger.filter.js.map +1 -1
- package/dist/api/middleware/id-codec-plugin.d.ts +2 -2
- package/dist/api/middleware/id-codec-plugin.js +5 -4
- package/dist/api/middleware/id-codec-plugin.js.map +1 -1
- package/dist/api/middleware/id-interceptor.js +2 -2
- package/dist/api/middleware/id-interceptor.js.map +1 -1
- package/dist/api/middleware/transaction-interceptor.js +6 -4
- package/dist/api/middleware/transaction-interceptor.js.map +1 -1
- package/dist/api/middleware/translate-error-result-interceptor.js +3 -3
- package/dist/api/middleware/translate-error-result-interceptor.js.map +1 -1
- package/dist/api/middleware/translate-errors-plugin.d.ts +1 -1
- package/dist/api/middleware/translate-errors-plugin.js +2 -2
- package/dist/api/middleware/translate-errors-plugin.js.map +1 -1
- package/dist/api/middleware/validate-custom-fields-interceptor.js +4 -4
- package/dist/api/middleware/validate-custom-fields-interceptor.js.map +1 -1
- package/dist/api/resolvers/admin/administrator.resolver.js +39 -39
- package/dist/api/resolvers/admin/administrator.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/asset.resolver.js +36 -36
- package/dist/api/resolvers/admin/asset.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/auth.resolver.js +24 -24
- package/dist/api/resolvers/admin/auth.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/channel.resolver.js +31 -30
- package/dist/api/resolvers/admin/channel.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/collection.resolver.d.ts +1 -1
- package/dist/api/resolvers/admin/collection.resolver.js +56 -56
- package/dist/api/resolvers/admin/collection.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/country.resolver.js +26 -26
- package/dist/api/resolvers/admin/country.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/customer-group.resolver.js +36 -36
- package/dist/api/resolvers/admin/customer-group.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/customer.resolver.js +56 -56
- package/dist/api/resolvers/admin/customer.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/draft-order.resolver.d.ts +3 -3
- package/dist/api/resolvers/admin/draft-order.resolver.js +62 -62
- package/dist/api/resolvers/admin/draft-order.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/facet.resolver.d.ts +1 -1
- package/dist/api/resolvers/admin/facet.resolver.js +62 -62
- package/dist/api/resolvers/admin/facet.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/global-settings.resolver.js +20 -17
- package/dist/api/resolvers/admin/global-settings.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/import.resolver.d.ts +2 -2
- package/dist/api/resolvers/admin/import.resolver.js +5 -5
- package/dist/api/resolvers/admin/import.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/job.resolver.js +25 -25
- package/dist/api/resolvers/admin/job.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/order.resolver.d.ts +1 -1
- package/dist/api/resolvers/admin/order.resolver.js +87 -87
- package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/payment-method.resolver.js +32 -32
- package/dist/api/resolvers/admin/payment-method.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/product-option.resolver.d.ts +1 -1
- package/dist/api/resolvers/admin/product-option.resolver.js +36 -36
- package/dist/api/resolvers/admin/product-option.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/product.resolver.d.ts +1 -1
- package/dist/api/resolvers/admin/product.resolver.js +98 -98
- package/dist/api/resolvers/admin/product.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/promotion.resolver.js +42 -42
- package/dist/api/resolvers/admin/promotion.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/role.resolver.js +26 -26
- package/dist/api/resolvers/admin/role.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/search.resolver.js +17 -17
- package/dist/api/resolvers/admin/search.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/seller.resolver.d.ts +13 -0
- package/dist/api/resolvers/admin/seller.resolver.js +96 -0
- package/dist/api/resolvers/admin/seller.resolver.js.map +1 -0
- package/dist/api/resolvers/admin/shipping-method.resolver.js +43 -43
- package/dist/api/resolvers/admin/shipping-method.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/stock-location.resolver.d.ts +12 -0
- package/dist/api/resolvers/admin/stock-location.resolver.js +96 -0
- package/dist/api/resolvers/admin/stock-location.resolver.js.map +1 -0
- package/dist/api/resolvers/admin/tag.resolver.js +24 -24
- package/dist/api/resolvers/admin/tag.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/tax-category.resolver.js +23 -23
- package/dist/api/resolvers/admin/tax-category.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/tax-rate.resolver.js +26 -26
- package/dist/api/resolvers/admin/tax-rate.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/zone.resolver.js +33 -33
- package/dist/api/resolvers/admin/zone.resolver.js.map +1 -1
- package/dist/api/resolvers/base/base-auth.resolver.js +6 -6
- package/dist/api/resolvers/base/base-auth.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/administrator-entity.resolver.js +4 -4
- package/dist/api/resolvers/entity/administrator-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/asset-entity.resolver.js +4 -4
- package/dist/api/resolvers/entity/asset-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/channel-entity.resolver.d.ts +10 -0
- package/dist/api/resolvers/entity/channel-entity.resolver.js +56 -0
- package/dist/api/resolvers/entity/channel-entity.resolver.js.map +1 -0
- package/dist/api/resolvers/entity/collection-entity.resolver.js +42 -42
- package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/country-entity.resolver.js +7 -7
- package/dist/api/resolvers/entity/country-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/customer-entity.resolver.d.ts +2 -2
- package/dist/api/resolvers/entity/customer-entity.resolver.js +23 -23
- package/dist/api/resolvers/entity/customer-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/customer-group-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/customer-group-entity.resolver.js +6 -6
- package/dist/api/resolvers/entity/customer-group-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/facet-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/facet-entity.resolver.js +11 -11
- package/dist/api/resolvers/entity/facet-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/facet-value-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/facet-value-entity.resolver.js +10 -10
- package/dist/api/resolvers/entity/facet-value-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/fulfillment-entity.resolver.d.ts +3 -6
- package/dist/api/resolvers/entity/fulfillment-entity.resolver.js +14 -14
- package/dist/api/resolvers/entity/fulfillment-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/fulfillment-line-entity.resolver.d.ts +11 -0
- package/dist/api/resolvers/entity/fulfillment-line-entity.resolver.js +59 -0
- package/dist/api/resolvers/entity/fulfillment-line-entity.resolver.js.map +1 -0
- package/dist/api/resolvers/entity/job-entity.resolver.js +7 -7
- package/dist/api/resolvers/entity/job-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/order-entity.resolver.d.ts +12 -7
- package/dist/api/resolvers/entity/order-entity.resolver.js +88 -32
- package/dist/api/resolvers/entity/order-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/order-line-entity.resolver.d.ts +2 -2
- package/dist/api/resolvers/entity/order-line-entity.resolver.js +18 -20
- package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/payment-entity.resolver.js +11 -11
- package/dist/api/resolvers/entity/payment-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/payment-method-entity.resolver.js +1 -1
- package/dist/api/resolvers/entity/payment-method-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/product-entity.resolver.js +47 -47
- package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-option-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/product-option-entity.resolver.js +12 -12
- package/dist/api/resolvers/entity/product-option-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-option-group-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/product-option-group-entity.resolver.js +11 -11
- package/dist/api/resolvers/entity/product-option-group-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-variant-entity.resolver.d.ts +11 -2
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js +93 -50
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/refund-entity.resolver.d.ts +0 -4
- package/dist/api/resolvers/entity/refund-entity.resolver.js +1 -23
- package/dist/api/resolvers/entity/refund-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/refund-line-entity.resolver.d.ts +11 -0
- package/dist/api/resolvers/entity/refund-line-entity.resolver.js +55 -0
- package/dist/api/resolvers/entity/refund-line-entity.resolver.js.map +1 -0
- package/dist/api/resolvers/entity/role-entity.resolver.js +4 -4
- package/dist/api/resolvers/entity/role-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/shipping-line-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/shipping-line-entity.resolver.js +4 -4
- package/dist/api/resolvers/entity/shipping-line-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.d.ts +1 -1
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.js +14 -14
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/tax-rate-entity.resolver.js +5 -5
- package/dist/api/resolvers/entity/tax-rate-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/user-entity.resolver.js +4 -4
- package/dist/api/resolvers/entity/user-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/zone-entity.resolver.d.ts +3 -2
- package/dist/api/resolvers/entity/zone-entity.resolver.js +8 -8
- package/dist/api/resolvers/entity/zone-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-auth.resolver.js +80 -80
- package/dist/api/resolvers/shop/shop-auth.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-customer.resolver.js +27 -27
- package/dist/api/resolvers/shop/shop-customer.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-environment.resolver.js +3 -3
- package/dist/api/resolvers/shop/shop-environment.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-order.resolver.d.ts +2 -2
- package/dist/api/resolvers/shop/shop-order.resolver.js +105 -107
- package/dist/api/resolvers/shop/shop-order.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-products.resolver.js +30 -30
- package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
- package/dist/api/schema/admin-api/channel.api.graphql +2 -0
- package/dist/api/schema/admin-api/collection-admin.type.graphql +1 -0
- package/dist/api/schema/admin-api/collection.api.graphql +3 -0
- package/dist/api/schema/admin-api/order-admin.type.graphql +14 -2
- package/dist/api/schema/admin-api/order.api.graphql +4 -9
- package/dist/api/schema/admin-api/payment-method.api.graphql +9 -4
- package/dist/api/schema/admin-api/product-admin.type.graphql +3 -2
- package/dist/api/schema/admin-api/product.api.graphql +9 -2
- package/dist/api/schema/admin-api/promotion.api.graphql +8 -2
- package/dist/api/schema/admin-api/seller.api.graphql +29 -0
- package/dist/api/schema/admin-api/shipping-method.api.graphql +2 -2
- package/dist/api/schema/admin-api/stock-level.type.graphql +9 -0
- package/dist/api/schema/admin-api/stock-location.api.graphql +34 -0
- package/dist/api/schema/admin-api/stock-location.type.graphql +7 -0
- package/dist/api/schema/common/asset.type.graphql +1 -0
- package/dist/api/schema/common/channel.type.graphql +3 -1
- package/dist/api/schema/common/common-error-results.graphql +7 -0
- package/dist/api/schema/common/common-types.graphql +7 -3
- package/dist/api/schema/common/custom-field-types.graphql +13 -0
- package/dist/api/schema/common/order.type.graphql +68 -49
- package/dist/api/schema/common/payment-method.type.graphql +9 -0
- package/dist/api/schema/common/product-search.type.graphql +3 -3
- package/dist/api/schema/common/product.type.graphql +2 -2
- package/dist/api/schema/common/promotion.type.graphql +12 -0
- package/dist/api/schema/common/seller.type.graphql +6 -0
- package/dist/api/schema/shop-api/shop.api.graphql +8 -3
- package/dist/app.module.js +1 -1
- package/dist/app.module.js.map +1 -1
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.js +27 -43
- package/dist/bootstrap.js.map +1 -1
- package/dist/cache/cache.module.js +1 -1
- package/dist/cache/cache.module.js.map +1 -1
- package/dist/cache/index.js +5 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/common/async-queue.d.ts +3 -3
- package/dist/common/async-queue.js +2 -2
- package/dist/common/async-queue.js.map +1 -1
- package/dist/common/configurable-operation.d.ts +11 -11
- package/dist/common/configurable-operation.js +5 -5
- package/dist/common/configurable-operation.js.map +1 -1
- package/dist/common/constants.js +4 -3
- package/dist/common/constants.js.map +1 -1
- package/dist/common/error/error-result.d.ts +3 -3
- package/dist/common/error/errors.d.ts +1 -2
- package/dist/common/error/errors.js.map +1 -1
- package/dist/common/error/generated-graphql-admin-errors.d.ts +160 -89
- package/dist/common/error/generated-graphql-admin-errors.js +123 -113
- package/dist/common/error/generated-graphql-admin-errors.js.map +1 -1
- package/dist/common/error/generated-graphql-shop-errors.d.ts +79 -43
- package/dist/common/error/generated-graphql-shop-errors.js +65 -55
- package/dist/common/error/generated-graphql-shop-errors.js.map +1 -1
- package/dist/common/finite-state-machine/finite-state-machine.d.ts +4 -2
- package/dist/common/finite-state-machine/finite-state-machine.js +20 -8
- package/dist/common/finite-state-machine/finite-state-machine.js.map +1 -1
- package/dist/common/finite-state-machine/merge-transition-definitions.js +1 -1
- package/dist/common/finite-state-machine/merge-transition-definitions.js.map +1 -1
- package/dist/common/finite-state-machine/types.d.ts +4 -4
- package/dist/common/generate-public-id.js +3 -2
- package/dist/common/generate-public-id.js.map +1 -1
- package/dist/common/index.js +5 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/permission-definition.d.ts +1 -1
- package/dist/common/round-money.d.ts +1 -0
- package/dist/common/round-money.js +13 -0
- package/dist/common/round-money.js.map +1 -0
- package/dist/common/self-refreshing-cache.d.ts +1 -2
- package/dist/common/self-refreshing-cache.js +11 -7
- package/dist/common/self-refreshing-cache.js.map +1 -1
- package/dist/common/tax-utils.js +2 -2
- package/dist/common/tax-utils.js.map +1 -1
- package/dist/common/types/adjustment-source.d.ts +1 -1
- package/dist/common/types/common-types.d.ts +11 -11
- package/dist/common/types/entity-relation-paths.d.ts +8 -8
- package/dist/common/types/locale-types.d.ts +7 -7
- package/dist/common/utils.d.ts +5 -1
- package/dist/common/utils.js +21 -3
- package/dist/common/utils.js.map +1 -1
- package/dist/config/asset-import-strategy/default-asset-import-strategy.js +4 -6
- package/dist/config/asset-import-strategy/default-asset-import-strategy.js.map +1 -1
- package/dist/config/asset-naming-strategy/default-asset-naming-strategy.js +1 -1
- package/dist/config/asset-naming-strategy/default-asset-naming-strategy.js.map +1 -1
- package/dist/config/asset-storage-strategy/asset-storage-strategy.d.ts +1 -0
- package/dist/config/asset-storage-strategy/no-asset-storage-strategy.d.ts +1 -0
- package/dist/config/auth/native-authentication-strategy.js +7 -26
- package/dist/config/auth/native-authentication-strategy.js.map +1 -1
- package/dist/config/catalog/collection-filter.d.ts +1 -1
- package/dist/config/catalog/collection-filter.js +1 -1
- package/dist/config/catalog/collection-filter.js.map +1 -1
- package/dist/config/catalog/default-collection-filters.js +10 -7
- package/dist/config/catalog/default-collection-filters.js.map +1 -1
- package/dist/config/catalog/default-product-variant-price-calculation-strategy.js +3 -2
- package/dist/config/catalog/default-product-variant-price-calculation-strategy.js.map +1 -1
- package/dist/config/catalog/default-product-variant-price-selection-strategy.d.ts +10 -0
- package/dist/config/catalog/default-product-variant-price-selection-strategy.js +15 -0
- package/dist/config/catalog/default-product-variant-price-selection-strategy.js.map +1 -0
- package/dist/config/catalog/default-stock-location-strategy.d.ts +25 -0
- package/dist/config/catalog/default-stock-location-strategy.js +70 -0
- package/dist/config/catalog/default-stock-location-strategy.js.map +1 -0
- package/dist/config/catalog/product-variant-price-calculation-strategy.d.ts +3 -2
- package/dist/config/catalog/product-variant-price-selection-strategy.d.ts +6 -0
- package/dist/config/catalog/product-variant-price-selection-strategy.js +3 -0
- package/dist/config/catalog/product-variant-price-selection-strategy.js.map +1 -0
- package/dist/config/catalog/stock-location-strategy.d.ts +74 -0
- package/dist/config/{fulfillment/custom-fulfillment-process.js → catalog/stock-location-strategy.js} +1 -1
- package/dist/config/catalog/stock-location-strategy.js.map +1 -0
- package/dist/config/config-helpers.d.ts +6 -1
- package/dist/config/config-helpers.js +34 -6
- package/dist/config/config-helpers.js.map +1 -1
- package/dist/config/config.module.js +14 -7
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/config.service.d.ts +3 -3
- package/dist/config/config.service.js +3 -3
- package/dist/config/config.service.js.map +1 -1
- package/dist/config/custom-field/custom-field-types.d.ts +18 -15
- package/dist/config/default-config.js +21 -2
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/entity/auto-increment-id-strategy.js.map +1 -0
- package/dist/config/entity/bigint-money-strategy.d.ts +17 -0
- package/dist/config/entity/bigint-money-strategy.js +45 -0
- package/dist/config/entity/bigint-money-strategy.js.map +1 -0
- package/dist/config/entity/default-money-strategy.d.ts +14 -0
- package/dist/config/entity/default-money-strategy.js +23 -0
- package/dist/config/entity/default-money-strategy.js.map +1 -0
- package/dist/config/{entity-id-strategy → entity}/entity-id-strategy.d.ts +1 -1
- package/dist/config/entity/entity-id-strategy.js.map +1 -0
- package/dist/config/entity/money-strategy.d.ts +61 -0
- package/dist/config/{order/custom-order-process.js → entity/money-strategy.js} +1 -1
- package/dist/config/entity/money-strategy.js.map +1 -0
- package/dist/config/entity/uuid-id-strategy.js.map +1 -0
- package/dist/config/entity-metadata/add-foreign-key-indices.js +1 -1
- package/dist/config/entity-metadata/add-foreign-key-indices.js.map +1 -1
- package/dist/config/entity-metadata/entity-metadata-modifier.d.ts +1 -1
- package/dist/config/fulfillment/default-fulfillment-process.d.ts +24 -0
- package/dist/config/fulfillment/default-fulfillment-process.js +131 -0
- package/dist/config/fulfillment/default-fulfillment-process.js.map +1 -0
- package/dist/config/fulfillment/fulfillment-handler.d.ts +5 -6
- package/dist/config/fulfillment/fulfillment-handler.js +3 -3
- package/dist/config/fulfillment/fulfillment-handler.js.map +1 -1
- package/dist/config/fulfillment/{custom-fulfillment-process.d.ts → fulfillment-process.d.ts} +16 -2
- package/dist/config/{payment/custom-payment-process.js → fulfillment/fulfillment-process.js} +1 -1
- package/dist/config/fulfillment/fulfillment-process.js.map +1 -0
- package/dist/config/index.d.ts +27 -8
- package/dist/config/index.js +32 -9
- package/dist/config/index.js.map +1 -1
- package/dist/config/job-queue/job-queue-strategy.d.ts +3 -3
- package/dist/config/logger/default-logger.js +5 -5
- package/dist/config/logger/typeorm-logger.js +4 -3
- package/dist/config/logger/typeorm-logger.js.map +1 -1
- package/dist/config/merge-config.js +4 -4
- package/dist/config/merge-config.js.map +1 -1
- package/dist/config/order/active-order-strategy.d.ts +1 -1
- package/dist/config/order/changed-price-handling-strategy.d.ts +3 -3
- package/dist/config/order/default-active-order-strategy.js +3 -22
- package/dist/config/order/default-active-order-strategy.js.map +1 -1
- package/dist/config/order/default-guest-checkout-strategy.d.ts +63 -0
- package/dist/config/order/default-guest-checkout-strategy.js +55 -0
- package/dist/config/order/default-guest-checkout-strategy.js.map +1 -0
- package/dist/config/order/default-order-process.d.ts +143 -0
- package/dist/config/order/default-order-process.js +307 -0
- package/dist/config/order/default-order-process.js.map +1 -0
- package/dist/config/order/default-order-seller-strategy.d.ts +11 -0
- package/dist/config/order/default-order-seller-strategy.js +15 -0
- package/dist/config/order/default-order-seller-strategy.js.map +1 -0
- package/dist/config/order/guest-checkout-strategy.d.ts +30 -0
- package/dist/config/order/guest-checkout-strategy.js +3 -0
- package/dist/config/order/guest-checkout-strategy.js.map +1 -0
- package/dist/config/order/merge-orders-strategy.js +1 -1
- package/dist/config/order/merge-orders-strategy.js.map +1 -1
- package/dist/config/order/order-by-code-access-strategy.js +1 -1
- package/dist/config/order/order-by-code-access-strategy.js.map +1 -1
- package/dist/config/order/order-code-strategy.js +1 -1
- package/dist/config/order/order-code-strategy.js.map +1 -1
- package/dist/config/order/order-merge-strategy.d.ts +1 -1
- package/dist/config/order/{custom-order-process.d.ts → order-process.d.ts} +15 -2
- package/dist/config/order/order-process.js +3 -0
- package/dist/config/order/order-process.js.map +1 -0
- package/dist/config/order/order-seller-strategy.d.ts +56 -0
- package/dist/config/order/order-seller-strategy.js +3 -0
- package/dist/config/order/order-seller-strategy.js.map +1 -0
- package/dist/config/payment/default-payment-process.d.ts +16 -0
- package/dist/config/payment/default-payment-process.js +70 -0
- package/dist/config/payment/default-payment-process.js.map +1 -0
- package/dist/config/payment/example-payment-method-handler.js +1 -1
- package/dist/config/payment/example-payment-method-handler.js.map +1 -1
- package/dist/config/payment/payment-method-eligibility-checker.d.ts +2 -2
- package/dist/config/payment/payment-method-eligibility-checker.js.map +1 -1
- package/dist/config/payment/payment-method-handler.d.ts +9 -9
- package/dist/config/payment/payment-method-handler.js +1 -1
- package/dist/config/payment/payment-method-handler.js.map +1 -1
- package/dist/config/payment/{custom-payment-process.d.ts → payment-process.d.ts} +17 -3
- package/dist/config/payment/payment-process.js +3 -0
- package/dist/config/payment/payment-process.js.map +1 -0
- package/dist/config/promotion/actions/buy-x-get-y-free-action.d.ts +4 -3
- package/dist/config/promotion/actions/buy-x-get-y-free-action.js +6 -9
- package/dist/config/promotion/actions/buy-x-get-y-free-action.js.map +1 -1
- package/dist/config/promotion/actions/facet-values-percentage-discount-action.js +1 -1
- package/dist/config/promotion/actions/facet-values-percentage-discount-action.js.map +1 -1
- package/dist/config/promotion/actions/product-percentage-discount-action.js +2 -2
- package/dist/config/promotion/actions/product-percentage-discount-action.js.map +1 -1
- package/dist/config/promotion/conditions/buy-x-get-y-free-condition.d.ts +3 -2
- package/dist/config/promotion/conditions/buy-x-get-y-free-condition.js +16 -10
- package/dist/config/promotion/conditions/buy-x-get-y-free-condition.js.map +1 -1
- package/dist/config/promotion/conditions/contains-products-condition.js +1 -1
- package/dist/config/promotion/conditions/contains-products-condition.js.map +1 -1
- package/dist/config/promotion/conditions/customer-group-condition.js +2 -21
- package/dist/config/promotion/conditions/customer-group-condition.js.map +1 -1
- package/dist/config/promotion/conditions/has-facet-values-condition.js +1 -1
- package/dist/config/promotion/conditions/has-facet-values-condition.js.map +1 -1
- package/dist/config/promotion/index.d.ts +6 -2
- package/dist/config/promotion/index.js +5 -1
- package/dist/config/promotion/index.js.map +1 -1
- package/dist/config/promotion/promotion-action.d.ts +13 -14
- package/dist/config/promotion/promotion-action.js +5 -5
- package/dist/config/promotion/promotion-action.js.map +1 -1
- package/dist/config/promotion/promotion-condition.d.ts +4 -4
- package/dist/config/promotion/promotion-condition.js +3 -3
- package/dist/config/promotion/promotion-condition.js.map +1 -1
- package/dist/config/promotion/utils/facet-value-checker.d.ts +0 -1
- package/dist/config/promotion/utils/facet-value-checker.js +6 -5
- package/dist/config/promotion/utils/facet-value-checker.js.map +1 -1
- package/dist/config/session-cache/in-memory-session-cache-strategy.js +1 -1
- package/dist/config/session-cache/session-cache-strategy.d.ts +6 -6
- package/dist/config/shipping-method/default-shipping-calculator.d.ts +1 -2
- package/dist/config/shipping-method/default-shipping-calculator.js +2 -2
- package/dist/config/shipping-method/default-shipping-calculator.js.map +1 -1
- package/dist/config/shipping-method/default-shipping-line-assignment-strategy.d.ts +8 -0
- package/dist/config/shipping-method/default-shipping-line-assignment-strategy.js +10 -0
- package/dist/config/shipping-method/default-shipping-line-assignment-strategy.js.map +1 -0
- package/dist/config/shipping-method/shipping-calculator.d.ts +2 -2
- package/dist/config/shipping-method/shipping-eligibility-checker.d.ts +2 -2
- package/dist/config/shipping-method/shipping-eligibility-checker.js +1 -1
- package/dist/config/shipping-method/shipping-eligibility-checker.js.map +1 -1
- package/dist/config/shipping-method/shipping-line-assignment-strategy.d.ts +20 -0
- package/dist/config/shipping-method/shipping-line-assignment-strategy.js +3 -0
- package/dist/config/shipping-method/shipping-line-assignment-strategy.js.map +1 -0
- package/dist/config/tax/default-tax-line-calculation-strategy.js +2 -2
- package/dist/config/tax/tax-line-calculation-strategy.d.ts +1 -3
- package/dist/config/vendure-config.d.ts +90 -14
- package/dist/connection/connection.module.d.ts +2 -2
- package/dist/connection/connection.module.js +1 -1
- package/dist/connection/connection.module.js.map +1 -1
- package/dist/connection/index.js +5 -1
- package/dist/connection/index.js.map +1 -1
- package/dist/connection/transaction-subscriber.d.ts +1 -1
- package/dist/connection/transaction-subscriber.js +6 -7
- package/dist/connection/transaction-subscriber.js.map +1 -1
- package/dist/connection/transaction-wrapper.js +2 -4
- package/dist/connection/transaction-wrapper.js.map +1 -1
- package/dist/connection/transactional-connection.d.ts +7 -6
- package/dist/connection/transactional-connection.js +18 -37
- package/dist/connection/transactional-connection.js.map +1 -1
- package/dist/data-import/data-import.module.js +1 -1
- package/dist/data-import/data-import.module.js.map +1 -1
- package/dist/data-import/index.js +5 -1
- package/dist/data-import/index.js.map +1 -1
- package/dist/data-import/providers/asset-importer/asset-importer.js +2 -2
- package/dist/data-import/providers/asset-importer/asset-importer.js.map +1 -1
- package/dist/data-import/providers/import-parser/import-parser.js +7 -7
- package/dist/data-import/providers/import-parser/import-parser.js.map +1 -1
- package/dist/data-import/providers/importer/fast-importer.service.d.ts +1 -2
- package/dist/data-import/providers/importer/fast-importer.service.js +15 -16
- package/dist/data-import/providers/importer/fast-importer.service.js.map +1 -1
- package/dist/data-import/providers/importer/importer.d.ts +1 -1
- package/dist/data-import/providers/importer/importer.js +6 -6
- package/dist/data-import/providers/importer/importer.js.map +1 -1
- package/dist/data-import/providers/populator/populator.js +11 -12
- package/dist/data-import/providers/populator/populator.js.map +1 -1
- package/dist/data-import/types.d.ts +2 -2
- package/dist/entity/address/address.entity.d.ts +1 -1
- package/dist/entity/address/address.entity.js +17 -15
- package/dist/entity/address/address.entity.js.map +1 -1
- package/dist/entity/administrator/administrator.entity.js +8 -8
- package/dist/entity/administrator/administrator.entity.js.map +1 -1
- package/dist/entity/asset/asset.entity.js +15 -15
- package/dist/entity/asset/asset.entity.js.map +1 -1
- package/dist/entity/asset/orderable-asset.entity.js +4 -3
- package/dist/entity/asset/orderable-asset.entity.js.map +1 -1
- package/dist/entity/authentication-method/authentication-method.entity.js +4 -3
- package/dist/entity/authentication-method/authentication-method.entity.js.map +1 -1
- package/dist/entity/authentication-method/external-authentication-method.entity.js +4 -4
- package/dist/entity/authentication-method/external-authentication-method.entity.js.map +1 -1
- package/dist/entity/authentication-method/native-authentication-method.entity.js +7 -7
- package/dist/entity/authentication-method/native-authentication-method.entity.js.map +1 -1
- package/dist/entity/base/base.entity.js +3 -3
- package/dist/entity/base/base.entity.js.map +1 -1
- package/dist/entity/channel/channel.entity.d.ts +6 -2
- package/dist/entity/channel/channel.entity.js +26 -10
- package/dist/entity/channel/channel.entity.js.map +1 -1
- package/dist/entity/collection/collection-asset.entity.js +3 -3
- package/dist/entity/collection/collection-asset.entity.js.map +1 -1
- package/dist/entity/collection/collection-translation.entity.js +9 -7
- package/dist/entity/collection/collection-translation.entity.js.map +1 -1
- package/dist/entity/collection/collection.entity.d.ts +4 -0
- package/dist/entity/collection/collection.entity.js +22 -28
- package/dist/entity/collection/collection.entity.js.map +1 -1
- package/dist/entity/country/country-translation.entity.js +6 -5
- package/dist/entity/country/country-translation.entity.js.map +1 -1
- package/dist/entity/country/country.entity.js +5 -5
- package/dist/entity/country/country.entity.js.map +1 -1
- package/dist/entity/custom-entity-fields.d.ts +8 -0
- package/dist/entity/custom-entity-fields.js +13 -1
- package/dist/entity/custom-entity-fields.js.map +1 -1
- package/dist/entity/customer/customer.entity.js +16 -16
- package/dist/entity/customer/customer.entity.js.map +1 -1
- package/dist/entity/customer-group/customer-group.entity.js +4 -4
- package/dist/entity/customer-group/customer-group.entity.js.map +1 -1
- package/dist/entity/entities.d.ts +28 -12
- package/dist/entity/entities.js +28 -12
- package/dist/entity/entities.js.map +1 -1
- package/dist/entity/entity-id.decorator.js +1 -1
- package/dist/entity/facet/facet-translation.entity.js +6 -5
- package/dist/entity/facet/facet-translation.entity.js.map +1 -1
- package/dist/entity/facet/facet.entity.js +8 -8
- package/dist/entity/facet/facet.entity.js.map +1 -1
- package/dist/entity/facet-value/facet-value-translation.entity.js +6 -5
- package/dist/entity/facet-value/facet-value-translation.entity.js.map +1 -1
- package/dist/entity/facet-value/facet-value.entity.js +8 -7
- package/dist/entity/facet-value/facet-value.entity.js.map +1 -1
- package/dist/entity/fulfillment/fulfillment.entity.d.ts +3 -3
- package/dist/entity/fulfillment/fulfillment.entity.js +10 -10
- package/dist/entity/fulfillment/fulfillment.entity.js.map +1 -1
- package/dist/entity/global-settings/global-settings.entity.js +5 -5
- package/dist/entity/global-settings/global-settings.entity.js.map +1 -1
- package/dist/entity/history-entry/customer-history-entry.entity.js +3 -2
- package/dist/entity/history-entry/customer-history-entry.entity.js.map +1 -1
- package/dist/entity/history-entry/history-entry.entity.js +7 -6
- package/dist/entity/history-entry/history-entry.entity.js.map +1 -1
- package/dist/entity/history-entry/order-history-entry.entity.js +3 -2
- package/dist/entity/history-entry/order-history-entry.entity.js.map +1 -1
- package/dist/entity/index.d.ts +30 -18
- package/dist/entity/index.js +35 -19
- package/dist/entity/index.js.map +1 -1
- package/dist/entity/money.decorator.d.ts +27 -0
- package/dist/entity/money.decorator.js +36 -0
- package/dist/entity/money.decorator.js.map +1 -0
- package/dist/entity/order/order.entity.d.ts +7 -3
- package/dist/entity/order/order.entity.js +60 -42
- package/dist/entity/order/order.entity.js.map +1 -1
- package/dist/entity/order-line/order-line.entity.d.ts +79 -20
- package/dist/entity/order-line/order-line.entity.js +205 -107
- package/dist/entity/order-line/order-line.entity.js.map +1 -1
- package/dist/entity/order-line-reference/fulfillment-line.entity.d.ts +15 -0
- package/dist/entity/order-line-reference/fulfillment-line.entity.js +43 -0
- package/dist/entity/order-line-reference/fulfillment-line.entity.js.map +1 -0
- package/dist/entity/order-line-reference/order-line-reference.entity.d.ts +15 -0
- package/dist/entity/order-line-reference/order-line-reference.entity.js +44 -0
- package/dist/entity/order-line-reference/order-line-reference.entity.js.map +1 -0
- package/dist/entity/order-line-reference/order-modification-line.entity.d.ts +15 -0
- package/dist/entity/order-line-reference/order-modification-line.entity.js +43 -0
- package/dist/entity/order-line-reference/order-modification-line.entity.js.map +1 -0
- package/dist/entity/order-line-reference/refund-line.entity.d.ts +15 -0
- package/dist/entity/order-line-reference/refund-line.entity.js +43 -0
- package/dist/entity/order-line-reference/refund-line.entity.js.map +1 -0
- package/dist/entity/order-modification/order-modification.entity.d.ts +2 -2
- package/dist/entity/order-modification/order-modification.entity.js +17 -16
- package/dist/entity/order-modification/order-modification.entity.js.map +1 -1
- package/dist/entity/payment/payment.entity.js +11 -9
- package/dist/entity/payment/payment.entity.js.map +1 -1
- package/dist/entity/payment-method/payment-method-translation.entity.d.ts +15 -0
- package/dist/entity/payment-method/payment-method-translation.entity.js +49 -0
- package/dist/entity/payment-method/payment-method-translation.entity.js.map +1 -0
- package/dist/entity/payment-method/payment-method.entity.d.ts +5 -3
- package/dist/entity/payment-method/payment-method.entity.js +12 -15
- package/dist/entity/payment-method/payment-method.entity.js.map +1 -1
- package/dist/entity/product/product-asset.entity.js +3 -3
- package/dist/entity/product/product-asset.entity.js.map +1 -1
- package/dist/entity/product/product-translation.entity.js +9 -7
- package/dist/entity/product/product-translation.entity.js.map +1 -1
- package/dist/entity/product/product.entity.js +14 -13
- package/dist/entity/product/product.entity.js.map +1 -1
- package/dist/entity/product-option/product-option-translation.entity.js +6 -5
- package/dist/entity/product-option/product-option-translation.entity.js.map +1 -1
- package/dist/entity/product-option/product-option.entity.js +8 -7
- package/dist/entity/product-option/product-option.entity.js.map +1 -1
- package/dist/entity/product-option-group/product-option-group-translation.entity.js +6 -5
- package/dist/entity/product-option-group/product-option-group-translation.entity.js.map +1 -1
- package/dist/entity/product-option-group/product-option-group.entity.d.ts +1 -1
- package/dist/entity/product-option-group/product-option-group.entity.js +9 -8
- package/dist/entity/product-option-group/product-option-group.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant-asset.entity.js +3 -3
- package/dist/entity/product-variant/product-variant-asset.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant-price.entity.d.ts +2 -0
- package/dist/entity/product-variant/product-variant-price.entity.js +11 -4
- package/dist/entity/product-variant/product-variant-price.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant-translation.entity.js +6 -5
- package/dist/entity/product-variant/product-variant-translation.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant.entity.d.ts +3 -3
- package/dist/entity/product-variant/product-variant.entity.js +37 -36
- package/dist/entity/product-variant/product-variant.entity.js.map +1 -1
- package/dist/entity/promotion/promotion-translation.entity.d.ts +15 -0
- package/dist/entity/promotion/promotion-translation.entity.js +49 -0
- package/dist/entity/promotion/promotion-translation.entity.js.map +1 -0
- package/dist/entity/promotion/promotion.entity.d.ts +7 -6
- package/dist/entity/promotion/promotion.entity.js +26 -23
- package/dist/entity/promotion/promotion.entity.js.map +1 -1
- package/dist/entity/refund/refund.entity.d.ts +2 -2
- package/dist/entity/refund/refund.entity.js +19 -17
- package/dist/entity/refund/refund.entity.js.map +1 -1
- package/dist/entity/register-custom-entity-fields.js +16 -12
- package/dist/entity/register-custom-entity-fields.js.map +1 -1
- package/dist/entity/role/role.entity.js +6 -6
- package/dist/entity/role/role.entity.js.map +1 -1
- package/dist/entity/run-entity-metadata-modifiers.d.ts +1 -1
- package/dist/entity/run-entity-metadata-modifiers.js +1 -1
- package/dist/entity/run-entity-metadata-modifiers.js.map +1 -1
- package/dist/entity/seller/seller.entity.d.ts +17 -0
- package/dist/entity/seller/seller.entity.js +44 -0
- package/dist/entity/seller/seller.entity.js.map +1 -0
- package/dist/entity/session/anonymous-session.entity.js +1 -1
- package/dist/entity/session/anonymous-session.entity.js.map +1 -1
- package/dist/entity/session/authenticated-session.entity.js +4 -3
- package/dist/entity/session/authenticated-session.entity.js.map +1 -1
- package/dist/entity/session/session.entity.js +12 -10
- package/dist/entity/session/session.entity.js.map +1 -1
- package/dist/entity/set-entity-id-strategy.d.ts +1 -1
- package/dist/entity/set-entity-id-strategy.js +4 -4
- package/dist/entity/set-entity-id-strategy.js.map +1 -1
- package/dist/entity/set-money-strategy.d.ts +3 -0
- package/dist/entity/set-money-strategy.js +16 -0
- package/dist/entity/set-money-strategy.js.map +1 -0
- package/dist/entity/shipping-line/shipping-line.entity.d.ts +1 -1
- package/dist/entity/shipping-line/shipping-line.entity.js +30 -26
- package/dist/entity/shipping-line/shipping-line.entity.js.map +1 -1
- package/dist/entity/shipping-method/shipping-method-translation.entity.js +7 -6
- package/dist/entity/shipping-method/shipping-method-translation.entity.js.map +1 -1
- package/dist/entity/shipping-method/shipping-method.entity.js +14 -13
- package/dist/entity/shipping-method/shipping-method.entity.js.map +1 -1
- package/dist/entity/stock-level/stock-level.entity.d.ts +20 -0
- package/dist/entity/stock-level/stock-level.entity.js +60 -0
- package/dist/entity/stock-level/stock-level.entity.js.map +1 -0
- package/dist/entity/stock-location/stock-location.entity.d.ts +19 -0
- package/dist/entity/stock-location/stock-location.entity.js +50 -0
- package/dist/entity/stock-location/stock-location.entity.js.map +1 -0
- package/dist/entity/stock-movement/allocation.entity.js +3 -2
- package/dist/entity/stock-movement/allocation.entity.js.map +1 -1
- package/dist/entity/stock-movement/cancellation.entity.d.ts +2 -2
- package/dist/entity/stock-movement/cancellation.entity.js +5 -5
- package/dist/entity/stock-movement/cancellation.entity.js.map +1 -1
- package/dist/entity/stock-movement/release.entity.d.ts +2 -2
- package/dist/entity/stock-movement/release.entity.js +5 -5
- package/dist/entity/stock-movement/release.entity.js.map +1 -1
- package/dist/entity/stock-movement/sale.entity.js +2 -2
- package/dist/entity/stock-movement/sale.entity.js.map +1 -1
- package/dist/entity/stock-movement/stock-adjustment.entity.js +1 -1
- package/dist/entity/stock-movement/stock-adjustment.entity.js.map +1 -1
- package/dist/entity/stock-movement/stock-movement.entity.d.ts +4 -0
- package/dist/entity/stock-movement/stock-movement.entity.js +17 -5
- package/dist/entity/stock-movement/stock-movement.entity.js.map +1 -1
- package/dist/entity/subscribers.js +2 -1
- package/dist/entity/subscribers.js.map +1 -1
- package/dist/entity/surcharge/surcharge.entity.d.ts +1 -1
- package/dist/entity/surcharge/surcharge.entity.js +18 -15
- package/dist/entity/surcharge/surcharge.entity.js.map +1 -1
- package/dist/entity/tag/tag.entity.js +2 -2
- package/dist/entity/tag/tag.entity.js.map +1 -1
- package/dist/entity/tax-category/tax-category.entity.js +4 -4
- package/dist/entity/tax-category/tax-category.entity.js.map +1 -1
- package/dist/entity/tax-rate/tax-rate.entity.js +16 -13
- package/dist/entity/tax-rate/tax-rate.entity.js.map +1 -1
- package/dist/entity/user/user.entity.js +9 -9
- package/dist/entity/user/user.entity.js.map +1 -1
- package/dist/entity/validate-custom-fields-config.js +5 -3
- package/dist/entity/validate-custom-fields-config.js.map +1 -1
- package/dist/entity/zone/zone.entity.js +5 -5
- package/dist/entity/zone/zone.entity.js.map +1 -1
- package/dist/event-bus/event-bus.d.ts +10 -0
- package/dist/event-bus/event-bus.js +14 -2
- package/dist/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/event-bus.module.js +1 -1
- package/dist/event-bus/event-bus.module.js.map +1 -1
- package/dist/event-bus/events/administrator-event.d.ts +1 -1
- package/dist/event-bus/events/asset-event.d.ts +1 -1
- package/dist/event-bus/events/channel-event.d.ts +1 -1
- package/dist/event-bus/events/collection-event.d.ts +1 -1
- package/dist/event-bus/events/country-event.d.ts +1 -1
- package/dist/event-bus/events/customer-address-event.d.ts +1 -1
- package/dist/event-bus/events/customer-event.d.ts +1 -1
- package/dist/event-bus/events/customer-group-entity-event.d.ts +1 -1
- package/dist/event-bus/events/customer-group-event.d.ts +1 -1
- package/dist/event-bus/events/facet-event.d.ts +1 -1
- package/dist/event-bus/events/facet-value-event.d.ts +1 -1
- package/dist/event-bus/events/fulfillment-event.d.ts +4 -4
- package/dist/event-bus/events/history-entry-event.d.ts +1 -1
- package/dist/event-bus/events/payment-method-event.d.ts +1 -1
- package/dist/event-bus/events/product-event.d.ts +1 -1
- package/dist/event-bus/events/product-option-event.d.ts +1 -1
- package/dist/event-bus/events/product-option-group-event.d.ts +1 -1
- package/dist/event-bus/events/product-variant-event.d.ts +1 -1
- package/dist/event-bus/events/promotion-event.d.ts +1 -1
- package/dist/event-bus/events/role-event.d.ts +1 -1
- package/dist/event-bus/events/search-event.d.ts +1 -1
- package/dist/event-bus/events/shipping-method-event.d.ts +1 -1
- package/dist/event-bus/events/tax-category-event.d.ts +1 -1
- package/dist/event-bus/events/tax-rate-event.d.ts +1 -1
- package/dist/event-bus/events/zone-event.d.ts +1 -1
- package/dist/event-bus/index.js +5 -1
- package/dist/event-bus/index.js.map +1 -1
- package/dist/health-check/health-check.controller.js +3 -3
- package/dist/health-check/health-check.controller.js.map +1 -1
- package/dist/health-check/health-check.module.js +2 -2
- package/dist/health-check/health-check.module.js.map +1 -1
- package/dist/health-check/index.js +5 -1
- package/dist/health-check/index.js.map +1 -1
- package/dist/health-check/worker-health-indicator.js +2 -2
- package/dist/health-check/worker-health-indicator.js.map +1 -1
- package/dist/i18n/i18n.module.js +1 -1
- package/dist/i18n/i18n.module.js.map +1 -1
- package/dist/i18n/i18n.service.js +11 -5
- package/dist/i18n/i18n.service.js.map +1 -1
- package/dist/i18n/index.js +5 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/job-queue/in-memory-job-queue-strategy.d.ts +1 -1
- package/dist/job-queue/in-memory-job-queue-strategy.js +14 -15
- package/dist/job-queue/in-memory-job-queue-strategy.js.map +1 -1
- package/dist/job-queue/index.js +5 -1
- package/dist/job-queue/index.js.map +1 -1
- package/dist/job-queue/injectable-job-queue-strategy.d.ts +2 -2
- package/dist/job-queue/job-buffer/job-buffer.d.ts +1 -1
- package/dist/job-queue/job-buffer/job-buffer.service.js +2 -2
- package/dist/job-queue/job-buffer/job-buffer.service.js.map +1 -1
- package/dist/job-queue/job-queue.d.ts +1 -1
- package/dist/job-queue/job-queue.js +6 -6
- package/dist/job-queue/job-queue.js.map +1 -1
- package/dist/job-queue/job-queue.module.js +1 -1
- package/dist/job-queue/job-queue.module.js.map +1 -1
- package/dist/job-queue/job-queue.service.js +4 -4
- package/dist/job-queue/job-queue.service.js.map +1 -1
- package/dist/job-queue/job.d.ts +2 -2
- package/dist/job-queue/job.js +36 -27
- package/dist/job-queue/job.js.map +1 -1
- package/dist/job-queue/polling-job-queue-strategy.d.ts +3 -3
- package/dist/job-queue/polling-job-queue-strategy.js +12 -13
- package/dist/job-queue/polling-job-queue-strategy.js.map +1 -1
- package/dist/job-queue/subscribable-job.d.ts +2 -2
- package/dist/job-queue/subscribable-job.js +11 -10
- package/dist/job-queue/subscribable-job.js.map +1 -1
- package/dist/job-queue/types.d.ts +1 -1
- package/dist/migrate.js +19 -19
- package/dist/migrate.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.d.ts +1 -1
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.js +1 -1
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/job-record-buffer.entity.js +3 -3
- package/dist/plugin/default-job-queue-plugin/job-record-buffer.entity.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/job-record.entity.js +12 -12
- package/dist/plugin/default-job-queue-plugin/job-record.entity.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js +6 -7
- package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/sql-job-queue-strategy.d.ts +1 -1
- package/dist/plugin/default-job-queue-plugin/sql-job-queue-strategy.js +3 -3
- package/dist/plugin/default-job-queue-plugin/sql-job-queue-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/api/api-extensions.js +1 -1
- package/dist/plugin/default-search-plugin/api/api-extensions.js.map +1 -1
- package/dist/plugin/default-search-plugin/api/fulltext-search.resolver.d.ts +3 -2
- package/dist/plugin/default-search-plugin/api/fulltext-search.resolver.js +30 -30
- package/dist/plugin/default-search-plugin/api/fulltext-search.resolver.js.map +1 -1
- package/dist/plugin/default-search-plugin/default-search-plugin.js +8 -8
- package/dist/plugin/default-search-plugin/default-search-plugin.js.map +1 -1
- package/dist/plugin/default-search-plugin/entities/search-index-item.entity.js +28 -27
- package/dist/plugin/default-search-plugin/entities/search-index-item.entity.js.map +1 -1
- package/dist/plugin/default-search-plugin/fulltext-search.service.js +5 -5
- package/dist/plugin/default-search-plugin/fulltext-search.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/index.js +5 -1
- package/dist/plugin/default-search-plugin/index.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js +48 -31
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/mutable-request-context.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/search-index.service.d.ts +12 -12
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js +22 -14
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-job-buffer/collection-job-buffer.js +1 -1
- package/dist/plugin/default-search-plugin/search-job-buffer/collection-job-buffer.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-job-buffer/search-index-job-buffer.js +1 -1
- package/dist/plugin/default-search-plugin/search-job-buffer/search-index-job-buffer.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-job-buffer/search-job-buffer.service.js +4 -4
- package/dist/plugin/default-search-plugin/search-job-buffer/search-job-buffer.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +11 -11
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +12 -12
- package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/search-strategy-common.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/search-strategy-utils.js +12 -8
- package/dist/plugin/default-search-plugin/search-strategy/search-strategy-utils.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +9 -9
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/types.d.ts +22 -22
- package/dist/plugin/dynamic-plugin-api.module.js +8 -8
- package/dist/plugin/dynamic-plugin-api.module.js.map +1 -1
- package/dist/plugin/index.js +5 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/plugin-common.module.js +1 -1
- package/dist/plugin/plugin-common.module.js.map +1 -1
- package/dist/plugin/plugin-utils.js +2 -2
- package/dist/plugin/plugin-utils.js.map +1 -1
- package/dist/plugin/plugin.module.js +2 -2
- package/dist/plugin/plugin.module.js.map +1 -1
- package/dist/plugin/vendure-plugin.d.ts +1 -1
- package/dist/plugin/vendure-plugin.js +3 -3
- package/dist/plugin/vendure-plugin.js.map +1 -1
- package/dist/process-context/process-context.d.ts +1 -1
- package/dist/process-context/process-context.module.js +2 -2
- package/dist/process-context/process-context.module.js.map +1 -1
- package/dist/service/helpers/active-order/active-order.service.d.ts +2 -2
- package/dist/service/helpers/active-order/active-order.service.js +8 -8
- package/dist/service/helpers/active-order/active-order.service.js.map +1 -1
- package/dist/service/helpers/config-arg/config-arg.service.d.ts +2 -2
- package/dist/service/helpers/config-arg/config-arg.service.js +2 -2
- package/dist/service/helpers/config-arg/config-arg.service.js.map +1 -1
- package/dist/service/helpers/custom-field-relation/custom-field-relation.service.js +10 -5
- package/dist/service/helpers/custom-field-relation/custom-field-relation.service.js.map +1 -1
- package/dist/service/helpers/entity-hydrator/entity-hydrator.service.js +7 -8
- package/dist/service/helpers/entity-hydrator/entity-hydrator.service.js.map +1 -1
- package/dist/service/helpers/external-authentication/external-authentication.service.js +2 -2
- package/dist/service/helpers/external-authentication/external-authentication.service.js.map +1 -1
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state-machine.d.ts +7 -13
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state-machine.js +18 -48
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state-machine.js.map +1 -1
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state.d.ts +13 -5
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state.js +0 -18
- package/dist/service/helpers/fulfillment-state-machine/fulfillment-state.js.map +1 -1
- package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +3 -3
- package/dist/service/helpers/list-query-builder/list-query-builder.js +25 -21
- package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
- package/dist/service/helpers/list-query-builder/parse-filter-params.js +8 -6
- package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
- package/dist/service/helpers/list-query-builder/parse-sort-params.d.ts +1 -1
- package/dist/service/helpers/list-query-builder/parse-sort-params.js +4 -4
- package/dist/service/helpers/list-query-builder/parse-sort-params.js.map +1 -1
- package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js +5 -3
- package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js.map +1 -1
- package/dist/service/helpers/order-calculator/order-calculator.d.ts +3 -14
- package/dist/service/helpers/order-calculator/order-calculator.js +46 -118
- package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
- package/dist/service/helpers/order-merger/order-merger.d.ts +5 -5
- package/dist/service/helpers/order-merger/order-merger.js +4 -4
- package/dist/service/helpers/order-merger/order-merger.js.map +1 -1
- package/dist/service/helpers/order-modifier/order-modifier.d.ts +4 -2
- package/dist/service/helpers/order-modifier/order-modifier.js +205 -104
- package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
- package/dist/service/helpers/order-splitter/order-splitter.d.ts +16 -0
- package/dist/service/helpers/order-splitter/order-splitter.js +122 -0
- package/dist/service/helpers/order-splitter/order-splitter.js.map +1 -0
- package/dist/service/helpers/order-state-machine/order-state-machine.d.ts +6 -23
- package/dist/service/helpers/order-state-machine/order-state-machine.js +16 -188
- package/dist/service/helpers/order-state-machine/order-state-machine.js.map +1 -1
- package/dist/service/helpers/order-state-machine/order-state.d.ts +32 -4
- package/dist/service/helpers/order-state-machine/order-state.js +0 -64
- package/dist/service/helpers/order-state-machine/order-state.js.map +1 -1
- package/dist/service/helpers/password-cipher/password-cipher.js +1 -1
- package/dist/service/helpers/password-cipher/password-cipher.js.map +1 -1
- package/dist/service/helpers/payment-state-machine/payment-state-machine.d.ts +5 -10
- package/dist/service/helpers/payment-state-machine/payment-state-machine.js +16 -38
- package/dist/service/helpers/payment-state-machine/payment-state-machine.js.map +1 -1
- package/dist/service/helpers/payment-state-machine/payment-state.d.ts +10 -4
- package/dist/service/helpers/payment-state-machine/payment-state.js +0 -21
- package/dist/service/helpers/payment-state-machine/payment-state.js.map +1 -1
- package/dist/service/helpers/product-price-applicator/product-price-applicator.js +7 -8
- package/dist/service/helpers/product-price-applicator/product-price-applicator.js.map +1 -1
- package/dist/service/helpers/refund-state-machine/refund-state-machine.d.ts +4 -2
- package/dist/service/helpers/refund-state-machine/refund-state-machine.js +3 -2
- package/dist/service/helpers/refund-state-machine/refund-state-machine.js.map +1 -1
- package/dist/service/helpers/refund-state-machine/refund-state.d.ts +1 -1
- package/dist/service/helpers/request-context/request-context.service.d.ts +2 -1
- package/dist/service/helpers/request-context/request-context.service.js +12 -6
- package/dist/service/helpers/request-context/request-context.service.js.map +1 -1
- package/dist/service/helpers/shipping-calculator/shipping-calculator.d.ts +1 -1
- package/dist/service/helpers/shipping-calculator/shipping-calculator.js +1 -1
- package/dist/service/helpers/shipping-calculator/shipping-calculator.js.map +1 -1
- package/dist/service/helpers/slug-validator/slug-validator.d.ts +2 -2
- package/dist/service/helpers/slug-validator/slug-validator.js +7 -7
- package/dist/service/helpers/slug-validator/slug-validator.js.map +1 -1
- package/dist/service/helpers/translatable-saver/translatable-saver.js +3 -3
- package/dist/service/helpers/translatable-saver/translatable-saver.js.map +1 -1
- package/dist/service/helpers/translatable-saver/translation-differ.d.ts +1 -1
- package/dist/service/helpers/translatable-saver/translation-differ.js +2 -2
- package/dist/service/helpers/translatable-saver/translation-differ.js.map +1 -1
- package/dist/service/helpers/translator/translator.service.js +2 -2
- package/dist/service/helpers/translator/translator.service.js.map +1 -1
- package/dist/service/helpers/utils/get-user-channels-permissions.d.ts +1 -1
- package/dist/service/helpers/utils/get-user-channels-permissions.js +1 -1
- package/dist/service/helpers/utils/get-user-channels-permissions.js.map +1 -1
- package/dist/service/helpers/utils/move-to-index.js +2 -2
- package/dist/service/helpers/utils/move-to-index.js.map +1 -1
- package/dist/service/helpers/utils/order-utils.d.ts +5 -1
- package/dist/service/helpers/utils/order-utils.js +58 -27
- package/dist/service/helpers/utils/order-utils.js.map +1 -1
- package/dist/service/helpers/utils/patch-entity.d.ts +1 -1
- package/dist/service/helpers/utils/translate-entity.d.ts +5 -5
- package/dist/service/helpers/utils/translate-entity.js +1 -1
- package/dist/service/helpers/utils/translate-entity.js.map +1 -1
- package/dist/service/helpers/verification-token-generator/verification-token-generator.js +3 -3
- package/dist/service/helpers/verification-token-generator/verification-token-generator.js.map +1 -1
- package/dist/service/index.d.ts +7 -2
- package/dist/service/index.js +12 -3
- package/dist/service/index.js.map +1 -1
- package/dist/service/initializer.service.d.ts +5 -1
- package/dist/service/initializer.service.js +12 -4
- package/dist/service/initializer.service.js.map +1 -1
- package/dist/service/service.module.js +10 -2
- package/dist/service/service.module.js.map +1 -1
- package/dist/service/services/administrator.service.js +30 -18
- package/dist/service/services/administrator.service.js.map +1 -1
- package/dist/service/services/asset.service.d.ts +1 -0
- package/dist/service/services/asset.service.js +36 -27
- package/dist/service/services/asset.service.js.map +1 -1
- package/dist/service/services/auth.service.js +5 -5
- package/dist/service/services/auth.service.js.map +1 -1
- package/dist/service/services/channel.service.d.ts +7 -4
- package/dist/service/services/channel.service.js +64 -28
- package/dist/service/services/channel.service.js.map +1 -1
- package/dist/service/services/collection.service.d.ts +6 -1
- package/dist/service/services/collection.service.js +50 -30
- package/dist/service/services/collection.service.js.map +1 -1
- package/dist/service/services/country.service.js +5 -5
- package/dist/service/services/country.service.js.map +1 -1
- package/dist/service/services/customer-group.service.d.ts +1 -1
- package/dist/service/services/customer-group.service.js +13 -10
- package/dist/service/services/customer-group.service.js.map +1 -1
- package/dist/service/services/customer.service.d.ts +2 -2
- package/dist/service/services/customer.service.js +40 -37
- package/dist/service/services/customer.service.js.map +1 -1
- package/dist/service/services/facet-value.service.d.ts +1 -1
- package/dist/service/services/facet-value.service.js +9 -8
- package/dist/service/services/facet-value.service.js.map +1 -1
- package/dist/service/services/facet.service.js +26 -17
- package/dist/service/services/facet.service.js.map +1 -1
- package/dist/service/services/fulfillment.service.d.ts +6 -24
- package/dist/service/services/fulfillment.service.js +50 -70
- package/dist/service/services/fulfillment.service.js.map +1 -1
- package/dist/service/services/global-settings.service.d.ts +3 -1
- package/dist/service/services/global-settings.service.js +16 -11
- package/dist/service/services/global-settings.service.js.map +1 -1
- package/dist/service/services/history.service.d.ts +5 -5
- package/dist/service/services/history.service.js +3 -3
- package/dist/service/services/history.service.js.map +1 -1
- package/dist/service/services/order-testing.service.js +11 -18
- package/dist/service/services/order-testing.service.js.map +1 -1
- package/dist/service/services/order.service.d.ts +11 -18
- package/dist/service/services/order.service.js +250 -411
- package/dist/service/services/order.service.js.map +1 -1
- package/dist/service/services/payment-method.service.d.ts +5 -1
- package/dist/service/services/payment-method.service.js +62 -35
- package/dist/service/services/payment-method.service.js.map +1 -1
- package/dist/service/services/payment.service.d.ts +2 -3
- package/dist/service/services/payment.service.js +74 -20
- package/dist/service/services/payment.service.js.map +1 -1
- package/dist/service/services/product-option-group.service.js +19 -16
- package/dist/service/services/product-option-group.service.js.map +1 -1
- package/dist/service/services/product-option.service.d.ts +1 -1
- package/dist/service/services/product-option.service.js +11 -10
- package/dist/service/services/product-option.service.js.map +1 -1
- package/dist/service/services/product-variant.service.d.ts +4 -2
- package/dist/service/services/product-variant.service.js +51 -32
- package/dist/service/services/product-variant.service.js.map +1 -1
- package/dist/service/services/product.service.js +43 -36
- package/dist/service/services/product.service.js.map +1 -1
- package/dist/service/services/promotion.service.d.ts +7 -3
- package/dist/service/services/promotion.service.js +80 -55
- package/dist/service/services/promotion.service.js.map +1 -1
- package/dist/service/services/role.service.js +20 -16
- package/dist/service/services/role.service.js.map +1 -1
- package/dist/service/services/search.service.js +2 -2
- package/dist/service/services/search.service.js.map +1 -1
- package/dist/service/services/seller.service.d.ts +25 -0
- package/dist/service/services/seller.service.js +79 -0
- package/dist/service/services/seller.service.js.map +1 -0
- package/dist/service/services/session.service.d.ts +3 -3
- package/dist/service/services/session.service.js +22 -19
- package/dist/service/services/session.service.js.map +1 -1
- package/dist/service/services/shipping-method.service.js +15 -12
- package/dist/service/services/shipping-method.service.js.map +1 -1
- package/dist/service/services/stock-level.service.d.ts +43 -0
- package/dist/service/services/stock-level.service.js +125 -0
- package/dist/service/services/stock-level.service.js.map +1 -0
- package/dist/service/services/stock-location.service.d.ts +34 -0
- package/dist/service/services/stock-location.service.js +129 -0
- package/dist/service/services/stock-location.service.js.map +1 -0
- package/dist/service/services/stock-movement.service.d.ts +14 -13
- package/dist/service/services/stock-movement.service.js +128 -105
- package/dist/service/services/stock-movement.service.js.map +1 -1
- package/dist/service/services/tag.service.js +6 -3
- package/dist/service/services/tag.service.js.map +1 -1
- package/dist/service/services/tax-category.service.js +9 -6
- package/dist/service/services/tax-category.service.js.map +1 -1
- package/dist/service/services/tax-rate.service.d.ts +2 -2
- package/dist/service/services/tax-rate.service.js +14 -10
- package/dist/service/services/tax-rate.service.js.map +1 -1
- package/dist/service/services/user.service.js +26 -13
- package/dist/service/services/user.service.js.map +1 -1
- package/dist/service/services/zone.service.js +12 -10
- package/dist/service/services/zone.service.js.map +1 -1
- package/dist/worker/index.js +5 -1
- package/dist/worker/index.js.map +1 -1
- package/dist/worker/worker-health.service.js +2 -2
- package/dist/worker/worker-health.service.js.map +1 -1
- package/dist/worker/worker.module.js +1 -1
- package/dist/worker/worker.module.js.map +1 -1
- package/package.json +105 -103
- package/dist/api/resolvers/entity/order-item-entity.resolver.d.ts +0 -10
- package/dist/api/resolvers/entity/order-item-entity.resolver.js +0 -52
- package/dist/api/resolvers/entity/order-item-entity.resolver.js.map +0 -1
- package/dist/api/schema/admin-api/asset-admin.type.graphql +0 -3
- package/dist/config/entity-id-strategy/auto-increment-id-strategy.js.map +0 -1
- package/dist/config/entity-id-strategy/entity-id-strategy.js.map +0 -1
- package/dist/config/entity-id-strategy/uuid-id-strategy.js.map +0 -1
- package/dist/config/fulfillment/custom-fulfillment-process.js.map +0 -1
- package/dist/config/order/custom-order-process.js.map +0 -1
- package/dist/config/payment/custom-payment-process.js.map +0 -1
- package/dist/connection/remove-custom-fields-with-eager-relations.d.ts +0 -34
- package/dist/connection/remove-custom-fields-with-eager-relations.js +0 -58
- package/dist/connection/remove-custom-fields-with-eager-relations.js.map +0 -1
- package/dist/entity/order-item/order-item.entity.d.ts +0 -97
- package/dist/entity/order-item/order-item.entity.js +0 -228
- package/dist/entity/order-item/order-item.entity.js.map +0 -1
- package/dist/service/helpers/list-query-builder/parse-channel-param.d.ts +0 -9
- package/dist/service/helpers/list-query-builder/parse-channel-param.js +0 -22
- package/dist/service/helpers/list-query-builder/parse-channel-param.js.map +0 -1
- /package/dist/config/{entity-id-strategy → entity}/auto-increment-id-strategy.d.ts +0 -0
- /package/dist/config/{entity-id-strategy → entity}/auto-increment-id-strategy.js +0 -0
- /package/dist/config/{entity-id-strategy → entity}/entity-id-strategy.js +0 -0
- /package/dist/config/{entity-id-strategy → entity}/uuid-id-strategy.d.ts +0 -0
- /package/dist/config/{entity-id-strategy → entity}/uuid-id-strategy.js +0 -0
|
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.OrderService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const generated_types_1 = require("@vendure/common/lib/generated-types");
|
|
15
|
+
const omit_1 = require("@vendure/common/lib/omit");
|
|
15
16
|
const shared_utils_1 = require("@vendure/common/lib/shared-utils");
|
|
17
|
+
const typeorm_1 = require("typeorm");
|
|
16
18
|
const FindOptionsUtils_1 = require("typeorm/find-options/FindOptionsUtils");
|
|
17
19
|
const request_context_cache_service_1 = require("../../cache/request-context-cache.service");
|
|
18
20
|
const error_result_1 = require("../../common/error/error-result");
|
|
@@ -22,26 +24,19 @@ const generated_graphql_shop_errors_1 = require("../../common/error/generated-gr
|
|
|
22
24
|
const tax_utils_1 = require("../../common/tax-utils");
|
|
23
25
|
const utils_1 = require("../../common/utils");
|
|
24
26
|
const config_service_1 = require("../../config/config.service");
|
|
25
|
-
const remove_custom_fields_with_eager_relations_1 = require("../../connection/remove-custom-fields-with-eager-relations");
|
|
26
27
|
const transactional_connection_1 = require("../../connection/transactional-connection");
|
|
27
|
-
const
|
|
28
|
-
const index_1 = require("../../entity/index");
|
|
29
|
-
const order_item_entity_1 = require("../../entity/order-item/order-item.entity");
|
|
28
|
+
const order_entity_1 = require("../../entity/order/order.entity");
|
|
30
29
|
const order_line_entity_1 = require("../../entity/order-line/order-line.entity");
|
|
30
|
+
const fulfillment_line_entity_1 = require("../../entity/order-line-reference/fulfillment-line.entity");
|
|
31
31
|
const order_modification_entity_1 = require("../../entity/order-modification/order-modification.entity");
|
|
32
|
-
const order_entity_1 = require("../../entity/order/order.entity");
|
|
33
32
|
const payment_entity_1 = require("../../entity/payment/payment.entity");
|
|
34
33
|
const product_variant_entity_1 = require("../../entity/product-variant/product-variant.entity");
|
|
35
34
|
const refund_entity_1 = require("../../entity/refund/refund.entity");
|
|
35
|
+
const session_entity_1 = require("../../entity/session/session.entity");
|
|
36
36
|
const shipping_line_entity_1 = require("../../entity/shipping-line/shipping-line.entity");
|
|
37
|
-
const allocation_entity_1 = require("../../entity/stock-movement/allocation.entity");
|
|
38
37
|
const surcharge_entity_1 = require("../../entity/surcharge/surcharge.entity");
|
|
39
38
|
const event_bus_1 = require("../../event-bus/event-bus");
|
|
40
|
-
const
|
|
41
|
-
const index_3 = require("../../event-bus/index");
|
|
42
|
-
const index_4 = require("../../event-bus/index");
|
|
43
|
-
const index_5 = require("../../event-bus/index");
|
|
44
|
-
const index_6 = require("../../event-bus/index");
|
|
39
|
+
const index_1 = require("../../event-bus/index");
|
|
45
40
|
const custom_field_relation_service_1 = require("../helpers/custom-field-relation/custom-field-relation.service");
|
|
46
41
|
const list_query_builder_1 = require("../helpers/list-query-builder/list-query-builder");
|
|
47
42
|
const order_calculator_1 = require("../helpers/order-calculator/order-calculator");
|
|
@@ -63,6 +58,7 @@ const payment_method_service_1 = require("./payment-method.service");
|
|
|
63
58
|
const payment_service_1 = require("./payment.service");
|
|
64
59
|
const product_variant_service_1 = require("./product-variant.service");
|
|
65
60
|
const promotion_service_1 = require("./promotion.service");
|
|
61
|
+
const stock_level_service_1 = require("./stock-level.service");
|
|
66
62
|
const stock_movement_service_1 = require("./stock-movement.service");
|
|
67
63
|
/**
|
|
68
64
|
* @description
|
|
@@ -71,7 +67,7 @@ const stock_movement_service_1 = require("./stock-movement.service");
|
|
|
71
67
|
* @docsCategory services
|
|
72
68
|
*/
|
|
73
69
|
let OrderService = class OrderService {
|
|
74
|
-
constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService, paymentStateMachine, paymentMethodService, fulfillmentService, listQueryBuilder, stockMovementService, refundStateMachine, historyService, promotionService, eventBus, channelService, orderModifier, customFieldRelationService, requestCache, translator) {
|
|
70
|
+
constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService, paymentStateMachine, paymentMethodService, fulfillmentService, listQueryBuilder, stockMovementService, refundStateMachine, historyService, promotionService, eventBus, channelService, orderModifier, customFieldRelationService, requestCache, translator, stockLevelService) {
|
|
75
71
|
this.connection = connection;
|
|
76
72
|
this.configService = configService;
|
|
77
73
|
this.productVariantService = productVariantService;
|
|
@@ -96,6 +92,7 @@ let OrderService = class OrderService {
|
|
|
96
92
|
this.customFieldRelationService = customFieldRelationService;
|
|
97
93
|
this.requestCache = requestCache;
|
|
98
94
|
this.translator = translator;
|
|
95
|
+
this.stockLevelService = stockLevelService;
|
|
99
96
|
}
|
|
100
97
|
/**
|
|
101
98
|
* @description
|
|
@@ -117,7 +114,6 @@ let OrderService = class OrderService {
|
|
|
117
114
|
'lines',
|
|
118
115
|
'customer',
|
|
119
116
|
'lines.productVariant',
|
|
120
|
-
'lines.items',
|
|
121
117
|
'channels',
|
|
122
118
|
'shippingLines',
|
|
123
119
|
'payments',
|
|
@@ -138,13 +134,11 @@ let OrderService = class OrderService {
|
|
|
138
134
|
}
|
|
139
135
|
async findOne(ctx, orderId, relations) {
|
|
140
136
|
const qb = this.connection.getRepository(ctx, order_entity_1.Order).createQueryBuilder('order');
|
|
141
|
-
|
|
137
|
+
const effectiveRelations = relations !== null && relations !== void 0 ? relations : [
|
|
142
138
|
'channels',
|
|
143
139
|
'customer',
|
|
144
140
|
'customer.user',
|
|
145
141
|
'lines',
|
|
146
|
-
'lines.items',
|
|
147
|
-
'lines.items.fulfillments',
|
|
148
142
|
'lines.productVariant',
|
|
149
143
|
'lines.productVariant.taxCategory',
|
|
150
144
|
'lines.productVariant.productVariantPrices',
|
|
@@ -159,19 +153,14 @@ let OrderService = class OrderService {
|
|
|
159
153
|
!effectiveRelations.includes('lines.productVariant.taxCategory')) {
|
|
160
154
|
effectiveRelations.push('lines.productVariant.taxCategory');
|
|
161
155
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
relations: effectiveRelations,
|
|
165
|
-
});
|
|
166
|
-
qb.leftJoin('order.channels', 'channel')
|
|
156
|
+
qb.setFindOptions({ relations: effectiveRelations })
|
|
157
|
+
.leftJoin('order.channels', 'channel')
|
|
167
158
|
.where('order.id = :orderId', { orderId })
|
|
168
159
|
.andWhere('channel.id = :channelId', { channelId: ctx.channelId });
|
|
169
|
-
if (effectiveRelations.includes('lines')
|
|
170
|
-
qb.addOrderBy('
|
|
171
|
-
.addOrderBy('order__lines__items.createdAt', 'ASC')
|
|
172
|
-
.addOrderBy('order__lines.productVariantId', 'ASC');
|
|
160
|
+
if (effectiveRelations.includes('lines')) {
|
|
161
|
+
qb.addOrderBy(`order__order_lines.${qb.escape('createdAt')}`, 'ASC').addOrderBy(`order__order_lines.${qb.escape('productVariantId')}`, 'ASC');
|
|
173
162
|
}
|
|
174
|
-
//
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
175
164
|
FindOptionsUtils_1.FindOptionsUtils.joinEagerRelations(qb, qb.alias, qb.expressionMap.mainAlias.metadata);
|
|
176
165
|
const order = await qb.getOne();
|
|
177
166
|
if (order) {
|
|
@@ -201,13 +190,13 @@ let OrderService = class OrderService {
|
|
|
201
190
|
return order ? this.findOne(ctx, order.id, relations) : undefined;
|
|
202
191
|
}
|
|
203
192
|
async findByCustomerId(ctx, customerId, options, relations) {
|
|
204
|
-
const effectiveRelations = (relations !== null && relations !== void 0 ? relations : ['lines', '
|
|
193
|
+
const effectiveRelations = (relations !== null && relations !== void 0 ? relations : ['lines', 'customer', 'channels', 'shippingLines']).filter(r =>
|
|
205
194
|
// Don't join productVariant because it messes with the
|
|
206
195
|
// price calculation in certain edge-case field resolver scenarios
|
|
207
196
|
!r.includes('productVariant'));
|
|
208
197
|
return this.listQueryBuilder
|
|
209
198
|
.build(order_entity_1.Order, options, {
|
|
210
|
-
relations: relations !== null && relations !== void 0 ? relations : ['lines', '
|
|
199
|
+
relations: relations !== null && relations !== void 0 ? relations : ['lines', 'customer', 'channels', 'shippingLines'],
|
|
211
200
|
channelId: ctx.channelId,
|
|
212
201
|
ctx,
|
|
213
202
|
})
|
|
@@ -233,16 +222,6 @@ let OrderService = class OrderService {
|
|
|
233
222
|
},
|
|
234
223
|
});
|
|
235
224
|
}
|
|
236
|
-
/**
|
|
237
|
-
* @description
|
|
238
|
-
* Returns all OrderItems associated with the given {@link Refund}.
|
|
239
|
-
*/
|
|
240
|
-
async getRefundOrderItems(ctx, refundId) {
|
|
241
|
-
const refund = await this.connection.getEntityOrThrow(ctx, refund_entity_1.Refund, refundId, {
|
|
242
|
-
relations: ['orderItems'],
|
|
243
|
-
});
|
|
244
|
-
return refund.orderItems;
|
|
245
|
-
}
|
|
246
225
|
/**
|
|
247
226
|
* @description
|
|
248
227
|
* Returns an array of any {@link OrderModification} entities associated with the Order.
|
|
@@ -250,9 +229,9 @@ let OrderService = class OrderService {
|
|
|
250
229
|
getOrderModifications(ctx, orderId) {
|
|
251
230
|
return this.connection.getRepository(ctx, order_modification_entity_1.OrderModification).find({
|
|
252
231
|
where: {
|
|
253
|
-
order: orderId,
|
|
232
|
+
order: { id: orderId },
|
|
254
233
|
},
|
|
255
|
-
relations: ['
|
|
234
|
+
relations: ['lines', 'payment', 'refund', 'surcharges'],
|
|
256
235
|
});
|
|
257
236
|
}
|
|
258
237
|
/**
|
|
@@ -266,6 +245,30 @@ let OrderService = class OrderService {
|
|
|
266
245
|
},
|
|
267
246
|
});
|
|
268
247
|
}
|
|
248
|
+
getSellerOrders(ctx, order) {
|
|
249
|
+
return this.connection.getRepository(ctx, order_entity_1.Order).find({
|
|
250
|
+
where: {
|
|
251
|
+
aggregateOrderId: order.id,
|
|
252
|
+
},
|
|
253
|
+
relations: ['channels'],
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
async getAggregateOrder(ctx, order) {
|
|
257
|
+
return order.aggregateOrderId == null
|
|
258
|
+
? undefined
|
|
259
|
+
: this.connection
|
|
260
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
261
|
+
.findOne({ where: { id: order.aggregateOrderId }, relations: ['channels', 'lines'] })
|
|
262
|
+
.then(result => result !== null && result !== void 0 ? result : undefined);
|
|
263
|
+
}
|
|
264
|
+
getOrderChannels(ctx, order) {
|
|
265
|
+
return this.connection
|
|
266
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
267
|
+
.createQueryBuilder('order')
|
|
268
|
+
.relation('channels')
|
|
269
|
+
.of(order)
|
|
270
|
+
.loadMany();
|
|
271
|
+
}
|
|
269
272
|
/**
|
|
270
273
|
* @description
|
|
271
274
|
* Returns any Order associated with the specified User's Customer account
|
|
@@ -306,9 +309,9 @@ let OrderService = class OrderService {
|
|
|
306
309
|
}
|
|
307
310
|
await this.channelService.assignToCurrentChannel(newOrder, ctx);
|
|
308
311
|
const order = await this.connection.getRepository(ctx, order_entity_1.Order).save(newOrder);
|
|
309
|
-
this.eventBus.publish(new
|
|
312
|
+
this.eventBus.publish(new index_1.OrderEvent(ctx, order, 'created'));
|
|
310
313
|
const transitionResult = await this.transitionToState(ctx, order.id, 'AddingItems');
|
|
311
|
-
if (error_result_1.isGraphQlErrorResult(transitionResult)) {
|
|
314
|
+
if ((0, error_result_1.isGraphQlErrorResult)(transitionResult)) {
|
|
312
315
|
// this should never occur, so we will throw rather than return
|
|
313
316
|
throw transitionResult;
|
|
314
317
|
}
|
|
@@ -319,9 +322,9 @@ let OrderService = class OrderService {
|
|
|
319
322
|
newOrder.active = false;
|
|
320
323
|
await this.channelService.assignToCurrentChannel(newOrder, ctx);
|
|
321
324
|
const order = await this.connection.getRepository(ctx, order_entity_1.Order).save(newOrder);
|
|
322
|
-
this.eventBus.publish(new
|
|
325
|
+
this.eventBus.publish(new index_1.OrderEvent(ctx, order, 'created'));
|
|
323
326
|
const transitionResult = await this.transitionToState(ctx, order.id, 'Draft');
|
|
324
|
-
if (error_result_1.isGraphQlErrorResult(transitionResult)) {
|
|
327
|
+
if ((0, error_result_1.isGraphQlErrorResult)(transitionResult)) {
|
|
325
328
|
// this should never occur, so we will throw rather than return
|
|
326
329
|
throw transitionResult;
|
|
327
330
|
}
|
|
@@ -329,6 +332,7 @@ let OrderService = class OrderService {
|
|
|
329
332
|
}
|
|
330
333
|
async createEmptyOrderEntity(ctx) {
|
|
331
334
|
return new order_entity_1.Order({
|
|
335
|
+
type: generated_types_1.OrderType.Regular,
|
|
332
336
|
code: await this.configService.orderOptions.orderCodeStrategy.generate(ctx),
|
|
333
337
|
state: this.orderStateMachine.getInitialState(),
|
|
334
338
|
lines: [],
|
|
@@ -339,7 +343,7 @@ let OrderService = class OrderService {
|
|
|
339
343
|
billingAddress: {},
|
|
340
344
|
subTotal: 0,
|
|
341
345
|
subTotalWithTax: 0,
|
|
342
|
-
currencyCode: ctx.
|
|
346
|
+
currencyCode: ctx.currencyCode,
|
|
343
347
|
});
|
|
344
348
|
}
|
|
345
349
|
/**
|
|
@@ -348,10 +352,10 @@ let OrderService = class OrderService {
|
|
|
348
352
|
*/
|
|
349
353
|
async updateCustomFields(ctx, orderId, customFields) {
|
|
350
354
|
let order = await this.getOrderOrThrow(ctx, orderId);
|
|
351
|
-
order = patch_entity_1.patchEntity(order, { customFields });
|
|
355
|
+
order = (0, patch_entity_1.patchEntity)(order, { customFields });
|
|
352
356
|
await this.customFieldRelationService.updateRelations(ctx, order_entity_1.Order, { customFields }, order);
|
|
353
357
|
const updatedOrder = await this.connection.getRepository(ctx, order_entity_1.Order).save(order);
|
|
354
|
-
this.eventBus.publish(new
|
|
358
|
+
this.eventBus.publish(new index_1.OrderEvent(ctx, updatedOrder, 'updated'));
|
|
355
359
|
return updatedOrder;
|
|
356
360
|
}
|
|
357
361
|
/**
|
|
@@ -373,7 +377,7 @@ let OrderService = class OrderService {
|
|
|
373
377
|
relations: ['product'],
|
|
374
378
|
where: {
|
|
375
379
|
enabled: true,
|
|
376
|
-
deletedAt:
|
|
380
|
+
deletedAt: (0, typeorm_1.IsNull)(),
|
|
377
381
|
},
|
|
378
382
|
});
|
|
379
383
|
if (variant.product.enabled === false) {
|
|
@@ -381,7 +385,7 @@ let OrderService = class OrderService {
|
|
|
381
385
|
}
|
|
382
386
|
const correctedQuantity = await this.orderModifier.constrainQuantityToSaleable(ctx, variant, quantity, existingOrderLine === null || existingOrderLine === void 0 ? void 0 : existingOrderLine.quantity);
|
|
383
387
|
if (correctedQuantity === 0) {
|
|
384
|
-
return new generated_graphql_shop_errors_1.InsufficientStockError(
|
|
388
|
+
return new generated_graphql_shop_errors_1.InsufficientStockError({ order, quantityAvailable: correctedQuantity });
|
|
385
389
|
}
|
|
386
390
|
const orderLine = await this.orderModifier.getOrCreateOrderLine(ctx, order, productVariantId, customFields);
|
|
387
391
|
if (correctedQuantity < quantity) {
|
|
@@ -394,7 +398,7 @@ let OrderService = class OrderService {
|
|
|
394
398
|
const quantityWasAdjustedDown = correctedQuantity < quantity;
|
|
395
399
|
const updatedOrder = await this.applyPriceAdjustments(ctx, order, [orderLine]);
|
|
396
400
|
if (quantityWasAdjustedDown) {
|
|
397
|
-
return new generated_graphql_shop_errors_1.InsufficientStockError(correctedQuantity, updatedOrder);
|
|
401
|
+
return new generated_graphql_shop_errors_1.InsufficientStockError({ quantityAvailable: correctedQuantity, order: updatedOrder });
|
|
398
402
|
}
|
|
399
403
|
else {
|
|
400
404
|
return updatedOrder;
|
|
@@ -421,9 +425,9 @@ let OrderService = class OrderService {
|
|
|
421
425
|
const correctedQuantity = await this.orderModifier.constrainQuantityToSaleable(ctx, orderLine.productVariant, quantity);
|
|
422
426
|
let updatedOrderLines = [orderLine];
|
|
423
427
|
if (correctedQuantity === 0) {
|
|
424
|
-
order.lines = order.lines.filter(l => !utils_1.idsAreEqual(l.id, orderLine.id));
|
|
428
|
+
order.lines = order.lines.filter(l => !(0, utils_1.idsAreEqual)(l.id, orderLine.id));
|
|
425
429
|
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
|
|
426
|
-
this.eventBus.publish(new
|
|
430
|
+
this.eventBus.publish(new index_1.OrderLineEvent(ctx, order, orderLine, 'deleted'));
|
|
427
431
|
updatedOrderLines = [];
|
|
428
432
|
}
|
|
429
433
|
else {
|
|
@@ -432,7 +436,7 @@ let OrderService = class OrderService {
|
|
|
432
436
|
const quantityWasAdjustedDown = correctedQuantity < quantity;
|
|
433
437
|
const updatedOrder = await this.applyPriceAdjustments(ctx, order, updatedOrderLines);
|
|
434
438
|
if (quantityWasAdjustedDown) {
|
|
435
|
-
return new generated_graphql_shop_errors_1.InsufficientStockError(correctedQuantity, updatedOrder);
|
|
439
|
+
return new generated_graphql_shop_errors_1.InsufficientStockError({ quantityAvailable: correctedQuantity, order: updatedOrder });
|
|
436
440
|
}
|
|
437
441
|
else {
|
|
438
442
|
return updatedOrder;
|
|
@@ -449,10 +453,10 @@ let OrderService = class OrderService {
|
|
|
449
453
|
return validationError;
|
|
450
454
|
}
|
|
451
455
|
const orderLine = this.getOrderLineOrThrow(order, orderLineId);
|
|
452
|
-
order.lines = order.lines.filter(line => !utils_1.idsAreEqual(line.id, orderLineId));
|
|
456
|
+
order.lines = order.lines.filter(line => !(0, utils_1.idsAreEqual)(line.id, orderLineId));
|
|
453
457
|
const updatedOrder = await this.applyPriceAdjustments(ctx, order);
|
|
454
458
|
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
|
|
455
|
-
this.eventBus.publish(new
|
|
459
|
+
this.eventBus.publish(new index_1.OrderLineEvent(ctx, order, orderLine, 'deleted'));
|
|
456
460
|
return updatedOrder;
|
|
457
461
|
}
|
|
458
462
|
/**
|
|
@@ -488,8 +492,8 @@ let OrderService = class OrderService {
|
|
|
488
492
|
async removeSurchargeFromOrder(ctx, orderId, surchargeId) {
|
|
489
493
|
const order = await this.getOrderOrThrow(ctx, orderId);
|
|
490
494
|
const surcharge = await this.connection.getEntityOrThrow(ctx, surcharge_entity_1.Surcharge, surchargeId);
|
|
491
|
-
if (order.surcharges.find(s => utils_1.idsAreEqual(s.id, surcharge.id))) {
|
|
492
|
-
order.surcharges = order.surcharges.filter(s => !utils_1.idsAreEqual(s.id, surchargeId));
|
|
495
|
+
if (order.surcharges.find(s => (0, utils_1.idsAreEqual)(s.id, surcharge.id))) {
|
|
496
|
+
order.surcharges = order.surcharges.filter(s => !(0, utils_1.idsAreEqual)(s.id, surchargeId));
|
|
493
497
|
const updatedOrder = await this.applyPriceAdjustments(ctx, order);
|
|
494
498
|
await this.connection.getRepository(ctx, surcharge_entity_1.Surcharge).remove(surcharge);
|
|
495
499
|
return updatedOrder;
|
|
@@ -509,7 +513,7 @@ let OrderService = class OrderService {
|
|
|
509
513
|
return order;
|
|
510
514
|
}
|
|
511
515
|
const validationResult = await this.promotionService.validateCouponCode(ctx, couponCode, order.customer && order.customer.id);
|
|
512
|
-
if (error_result_1.isGraphQlErrorResult(validationResult)) {
|
|
516
|
+
if ((0, error_result_1.isGraphQlErrorResult)(validationResult)) {
|
|
513
517
|
return validationResult;
|
|
514
518
|
}
|
|
515
519
|
order.couponCodes.push(couponCode);
|
|
@@ -519,7 +523,7 @@ let OrderService = class OrderService {
|
|
|
519
523
|
type: generated_types_1.HistoryEntryType.ORDER_COUPON_APPLIED,
|
|
520
524
|
data: { couponCode, promotionId: validationResult.id },
|
|
521
525
|
});
|
|
522
|
-
this.eventBus.publish(new
|
|
526
|
+
this.eventBus.publish(new index_1.CouponCodeEvent(ctx, couponCode, orderId, 'assigned'));
|
|
523
527
|
return this.applyPriceAdjustments(ctx, order);
|
|
524
528
|
}
|
|
525
529
|
/**
|
|
@@ -531,10 +535,8 @@ let OrderService = class OrderService {
|
|
|
531
535
|
if (order.couponCodes.includes(couponCode)) {
|
|
532
536
|
// When removing a couponCode which has triggered an Order-level discount
|
|
533
537
|
// we need to make sure we persist the changes to the adjustments array of
|
|
534
|
-
// any affected
|
|
535
|
-
const
|
|
536
|
-
.reduce((items, l) => [...items, ...l.items], [])
|
|
537
|
-
.filter(i => i.adjustments.filter(a => a.type === generated_types_1.AdjustmentType.DISTRIBUTED_ORDER_PROMOTION)
|
|
538
|
+
// any affected OrderLines.
|
|
539
|
+
const affectedOrderLines = order.lines.filter(line => line.adjustments.filter(a => a.type === generated_types_1.AdjustmentType.DISTRIBUTED_ORDER_PROMOTION)
|
|
538
540
|
.length);
|
|
539
541
|
order.couponCodes = order.couponCodes.filter(cc => cc !== couponCode);
|
|
540
542
|
await this.historyService.createHistoryEntryForOrder({
|
|
@@ -543,9 +545,9 @@ let OrderService = class OrderService {
|
|
|
543
545
|
type: generated_types_1.HistoryEntryType.ORDER_COUPON_REMOVED,
|
|
544
546
|
data: { couponCode },
|
|
545
547
|
});
|
|
546
|
-
this.eventBus.publish(new
|
|
548
|
+
this.eventBus.publish(new index_1.CouponCodeEvent(ctx, couponCode, orderId, 'removed'));
|
|
547
549
|
const result = await this.applyPriceAdjustments(ctx, order);
|
|
548
|
-
await this.connection.getRepository(ctx,
|
|
550
|
+
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).save(affectedOrderLines);
|
|
549
551
|
return result;
|
|
550
552
|
}
|
|
551
553
|
else {
|
|
@@ -562,7 +564,7 @@ let OrderService = class OrderService {
|
|
|
562
564
|
channelId: ctx.channelId,
|
|
563
565
|
relations: ['promotions'],
|
|
564
566
|
});
|
|
565
|
-
return order.promotions || [];
|
|
567
|
+
return order.promotions.map(p => this.translator.translate(p, ctx)) || [];
|
|
566
568
|
}
|
|
567
569
|
/**
|
|
568
570
|
* @description
|
|
@@ -584,7 +586,8 @@ let OrderService = class OrderService {
|
|
|
584
586
|
.createQueryBuilder('order')
|
|
585
587
|
.update(order_entity_1.Order)
|
|
586
588
|
.set({ shippingAddress })
|
|
587
|
-
.where('id = :id', { id: order.id })
|
|
589
|
+
.where('id = :id', { id: order.id })
|
|
590
|
+
.execute();
|
|
588
591
|
order.shippingAddress = shippingAddress;
|
|
589
592
|
// Since a changed ShippingAddress could alter the activeTaxZone,
|
|
590
593
|
// we will remove any cached activeTaxZone, so it can be re-calculated
|
|
@@ -605,7 +608,8 @@ let OrderService = class OrderService {
|
|
|
605
608
|
.createQueryBuilder('order')
|
|
606
609
|
.update(order_entity_1.Order)
|
|
607
610
|
.set({ billingAddress })
|
|
608
|
-
.where('id = :id', { id: order.id })
|
|
611
|
+
.where('id = :id', { id: order.id })
|
|
612
|
+
.execute();
|
|
609
613
|
order.billingAddress = billingAddress;
|
|
610
614
|
// Since a changed BillingAddress could alter the activeTaxZone,
|
|
611
615
|
// we will remove any cached activeTaxZone, so it can be re-calculated
|
|
@@ -628,8 +632,8 @@ let OrderService = class OrderService {
|
|
|
628
632
|
const { price, taxRate, priceIncludesTax, metadata } = eligible.result;
|
|
629
633
|
return {
|
|
630
634
|
id: eligible.method.id,
|
|
631
|
-
price: priceIncludesTax ? tax_utils_1.netPriceOf(price, taxRate) : price,
|
|
632
|
-
priceWithTax: priceIncludesTax ? price : tax_utils_1.grossPriceOf(price, taxRate),
|
|
635
|
+
price: priceIncludesTax ? (0, tax_utils_1.netPriceOf)(price, taxRate) : price,
|
|
636
|
+
priceWithTax: priceIncludesTax ? price : (0, tax_utils_1.grossPriceOf)(price, taxRate),
|
|
633
637
|
description: eligible.method.description,
|
|
634
638
|
name: eligible.method.name,
|
|
635
639
|
code: eligible.method.code,
|
|
@@ -650,32 +654,61 @@ let OrderService = class OrderService {
|
|
|
650
654
|
* @description
|
|
651
655
|
* Sets the ShippingMethod to be used on this Order.
|
|
652
656
|
*/
|
|
653
|
-
async setShippingMethod(ctx, orderId,
|
|
657
|
+
async setShippingMethod(ctx, orderId, shippingMethodIds) {
|
|
654
658
|
const order = await this.getOrderOrThrow(ctx, orderId);
|
|
655
659
|
const validationError = this.assertAddingItemsState(order);
|
|
656
660
|
if (validationError) {
|
|
657
661
|
return validationError;
|
|
658
662
|
}
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
663
|
+
for (const [i, shippingMethodId] of shippingMethodIds.entries()) {
|
|
664
|
+
const shippingMethod = await this.shippingCalculator.getMethodIfEligible(ctx, order, shippingMethodId);
|
|
665
|
+
if (!shippingMethod) {
|
|
666
|
+
return new generated_graphql_shop_errors_1.IneligibleShippingMethodError();
|
|
667
|
+
}
|
|
668
|
+
let shippingLine = order.shippingLines[i];
|
|
669
|
+
if (shippingLine) {
|
|
670
|
+
shippingLine.shippingMethod = shippingMethod;
|
|
671
|
+
}
|
|
672
|
+
else {
|
|
673
|
+
shippingLine = await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(new shipping_line_entity_1.ShippingLine({
|
|
674
|
+
shippingMethod,
|
|
675
|
+
order,
|
|
676
|
+
adjustments: [],
|
|
677
|
+
listPrice: 0,
|
|
678
|
+
listPriceIncludesTax: ctx.channel.pricesIncludeTax,
|
|
679
|
+
taxLines: [],
|
|
680
|
+
}));
|
|
681
|
+
if (order.shippingLines) {
|
|
682
|
+
order.shippingLines.push(shippingLine);
|
|
683
|
+
}
|
|
684
|
+
else {
|
|
685
|
+
order.shippingLines = [shippingLine];
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(shippingLine);
|
|
662
689
|
}
|
|
663
|
-
|
|
664
|
-
if (
|
|
665
|
-
|
|
690
|
+
// remove any now-unused ShippingLines
|
|
691
|
+
if (shippingMethodIds.length < order.shippingLines.length) {
|
|
692
|
+
const shippingLinesToDelete = order.shippingLines.splice(shippingMethodIds.length - 1);
|
|
693
|
+
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).remove(shippingLinesToDelete);
|
|
666
694
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
695
|
+
// assign the ShippingLines to the OrderLines
|
|
696
|
+
await this.connection
|
|
697
|
+
.getRepository(ctx, order_line_entity_1.OrderLine)
|
|
698
|
+
.createQueryBuilder('line')
|
|
699
|
+
.update({ shippingLine: undefined })
|
|
700
|
+
.whereInIds(order.lines.map(l => l.id))
|
|
701
|
+
.execute();
|
|
702
|
+
const { shippingLineAssignmentStrategy } = this.configService.shippingOptions;
|
|
703
|
+
for (const shippingLine of order.shippingLines) {
|
|
704
|
+
const orderLinesForShippingLine = await shippingLineAssignmentStrategy.assignShippingLineToOrderLines(ctx, shippingLine, order);
|
|
705
|
+
await this.connection
|
|
706
|
+
.getRepository(ctx, order_line_entity_1.OrderLine)
|
|
707
|
+
.createQueryBuilder('line')
|
|
708
|
+
.update({ shippingLine })
|
|
709
|
+
.whereInIds(orderLinesForShippingLine.map(l => l.id))
|
|
710
|
+
.execute();
|
|
677
711
|
}
|
|
678
|
-
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(shippingLine);
|
|
679
712
|
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
680
713
|
await this.applyPriceAdjustments(ctx, order);
|
|
681
714
|
return this.connection.getRepository(ctx, order_entity_1.Order).save(order);
|
|
@@ -688,15 +721,19 @@ let OrderService = class OrderService {
|
|
|
688
721
|
const order = await this.getOrderOrThrow(ctx, orderId);
|
|
689
722
|
order.payments = await this.getOrderPayments(ctx, orderId);
|
|
690
723
|
const fromState = order.state;
|
|
724
|
+
let finalize;
|
|
691
725
|
try {
|
|
692
|
-
await this.orderStateMachine.transition(ctx, order, state);
|
|
726
|
+
const result = await this.orderStateMachine.transition(ctx, order, state);
|
|
727
|
+
finalize = result.finalize;
|
|
693
728
|
}
|
|
694
729
|
catch (e) {
|
|
695
730
|
const transitionError = ctx.translate(e.message, { fromState, toState: state });
|
|
696
|
-
return new generated_graphql_shop_errors_1.OrderStateTransitionError(transitionError, fromState, state);
|
|
731
|
+
return new generated_graphql_shop_errors_1.OrderStateTransitionError({ transitionError, fromState, toState: state });
|
|
697
732
|
}
|
|
698
733
|
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
699
|
-
this.eventBus.publish(new
|
|
734
|
+
this.eventBus.publish(new index_1.OrderStateTransitionEvent(fromState, state, ctx, order));
|
|
735
|
+
await finalize();
|
|
736
|
+
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
700
737
|
return order;
|
|
701
738
|
}
|
|
702
739
|
/**
|
|
@@ -706,17 +743,10 @@ let OrderService = class OrderService {
|
|
|
706
743
|
*/
|
|
707
744
|
async transitionFulfillmentToState(ctx, fulfillmentId, state) {
|
|
708
745
|
const result = await this.fulfillmentService.transitionToState(ctx, fulfillmentId, state);
|
|
709
|
-
if (error_result_1.isGraphQlErrorResult(result)) {
|
|
746
|
+
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
710
747
|
return result;
|
|
711
748
|
}
|
|
712
|
-
|
|
713
|
-
if (toState === 'Cancelled') {
|
|
714
|
-
await this.stockMovementService.createCancellationsForOrderItems(ctx, fulfillment.orderItems);
|
|
715
|
-
const lines = await this.groupOrderItemsIntoLines(ctx, fulfillment.orderItems);
|
|
716
|
-
await this.stockMovementService.createAllocationsForOrderLines(ctx, lines);
|
|
717
|
-
}
|
|
718
|
-
await Promise.all(orders.map(order => this.handleFulfillmentStateTransitByOrder(ctx, order, fromState, toState)));
|
|
719
|
-
return fulfillment;
|
|
749
|
+
return result.fulfillment;
|
|
720
750
|
}
|
|
721
751
|
/**
|
|
722
752
|
* @description
|
|
@@ -736,7 +766,7 @@ let OrderService = class OrderService {
|
|
|
736
766
|
async modifyOrder(ctx, input) {
|
|
737
767
|
const order = await this.getOrderOrThrow(ctx, input.orderId);
|
|
738
768
|
const result = await this.orderModifier.modifyOrder(ctx, input, order);
|
|
739
|
-
if (error_result_1.isGraphQlErrorResult(result)) {
|
|
769
|
+
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
740
770
|
return result;
|
|
741
771
|
}
|
|
742
772
|
if (input.dryRun) {
|
|
@@ -752,28 +782,6 @@ let OrderService = class OrderService {
|
|
|
752
782
|
});
|
|
753
783
|
return this.getOrderOrThrow(ctx, input.orderId);
|
|
754
784
|
}
|
|
755
|
-
async handleFulfillmentStateTransitByOrder(ctx, order, fromState, toState) {
|
|
756
|
-
const nextOrderStates = this.getNextOrderStates(order);
|
|
757
|
-
const transitionOrderIfStateAvailable = (state) => nextOrderStates.includes(state) && this.transitionToState(ctx, order.id, state);
|
|
758
|
-
if (toState === 'Shipped') {
|
|
759
|
-
const orderWithFulfillment = await this.getOrderWithFulfillments(ctx, order.id);
|
|
760
|
-
if (order_utils_1.orderItemsAreShipped(orderWithFulfillment)) {
|
|
761
|
-
await transitionOrderIfStateAvailable('Shipped');
|
|
762
|
-
}
|
|
763
|
-
else {
|
|
764
|
-
await transitionOrderIfStateAvailable('PartiallyShipped');
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
if (toState === 'Delivered') {
|
|
768
|
-
const orderWithFulfillment = await this.getOrderWithFulfillments(ctx, order.id);
|
|
769
|
-
if (order_utils_1.orderItemsAreDelivered(orderWithFulfillment)) {
|
|
770
|
-
await transitionOrderIfStateAvailable('Delivered');
|
|
771
|
-
}
|
|
772
|
-
else {
|
|
773
|
-
await transitionOrderIfStateAvailable('PartiallyDelivered');
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
785
|
/**
|
|
778
786
|
* @description
|
|
779
787
|
* Transitions the given {@link Payment} to a new state. If the order totalWithTax price is then
|
|
@@ -782,14 +790,9 @@ let OrderService = class OrderService {
|
|
|
782
790
|
*/
|
|
783
791
|
async transitionPaymentToState(ctx, paymentId, state) {
|
|
784
792
|
const result = await this.paymentService.transitionToState(ctx, paymentId, state);
|
|
785
|
-
if (error_result_1.isGraphQlErrorResult(result)) {
|
|
793
|
+
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
786
794
|
return result;
|
|
787
795
|
}
|
|
788
|
-
const order = await this.findOne(ctx, result.order.id);
|
|
789
|
-
if (order) {
|
|
790
|
-
order.payments = await this.getOrderPayments(ctx, order.id);
|
|
791
|
-
await this.transitionOrderIfTotalIsCovered(ctx, order);
|
|
792
|
-
}
|
|
793
796
|
return result;
|
|
794
797
|
}
|
|
795
798
|
/**
|
|
@@ -803,21 +806,24 @@ let OrderService = class OrderService {
|
|
|
803
806
|
return new generated_graphql_shop_errors_1.OrderPaymentStateError();
|
|
804
807
|
}
|
|
805
808
|
order.payments = await this.getOrderPayments(ctx, order.id);
|
|
806
|
-
const amountToPay = order.totalWithTax - order_utils_1.totalCoveredByPayments(order);
|
|
809
|
+
const amountToPay = order.totalWithTax - (0, order_utils_1.totalCoveredByPayments)(order);
|
|
807
810
|
const payment = await this.paymentService.createPayment(ctx, order, amountToPay, input.method, input.metadata);
|
|
808
|
-
if (error_result_1.isGraphQlErrorResult(payment)) {
|
|
811
|
+
if ((0, error_result_1.isGraphQlErrorResult)(payment)) {
|
|
809
812
|
return payment;
|
|
810
813
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
+
await this.connection
|
|
815
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
816
|
+
.createQueryBuilder()
|
|
817
|
+
.relation('payments')
|
|
818
|
+
.of(order)
|
|
819
|
+
.add(payment);
|
|
814
820
|
if (payment.state === 'Error') {
|
|
815
|
-
return new generated_graphql_shop_errors_1.PaymentFailedError(payment.errorMessage || '');
|
|
821
|
+
return new generated_graphql_shop_errors_1.PaymentFailedError({ paymentErrorMessage: payment.errorMessage || '' });
|
|
816
822
|
}
|
|
817
823
|
if (payment.state === 'Declined') {
|
|
818
|
-
return new generated_graphql_shop_errors_1.PaymentDeclinedError(payment.errorMessage || '');
|
|
824
|
+
return new generated_graphql_shop_errors_1.PaymentDeclinedError({ paymentErrorMessage: payment.errorMessage || '' });
|
|
819
825
|
}
|
|
820
|
-
return this.
|
|
826
|
+
return (0, utils_1.assertFound)(this.findOne(ctx, order.id));
|
|
821
827
|
}
|
|
822
828
|
/**
|
|
823
829
|
* @description
|
|
@@ -833,16 +839,6 @@ let OrderService = class OrderService {
|
|
|
833
839
|
const canTransitionToPaymentSettled = this.orderStateMachine.canTransition(order.state, 'PaymentSettled');
|
|
834
840
|
return canTransitionToPaymentAuthorized && canTransitionToPaymentSettled;
|
|
835
841
|
}
|
|
836
|
-
async transitionOrderIfTotalIsCovered(ctx, order) {
|
|
837
|
-
const orderId = order.id;
|
|
838
|
-
if (order_utils_1.orderTotalIsCovered(order, 'Settled') && order.state !== 'PaymentSettled') {
|
|
839
|
-
return this.transitionToState(ctx, orderId, 'PaymentSettled');
|
|
840
|
-
}
|
|
841
|
-
if (order_utils_1.orderTotalIsCovered(order, ['Authorized', 'Settled']) && order.state !== 'PaymentAuthorized') {
|
|
842
|
-
return this.transitionToState(ctx, orderId, 'PaymentAuthorized');
|
|
843
|
-
}
|
|
844
|
-
return order;
|
|
845
|
-
}
|
|
846
842
|
/**
|
|
847
843
|
* @description
|
|
848
844
|
* This method is used after modifying an existing completed order using the `modifyOrder()` method. If the modifications
|
|
@@ -859,11 +855,11 @@ let OrderService = class OrderService {
|
|
|
859
855
|
}
|
|
860
856
|
const existingPayments = await this.getOrderPayments(ctx, order.id);
|
|
861
857
|
order.payments = existingPayments;
|
|
862
|
-
const amount = order.totalWithTax - order_utils_1.totalCoveredByPayments(order);
|
|
858
|
+
const amount = order.totalWithTax - (0, order_utils_1.totalCoveredByPayments)(order);
|
|
863
859
|
const modifications = await this.getOrderModifications(ctx, order.id);
|
|
864
860
|
const unsettledModifications = modifications.filter(m => !m.isSettled);
|
|
865
861
|
if (0 < unsettledModifications.length) {
|
|
866
|
-
const outstandingModificationsTotal = shared_utils_1.summate(unsettledModifications, 'priceChange');
|
|
862
|
+
const outstandingModificationsTotal = (0, shared_utils_1.summate)(unsettledModifications, 'priceChange');
|
|
867
863
|
if (outstandingModificationsTotal !== amount) {
|
|
868
864
|
throw new errors_1.InternalServerError(`The outstanding order amount (${amount}) should equal the unsettled OrderModifications total (${outstandingModificationsTotal})`);
|
|
869
865
|
}
|
|
@@ -875,7 +871,7 @@ let OrderService = class OrderService {
|
|
|
875
871
|
modification.payment = payment;
|
|
876
872
|
await this.connection.getRepository(ctx, order_modification_entity_1.OrderModification).save(modification);
|
|
877
873
|
}
|
|
878
|
-
return order;
|
|
874
|
+
return (0, utils_1.assertFound)(this.findOne(ctx, order.id));
|
|
879
875
|
}
|
|
880
876
|
/**
|
|
881
877
|
* @description
|
|
@@ -884,17 +880,9 @@ let OrderService = class OrderService {
|
|
|
884
880
|
*/
|
|
885
881
|
async settlePayment(ctx, paymentId) {
|
|
886
882
|
const payment = await this.paymentService.settlePayment(ctx, paymentId);
|
|
887
|
-
if (!error_result_1.isGraphQlErrorResult(payment)) {
|
|
883
|
+
if (!(0, error_result_1.isGraphQlErrorResult)(payment)) {
|
|
888
884
|
if (payment.state !== 'Settled') {
|
|
889
|
-
return new generated_graphql_admin_errors_1.SettlePaymentError(payment.errorMessage || '');
|
|
890
|
-
}
|
|
891
|
-
const order = await this.findOne(ctx, payment.order.id);
|
|
892
|
-
if (order) {
|
|
893
|
-
order.payments = await this.getOrderPayments(ctx, order.id);
|
|
894
|
-
const orderTransitionResult = await this.transitionOrderIfTotalIsCovered(ctx, order);
|
|
895
|
-
if (error_result_1.isGraphQlErrorResult(orderTransitionResult)) {
|
|
896
|
-
return orderTransitionResult;
|
|
897
|
-
}
|
|
885
|
+
return new generated_graphql_admin_errors_1.SettlePaymentError({ paymentErrorMessage: payment.errorMessage || '' });
|
|
898
886
|
}
|
|
899
887
|
}
|
|
900
888
|
return payment;
|
|
@@ -906,9 +894,9 @@ let OrderService = class OrderService {
|
|
|
906
894
|
*/
|
|
907
895
|
async cancelPayment(ctx, paymentId) {
|
|
908
896
|
const payment = await this.paymentService.cancelPayment(ctx, paymentId);
|
|
909
|
-
if (!error_result_1.isGraphQlErrorResult(payment)) {
|
|
897
|
+
if (!(0, error_result_1.isGraphQlErrorResult)(payment)) {
|
|
910
898
|
if (payment.state !== 'Cancelled') {
|
|
911
|
-
return new generated_graphql_admin_errors_1.CancelPaymentError(payment.errorMessage || '');
|
|
899
|
+
return new generated_graphql_admin_errors_1.CancelPaymentError({ paymentErrorMessage: payment.errorMessage || '' });
|
|
912
900
|
}
|
|
913
901
|
}
|
|
914
902
|
return payment;
|
|
@@ -918,23 +906,28 @@ let OrderService = class OrderService {
|
|
|
918
906
|
* Creates a new Fulfillment associated with the given Order and OrderItems.
|
|
919
907
|
*/
|
|
920
908
|
async createFulfillment(ctx, input) {
|
|
921
|
-
if (!input.lines || input.lines.length === 0 || shared_utils_1.summate(input.lines, 'quantity') === 0) {
|
|
909
|
+
if (!input.lines || input.lines.length === 0 || (0, shared_utils_1.summate)(input.lines, 'quantity') === 0) {
|
|
922
910
|
return new generated_graphql_admin_errors_1.EmptyOrderLineSelectionError();
|
|
923
911
|
}
|
|
924
|
-
const
|
|
925
|
-
if (
|
|
912
|
+
const orders = await (0, order_utils_1.getOrdersFromLines)(ctx, this.connection, input.lines);
|
|
913
|
+
if (await this.requestedFulfillmentQuantityExceedsLineQuantity(ctx, input)) {
|
|
926
914
|
return new generated_graphql_admin_errors_1.ItemsAlreadyFulfilledError();
|
|
927
915
|
}
|
|
928
916
|
const stockCheckResult = await this.ensureSufficientStockForFulfillment(ctx, input);
|
|
929
|
-
if (error_result_1.isGraphQlErrorResult(stockCheckResult)) {
|
|
917
|
+
if ((0, error_result_1.isGraphQlErrorResult)(stockCheckResult)) {
|
|
930
918
|
return stockCheckResult;
|
|
931
919
|
}
|
|
932
|
-
const fulfillment = await this.fulfillmentService.create(ctx,
|
|
933
|
-
if (error_result_1.isGraphQlErrorResult(fulfillment)) {
|
|
920
|
+
const fulfillment = await this.fulfillmentService.create(ctx, orders, input.lines, input.handler);
|
|
921
|
+
if ((0, error_result_1.isGraphQlErrorResult)(fulfillment)) {
|
|
934
922
|
return fulfillment;
|
|
935
923
|
}
|
|
936
|
-
await this.
|
|
937
|
-
|
|
924
|
+
await this.connection
|
|
925
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
926
|
+
.createQueryBuilder()
|
|
927
|
+
.relation('fulfillments')
|
|
928
|
+
.of(orders)
|
|
929
|
+
.add(fulfillment);
|
|
930
|
+
for (const order of orders) {
|
|
938
931
|
await this.historyService.createHistoryEntryForOrder({
|
|
939
932
|
ctx,
|
|
940
933
|
orderId: order.id,
|
|
@@ -945,20 +938,51 @@ let OrderService = class OrderService {
|
|
|
945
938
|
});
|
|
946
939
|
}
|
|
947
940
|
const result = await this.fulfillmentService.transitionToState(ctx, fulfillment.id, 'Pending');
|
|
948
|
-
if (error_result_1.isGraphQlErrorResult(result)) {
|
|
941
|
+
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
949
942
|
return result;
|
|
950
943
|
}
|
|
951
944
|
return result.fulfillment;
|
|
952
945
|
}
|
|
946
|
+
async requestedFulfillmentQuantityExceedsLineQuantity(ctx, input) {
|
|
947
|
+
var _a;
|
|
948
|
+
const linesToBeFulfilled = await this.connection
|
|
949
|
+
.getRepository(ctx, fulfillment_line_entity_1.FulfillmentLine)
|
|
950
|
+
.createQueryBuilder('fulfillmentLine')
|
|
951
|
+
.leftJoinAndSelect('fulfillmentLine.orderLine', 'orderLine')
|
|
952
|
+
.leftJoinAndSelect('fulfillmentLine.fulfillment', 'fulfillment')
|
|
953
|
+
.where('fulfillmentLine.orderLineId IN (:...orderLineIds)', {
|
|
954
|
+
orderLineIds: input.lines.map(l => l.orderLineId),
|
|
955
|
+
})
|
|
956
|
+
.andWhere('fulfillment.state != :state', { state: 'Cancelled' })
|
|
957
|
+
.getMany();
|
|
958
|
+
for (const lineToBeFulfilled of linesToBeFulfilled) {
|
|
959
|
+
const unfulfilledQuantity = lineToBeFulfilled.orderLine.quantity - lineToBeFulfilled.quantity;
|
|
960
|
+
const lineInput = input.lines.find(l => (0, utils_1.idsAreEqual)(l.orderLineId, lineToBeFulfilled.orderLine.id));
|
|
961
|
+
if (unfulfilledQuantity < ((_a = lineInput === null || lineInput === void 0 ? void 0 : lineInput.quantity) !== null && _a !== void 0 ? _a : 0)) {
|
|
962
|
+
return true;
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
return false;
|
|
966
|
+
}
|
|
953
967
|
async ensureSufficientStockForFulfillment(ctx, input) {
|
|
954
|
-
const lines = await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).
|
|
968
|
+
const lines = await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).find({
|
|
969
|
+
where: {
|
|
970
|
+
id: (0, typeorm_1.In)(input.lines.map(l => l.orderLineId)),
|
|
971
|
+
},
|
|
972
|
+
relations: ['productVariant'],
|
|
973
|
+
});
|
|
955
974
|
for (const line of lines) {
|
|
956
|
-
//
|
|
957
|
-
const lineInput = input.lines.find(l => utils_1.idsAreEqual(l.orderLineId, line.id));
|
|
975
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
976
|
+
const lineInput = input.lines.find(l => (0, utils_1.idsAreEqual)(l.orderLineId, line.id));
|
|
958
977
|
const fulfillableStockLevel = await this.productVariantService.getFulfillableStockLevel(ctx, line.productVariant);
|
|
959
978
|
if (fulfillableStockLevel < lineInput.quantity) {
|
|
979
|
+
const { stockOnHand } = await this.stockLevelService.getAvailableStock(ctx, line.productVariant.id);
|
|
960
980
|
const productVariant = this.translator.translate(line.productVariant, ctx);
|
|
961
|
-
return new generated_graphql_admin_errors_1.InsufficientStockOnHandError(
|
|
981
|
+
return new generated_graphql_admin_errors_1.InsufficientStockOnHandError({
|
|
982
|
+
productVariantId: productVariant.id,
|
|
983
|
+
productVariantName: productVariant.name,
|
|
984
|
+
stockOnHand,
|
|
985
|
+
});
|
|
962
986
|
}
|
|
963
987
|
}
|
|
964
988
|
}
|
|
@@ -967,20 +991,9 @@ let OrderService = class OrderService {
|
|
|
967
991
|
* Returns an array of all Fulfillments associated with the Order.
|
|
968
992
|
*/
|
|
969
993
|
async getOrderFulfillments(ctx, order) {
|
|
970
|
-
const
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
.select('item.id', 'id')
|
|
974
|
-
.leftJoin('item.line', 'line')
|
|
975
|
-
.leftJoin('line.order', 'order')
|
|
976
|
-
.where('order.id = :orderId', { orderId: order.id });
|
|
977
|
-
const fulfillments = await this.connection
|
|
978
|
-
.getRepository(ctx, fulfillment_entity_1.Fulfillment)
|
|
979
|
-
.createQueryBuilder('fulfillment')
|
|
980
|
-
.leftJoinAndSelect('fulfillment.orderItems', 'item')
|
|
981
|
-
.where(`item.id IN (${itemIdsQb.getQuery()})`)
|
|
982
|
-
.setParameters(itemIdsQb.getParameters())
|
|
983
|
-
.getMany();
|
|
994
|
+
const { fulfillments } = await this.connection.getEntityOrThrow(ctx, order_entity_1.Order, order.id, {
|
|
995
|
+
relations: ['fulfillments'],
|
|
996
|
+
});
|
|
984
997
|
return fulfillments;
|
|
985
998
|
}
|
|
986
999
|
/**
|
|
@@ -1002,9 +1015,9 @@ let OrderService = class OrderService {
|
|
|
1002
1015
|
async cancelOrder(ctx, input) {
|
|
1003
1016
|
let allOrderItemsCancelled = false;
|
|
1004
1017
|
const cancelResult = input.lines != null
|
|
1005
|
-
? await this.cancelOrderByOrderLines(ctx, input, input.lines)
|
|
1018
|
+
? await this.orderModifier.cancelOrderByOrderLines(ctx, input, input.lines)
|
|
1006
1019
|
: await this.cancelOrderById(ctx, input);
|
|
1007
|
-
if (error_result_1.isGraphQlErrorResult(cancelResult)) {
|
|
1020
|
+
if ((0, error_result_1.isGraphQlErrorResult)(cancelResult)) {
|
|
1008
1021
|
return cancelResult;
|
|
1009
1022
|
}
|
|
1010
1023
|
else {
|
|
@@ -1012,11 +1025,11 @@ let OrderService = class OrderService {
|
|
|
1012
1025
|
}
|
|
1013
1026
|
if (allOrderItemsCancelled) {
|
|
1014
1027
|
const transitionResult = await this.transitionToState(ctx, input.orderId, 'Cancelled');
|
|
1015
|
-
if (error_result_1.isGraphQlErrorResult(transitionResult)) {
|
|
1028
|
+
if ((0, error_result_1.isGraphQlErrorResult)(transitionResult)) {
|
|
1016
1029
|
return transitionResult;
|
|
1017
1030
|
}
|
|
1018
1031
|
}
|
|
1019
|
-
return utils_1.assertFound(this.findOne(ctx, input.orderId));
|
|
1032
|
+
return (0, utils_1.assertFound)(this.findOne(ctx, input.orderId));
|
|
1020
1033
|
}
|
|
1021
1034
|
async cancelOrderById(ctx, input) {
|
|
1022
1035
|
const order = await this.getOrderOrThrow(ctx, input.orderId);
|
|
@@ -1028,118 +1041,37 @@ let OrderService = class OrderService {
|
|
|
1028
1041
|
orderLineId: l.id,
|
|
1029
1042
|
quantity: l.quantity,
|
|
1030
1043
|
}));
|
|
1031
|
-
return this.cancelOrderByOrderLines(ctx, input, lines);
|
|
1044
|
+
return this.orderModifier.cancelOrderByOrderLines(ctx, input, lines);
|
|
1032
1045
|
}
|
|
1033
1046
|
}
|
|
1034
|
-
async cancelOrderByOrderLines(ctx, input, lines) {
|
|
1035
|
-
if (lines.length === 0 || shared_utils_1.summate(lines, 'quantity') === 0) {
|
|
1036
|
-
return new generated_graphql_admin_errors_1.EmptyOrderLineSelectionError();
|
|
1037
|
-
}
|
|
1038
|
-
const ordersAndItems = await this.getOrdersAndItemsFromLines(ctx, lines, i => !i.cancelled);
|
|
1039
|
-
if (!ordersAndItems) {
|
|
1040
|
-
return new generated_graphql_admin_errors_1.QuantityTooGreatError();
|
|
1041
|
-
}
|
|
1042
|
-
if (1 < ordersAndItems.orders.length) {
|
|
1043
|
-
return new generated_graphql_admin_errors_1.MultipleOrderError();
|
|
1044
|
-
}
|
|
1045
|
-
const { orders, items } = ordersAndItems;
|
|
1046
|
-
const order = orders[0];
|
|
1047
|
-
if (!utils_1.idsAreEqual(order.id, input.orderId)) {
|
|
1048
|
-
return new generated_graphql_admin_errors_1.MultipleOrderError();
|
|
1049
|
-
}
|
|
1050
|
-
if (order.active) {
|
|
1051
|
-
return new generated_graphql_admin_errors_1.CancelActiveOrderError(order.state);
|
|
1052
|
-
}
|
|
1053
|
-
const fullOrder = await this.findOne(ctx, order.id);
|
|
1054
|
-
const soldItems = items.filter(i => !!i.fulfillment);
|
|
1055
|
-
const allocatedItems = await this.getAllocatedItems(ctx, items);
|
|
1056
|
-
await this.stockMovementService.createCancellationsForOrderItems(ctx, soldItems);
|
|
1057
|
-
await this.stockMovementService.createReleasesForOrderItems(ctx, allocatedItems);
|
|
1058
|
-
items.forEach(i => (i.cancelled = true));
|
|
1059
|
-
await this.connection.getRepository(ctx, order_item_entity_1.OrderItem).save(items, { reload: false });
|
|
1060
|
-
const orderWithItems = await this.connection.getEntityOrThrow(ctx, order_entity_1.Order, order.id, {
|
|
1061
|
-
relations: ['lines', 'lines.items', 'surcharges', 'shippingLines'],
|
|
1062
|
-
});
|
|
1063
|
-
if (input.cancelShipping === true) {
|
|
1064
|
-
for (const shippingLine of orderWithItems.shippingLines) {
|
|
1065
|
-
shippingLine.adjustments.push({
|
|
1066
|
-
adjustmentSource: 'CANCEL_ORDER',
|
|
1067
|
-
type: generated_types_1.AdjustmentType.OTHER,
|
|
1068
|
-
description: 'shipping cancellation',
|
|
1069
|
-
amount: -shippingLine.discountedPriceWithTax,
|
|
1070
|
-
});
|
|
1071
|
-
this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(shippingLine, { reload: false });
|
|
1072
|
-
}
|
|
1073
|
-
}
|
|
1074
|
-
// Update totals after cancellation
|
|
1075
|
-
this.orderCalculator.calculateOrderTotals(orderWithItems);
|
|
1076
|
-
await this.connection.getRepository(ctx, order_entity_1.Order).save(orderWithItems, { reload: false });
|
|
1077
|
-
await this.historyService.createHistoryEntryForOrder({
|
|
1078
|
-
ctx,
|
|
1079
|
-
orderId: order.id,
|
|
1080
|
-
type: generated_types_1.HistoryEntryType.ORDER_CANCELLATION,
|
|
1081
|
-
data: {
|
|
1082
|
-
orderItemIds: items.map(i => i.id),
|
|
1083
|
-
reason: input.reason || undefined,
|
|
1084
|
-
shippingCancelled: !!input.cancelShipping,
|
|
1085
|
-
},
|
|
1086
|
-
});
|
|
1087
|
-
return order_utils_1.orderItemsAreAllCancelled(orderWithItems);
|
|
1088
|
-
}
|
|
1089
|
-
async getAllocatedItems(ctx, items) {
|
|
1090
|
-
const allocatedItems = [];
|
|
1091
|
-
const allocationMap = new Map();
|
|
1092
|
-
for (const item of items) {
|
|
1093
|
-
let allocation = allocationMap.get(item.lineId);
|
|
1094
|
-
if (!allocation) {
|
|
1095
|
-
allocation = await this.connection
|
|
1096
|
-
.getRepository(ctx, allocation_entity_1.Allocation)
|
|
1097
|
-
.createQueryBuilder('allocation')
|
|
1098
|
-
.where('allocation.orderLine = :lineId', { lineId: item.lineId })
|
|
1099
|
-
.getOne();
|
|
1100
|
-
allocationMap.set(item.lineId, allocation || false);
|
|
1101
|
-
}
|
|
1102
|
-
if (allocation && !item.fulfillment) {
|
|
1103
|
-
allocatedItems.push(item);
|
|
1104
|
-
}
|
|
1105
|
-
}
|
|
1106
|
-
return allocatedItems;
|
|
1107
|
-
}
|
|
1108
1047
|
/**
|
|
1109
1048
|
* @description
|
|
1110
1049
|
* Creates a {@link Refund} against the order and in doing so invokes the `createRefund()` method of the
|
|
1111
1050
|
* {@link PaymentMethodHandler}.
|
|
1112
1051
|
*/
|
|
1113
1052
|
async refundOrder(ctx, input) {
|
|
1114
|
-
|
|
1053
|
+
var _a;
|
|
1054
|
+
if ((!input.lines || input.lines.length === 0 || (0, shared_utils_1.summate)(input.lines, 'quantity') === 0) &&
|
|
1115
1055
|
input.shipping === 0) {
|
|
1116
1056
|
return new generated_graphql_admin_errors_1.NothingToRefundError();
|
|
1117
1057
|
}
|
|
1118
|
-
const
|
|
1119
|
-
if (!ordersAndItems) {
|
|
1120
|
-
return new generated_graphql_admin_errors_1.QuantityTooGreatError();
|
|
1121
|
-
}
|
|
1122
|
-
const { orders, items } = ordersAndItems;
|
|
1058
|
+
const orders = await (0, order_utils_1.getOrdersFromLines)(ctx, this.connection, (_a = input.lines) !== null && _a !== void 0 ? _a : []);
|
|
1123
1059
|
if (1 < orders.length) {
|
|
1124
1060
|
return new generated_graphql_admin_errors_1.MultipleOrderError();
|
|
1125
1061
|
}
|
|
1126
1062
|
const payment = await this.connection.getEntityOrThrow(ctx, payment_entity_1.Payment, input.paymentId, {
|
|
1127
1063
|
relations: ['order'],
|
|
1128
1064
|
});
|
|
1129
|
-
if (orders && orders.length && !utils_1.idsAreEqual(payment.order.id, orders[0].id)) {
|
|
1065
|
+
if (orders && orders.length && !(0, utils_1.idsAreEqual)(payment.order.id, orders[0].id)) {
|
|
1130
1066
|
return new generated_graphql_admin_errors_1.PaymentOrderMismatchError();
|
|
1131
1067
|
}
|
|
1132
1068
|
const order = payment.order;
|
|
1133
1069
|
if (order.state === 'AddingItems' ||
|
|
1134
1070
|
order.state === 'ArrangingPayment' ||
|
|
1135
1071
|
order.state === 'PaymentAuthorized') {
|
|
1136
|
-
return new generated_graphql_admin_errors_1.RefundOrderStateError(order.state);
|
|
1072
|
+
return new generated_graphql_admin_errors_1.RefundOrderStateError({ orderState: order.state });
|
|
1137
1073
|
}
|
|
1138
|
-
|
|
1139
|
-
if (alreadyRefunded) {
|
|
1140
|
-
return new generated_graphql_admin_errors_1.AlreadyRefundedError(alreadyRefunded.refundId);
|
|
1141
|
-
}
|
|
1142
|
-
return await this.paymentService.createRefund(ctx, input, order, items, payment);
|
|
1074
|
+
return await this.paymentService.createRefund(ctx, input, order, payment);
|
|
1143
1075
|
}
|
|
1144
1076
|
/**
|
|
1145
1077
|
* @description
|
|
@@ -1152,9 +1084,10 @@ let OrderService = class OrderService {
|
|
|
1152
1084
|
refund.transactionId = input.transactionId;
|
|
1153
1085
|
const fromState = refund.state;
|
|
1154
1086
|
const toState = 'Settled';
|
|
1155
|
-
await this.refundStateMachine.transition(ctx, refund.payment.order, refund, toState);
|
|
1087
|
+
const { finalize } = await this.refundStateMachine.transition(ctx, refund.payment.order, refund, toState);
|
|
1156
1088
|
await this.connection.getRepository(ctx, refund_entity_1.Refund).save(refund);
|
|
1157
|
-
|
|
1089
|
+
await finalize();
|
|
1090
|
+
this.eventBus.publish(new index_1.RefundStateTransitionEvent(fromState, toState, ctx, refund, refund.payment.order));
|
|
1158
1091
|
return refund;
|
|
1159
1092
|
}
|
|
1160
1093
|
/**
|
|
@@ -1167,20 +1100,16 @@ let OrderService = class OrderService {
|
|
|
1167
1100
|
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
1168
1101
|
// Check that any applied couponCodes are still valid now that
|
|
1169
1102
|
// we know the Customer.
|
|
1103
|
+
let updatedOrder = order;
|
|
1170
1104
|
if (order.couponCodes) {
|
|
1171
|
-
let codesRemoved = false;
|
|
1172
1105
|
for (const couponCode of order.couponCodes.slice()) {
|
|
1173
1106
|
const validationResult = await this.promotionService.validateCouponCode(ctx, couponCode, customer.id);
|
|
1174
|
-
if (error_result_1.isGraphQlErrorResult(validationResult)) {
|
|
1175
|
-
|
|
1176
|
-
codesRemoved = true;
|
|
1107
|
+
if ((0, error_result_1.isGraphQlErrorResult)(validationResult)) {
|
|
1108
|
+
updatedOrder = await this.removeCouponCode(ctx, orderId, couponCode);
|
|
1177
1109
|
}
|
|
1178
1110
|
}
|
|
1179
|
-
if (codesRemoved) {
|
|
1180
|
-
return this.applyPriceAdjustments(ctx, order);
|
|
1181
|
-
}
|
|
1182
1111
|
}
|
|
1183
|
-
return
|
|
1112
|
+
return updatedOrder;
|
|
1184
1113
|
}
|
|
1185
1114
|
/**
|
|
1186
1115
|
* @description
|
|
@@ -1233,15 +1162,15 @@ let OrderService = class OrderService {
|
|
|
1233
1162
|
? orderOrId
|
|
1234
1163
|
: await this.connection
|
|
1235
1164
|
.getRepository(ctx, order_entity_1.Order)
|
|
1236
|
-
.findOneOrFail(orderOrId,
|
|
1165
|
+
.findOneOrFail({ where: { id: orderOrId }, relations: ['lines', 'shippingLines'] });
|
|
1237
1166
|
// If there is a Session referencing the Order to be deleted, we must first remove that
|
|
1238
1167
|
// reference in order to avoid a foreign key error. See https://github.com/vendure-ecommerce/vendure/issues/1454
|
|
1239
1168
|
const sessions = await this.connection
|
|
1240
|
-
.getRepository(ctx,
|
|
1169
|
+
.getRepository(ctx, session_entity_1.Session)
|
|
1241
1170
|
.find({ where: { activeOrderId: orderToDelete.id } });
|
|
1242
1171
|
if (sessions.length) {
|
|
1243
1172
|
await this.connection
|
|
1244
|
-
.getRepository(ctx,
|
|
1173
|
+
.getRepository(ctx, session_entity_1.Session)
|
|
1245
1174
|
.update(sessions.map(s => s.id), { activeOrder: null });
|
|
1246
1175
|
}
|
|
1247
1176
|
// TODO: v2 - Will not be needed after adding `{ onDelete: 'CASCADE' }` constraint to ShippingLine.order
|
|
@@ -1263,7 +1192,7 @@ let OrderService = class OrderService {
|
|
|
1263
1192
|
// so we do not want to merge at all. See https://github.com/vendure-ecommerce/vendure/issues/263
|
|
1264
1193
|
return existingOrder;
|
|
1265
1194
|
}
|
|
1266
|
-
const mergeResult =
|
|
1195
|
+
const mergeResult = this.orderMerger.merge(ctx, guestOrder, existingOrder);
|
|
1267
1196
|
const { orderToDelete, linesToInsert, linesToDelete, linesToModify } = mergeResult;
|
|
1268
1197
|
let { order } = mergeResult;
|
|
1269
1198
|
if (orderToDelete) {
|
|
@@ -1273,7 +1202,7 @@ let OrderService = class OrderService {
|
|
|
1273
1202
|
const orderId = order.id;
|
|
1274
1203
|
for (const line of linesToInsert) {
|
|
1275
1204
|
const result = await this.addItemToOrder(ctx, orderId, line.productVariantId, line.quantity, line.customFields);
|
|
1276
|
-
if (!error_result_1.isGraphQlErrorResult(result)) {
|
|
1205
|
+
if (!(0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
1277
1206
|
order = result;
|
|
1278
1207
|
}
|
|
1279
1208
|
}
|
|
@@ -1282,7 +1211,7 @@ let OrderService = class OrderService {
|
|
|
1282
1211
|
const orderId = order.id;
|
|
1283
1212
|
for (const line of linesToModify) {
|
|
1284
1213
|
const result = await this.adjustOrderLine(ctx, orderId, line.orderLineId, line.quantity, line.customFields);
|
|
1285
|
-
if (!error_result_1.isGraphQlErrorResult(result)) {
|
|
1214
|
+
if (!(0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
1286
1215
|
order = result;
|
|
1287
1216
|
}
|
|
1288
1217
|
}
|
|
@@ -1291,7 +1220,7 @@ let OrderService = class OrderService {
|
|
|
1291
1220
|
const orderId = order.id;
|
|
1292
1221
|
for (const line of linesToDelete) {
|
|
1293
1222
|
const result = await this.removeItemFromOrder(ctx, orderId, line.orderLineId);
|
|
1294
|
-
if (!error_result_1.isGraphQlErrorResult(result)) {
|
|
1223
|
+
if (!(0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
1295
1224
|
order = result;
|
|
1296
1225
|
}
|
|
1297
1226
|
}
|
|
@@ -1311,9 +1240,9 @@ let OrderService = class OrderService {
|
|
|
1311
1240
|
return order;
|
|
1312
1241
|
}
|
|
1313
1242
|
getOrderLineOrThrow(order, orderLineId) {
|
|
1314
|
-
const orderLine = order.lines.find(line => utils_1.idsAreEqual(line.id, orderLineId));
|
|
1243
|
+
const orderLine = order.lines.find(line => (0, utils_1.idsAreEqual)(line.id, orderLineId));
|
|
1315
1244
|
if (!orderLine) {
|
|
1316
|
-
throw new errors_1.UserInputError(
|
|
1245
|
+
throw new errors_1.UserInputError('error.order-does-not-contain-line-with-id', { id: orderLineId });
|
|
1317
1246
|
}
|
|
1318
1247
|
return orderLine;
|
|
1319
1248
|
}
|
|
@@ -1338,10 +1267,10 @@ let OrderService = class OrderService {
|
|
|
1338
1267
|
* maximum limit specified in the config.
|
|
1339
1268
|
*/
|
|
1340
1269
|
assertNotOverOrderItemsLimit(order, quantityToAdd) {
|
|
1341
|
-
const currentItemsCount = shared_utils_1.summate(order.lines, 'quantity');
|
|
1270
|
+
const currentItemsCount = (0, shared_utils_1.summate)(order.lines, 'quantity');
|
|
1342
1271
|
const { orderItemsLimit } = this.configService.orderOptions;
|
|
1343
1272
|
if (orderItemsLimit < currentItemsCount + quantityToAdd) {
|
|
1344
|
-
return new generated_graphql_shop_errors_1.OrderLimitError(orderItemsLimit);
|
|
1273
|
+
return new generated_graphql_shop_errors_1.OrderLimitError({ maxItems: orderItemsLimit });
|
|
1345
1274
|
}
|
|
1346
1275
|
}
|
|
1347
1276
|
/**
|
|
@@ -1352,7 +1281,7 @@ let OrderService = class OrderService {
|
|
|
1352
1281
|
const currentQuantity = (orderLine === null || orderLine === void 0 ? void 0 : orderLine.quantity) || 0;
|
|
1353
1282
|
const { orderLineItemsLimit } = this.configService.orderOptions;
|
|
1354
1283
|
if (orderLineItemsLimit < currentQuantity + quantityToAdd) {
|
|
1355
|
-
return new generated_graphql_shop_errors_1.OrderLimitError(orderLineItemsLimit);
|
|
1284
|
+
return new generated_graphql_shop_errors_1.OrderLimitError({ maxItems: orderLineItemsLimit });
|
|
1356
1285
|
}
|
|
1357
1286
|
}
|
|
1358
1287
|
/**
|
|
@@ -1361,7 +1290,7 @@ let OrderService = class OrderService {
|
|
|
1361
1290
|
* then all of those OrderLines will have their prices re-calculated using the configured {@link OrderItemPriceCalculationStrategy}.
|
|
1362
1291
|
*/
|
|
1363
1292
|
async applyPriceAdjustments(ctx, order, updatedOrderLines) {
|
|
1364
|
-
var _a
|
|
1293
|
+
var _a;
|
|
1365
1294
|
const promotions = await this.promotionService.getActivePromotionsInChannel(ctx);
|
|
1366
1295
|
const activePromotionsPre = await this.promotionService.getActivePromotionsOnOrder(ctx, order.id);
|
|
1367
1296
|
if (updatedOrderLines === null || updatedOrderLines === void 0 ? void 0 : updatedOrderLines.length) {
|
|
@@ -1369,123 +1298,32 @@ let OrderService = class OrderService {
|
|
|
1369
1298
|
for (const updatedOrderLine of updatedOrderLines) {
|
|
1370
1299
|
const variant = await this.productVariantService.applyChannelPriceAndTax(updatedOrderLine.productVariant, ctx, order);
|
|
1371
1300
|
let priceResult = await orderItemPriceCalculationStrategy.calculateUnitPrice(ctx, variant, updatedOrderLine.customFields || {}, order);
|
|
1372
|
-
const initialListPrice = (
|
|
1301
|
+
const initialListPrice = (_a = updatedOrderLine.initialListPrice) !== null && _a !== void 0 ? _a : priceResult.price;
|
|
1373
1302
|
if (initialListPrice !== priceResult.price) {
|
|
1374
|
-
priceResult = await changedPriceHandlingStrategy.handlePriceChange(ctx, priceResult, updatedOrderLine
|
|
1303
|
+
priceResult = await changedPriceHandlingStrategy.handlePriceChange(ctx, priceResult, updatedOrderLine, order);
|
|
1375
1304
|
}
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
item.initialListPrice = initialListPrice;
|
|
1379
|
-
}
|
|
1380
|
-
item.listPrice = priceResult.price;
|
|
1381
|
-
item.listPriceIncludesTax = priceResult.priceIncludesTax;
|
|
1305
|
+
if (updatedOrderLine.initialListPrice == null) {
|
|
1306
|
+
updatedOrderLine.initialListPrice = initialListPrice;
|
|
1382
1307
|
}
|
|
1308
|
+
updatedOrderLine.listPrice = priceResult.price;
|
|
1309
|
+
updatedOrderLine.listPriceIncludesTax = priceResult.priceIncludesTax;
|
|
1383
1310
|
}
|
|
1384
1311
|
}
|
|
1385
|
-
const
|
|
1386
|
-
const updateFields = [
|
|
1387
|
-
'initialListPrice',
|
|
1388
|
-
'listPrice',
|
|
1389
|
-
'listPriceIncludesTax',
|
|
1390
|
-
'adjustments',
|
|
1391
|
-
'taxLines',
|
|
1392
|
-
];
|
|
1312
|
+
const updatedOrder = await this.orderCalculator.applyPriceAdjustments(ctx, order, promotions, updatedOrderLines !== null && updatedOrderLines !== void 0 ? updatedOrderLines : []);
|
|
1393
1313
|
await this.connection
|
|
1394
|
-
.getRepository(ctx,
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
.
|
|
1399
|
-
|
|
1400
|
-
conflict_target: ['id'],
|
|
1401
|
-
overwrite: updateFields,
|
|
1402
|
-
})
|
|
1403
|
-
.updateEntity(false)
|
|
1404
|
-
.execute();
|
|
1405
|
-
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
1314
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
1315
|
+
// Explicitly omit the shippingAddress and billingAddress properties to avoid
|
|
1316
|
+
// a race condition where changing one or the other in parallel can
|
|
1317
|
+
// overwrite the other's changes.
|
|
1318
|
+
.save((0, omit_1.omit)(updatedOrder, ['shippingAddress', 'billingAddress']), { reload: false });
|
|
1319
|
+
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).save(updatedOrder.lines, { reload: false });
|
|
1406
1320
|
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(order.shippingLines, { reload: false });
|
|
1407
1321
|
await this.promotionService.runPromotionSideEffects(ctx, order, activePromotionsPre);
|
|
1408
|
-
return utils_1.assertFound(this.findOne(ctx, order.id));
|
|
1409
|
-
}
|
|
1410
|
-
async getOrderWithFulfillments(ctx, orderId) {
|
|
1411
|
-
return await this.connection.getEntityOrThrow(ctx, order_entity_1.Order, orderId, {
|
|
1412
|
-
relations: ['lines', 'lines.items', 'lines.items.fulfillments'],
|
|
1413
|
-
});
|
|
1414
|
-
}
|
|
1415
|
-
async getOrdersAndItemsFromLines(ctx, orderLinesInput, itemMatcher) {
|
|
1416
|
-
const orders = new Map();
|
|
1417
|
-
const items = new Map();
|
|
1418
|
-
const lines = await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).findByIds(orderLinesInput.map(l => l.orderLineId), {
|
|
1419
|
-
relations: ['order', 'items', 'items.fulfillments', 'order.channels', 'items.refund'],
|
|
1420
|
-
order: { id: 'ASC' },
|
|
1421
|
-
});
|
|
1422
|
-
for (const line of lines) {
|
|
1423
|
-
const inputLine = orderLinesInput.find(l => utils_1.idsAreEqual(l.orderLineId, line.id));
|
|
1424
|
-
if (!inputLine) {
|
|
1425
|
-
continue;
|
|
1426
|
-
}
|
|
1427
|
-
const order = line.order;
|
|
1428
|
-
if (!order.channels.some(channel => channel.id === ctx.channelId)) {
|
|
1429
|
-
throw new errors_1.EntityNotFoundError('Order', order.id);
|
|
1430
|
-
}
|
|
1431
|
-
if (!orders.has(order.id)) {
|
|
1432
|
-
orders.set(order.id, order);
|
|
1433
|
-
}
|
|
1434
|
-
const matchingItems = line.items.sort((a, b) => (a.id < b.id ? -1 : 1)).filter(itemMatcher);
|
|
1435
|
-
if (matchingItems.length < inputLine.quantity) {
|
|
1436
|
-
return false;
|
|
1437
|
-
}
|
|
1438
|
-
matchingItems
|
|
1439
|
-
.slice(0)
|
|
1440
|
-
.sort((a, b) =>
|
|
1441
|
-
// sort the OrderItems so that those without Fulfillments come first, as
|
|
1442
|
-
// it makes sense to cancel these prior to cancelling fulfilled items.
|
|
1443
|
-
!a.fulfillment && b.fulfillment ? -1 : a.fulfillment && !b.fulfillment ? 1 : 0)
|
|
1444
|
-
.slice(0, inputLine.quantity)
|
|
1445
|
-
.forEach(item => {
|
|
1446
|
-
items.set(item.id, item);
|
|
1447
|
-
});
|
|
1448
|
-
}
|
|
1449
|
-
return {
|
|
1450
|
-
orders: Array.from(orders.values()),
|
|
1451
|
-
items: Array.from(items.values()),
|
|
1452
|
-
};
|
|
1453
|
-
}
|
|
1454
|
-
mergePaymentMetadata(m1, m2) {
|
|
1455
|
-
if (!m2) {
|
|
1456
|
-
return m1;
|
|
1457
|
-
}
|
|
1458
|
-
const merged = Object.assign(Object.assign({}, m1), m2);
|
|
1459
|
-
if (m1.public && m1.public) {
|
|
1460
|
-
merged.public = Object.assign(Object.assign({}, m1.public), m2.public);
|
|
1461
|
-
}
|
|
1462
|
-
return merged;
|
|
1463
|
-
}
|
|
1464
|
-
async groupOrderItemsIntoLines(ctx, orderItems) {
|
|
1465
|
-
const orderLineIdQuantityMap = new Map();
|
|
1466
|
-
for (const item of orderItems) {
|
|
1467
|
-
const quantity = orderLineIdQuantityMap.get(item.lineId);
|
|
1468
|
-
if (quantity == null) {
|
|
1469
|
-
orderLineIdQuantityMap.set(item.lineId, 1);
|
|
1470
|
-
}
|
|
1471
|
-
else {
|
|
1472
|
-
orderLineIdQuantityMap.set(item.lineId, quantity + 1);
|
|
1473
|
-
}
|
|
1474
|
-
}
|
|
1475
|
-
const orderLines = await this.connection
|
|
1476
|
-
.getRepository(ctx, order_line_entity_1.OrderLine)
|
|
1477
|
-
.findByIds([...orderLineIdQuantityMap.keys()], {
|
|
1478
|
-
relations: ['productVariant'],
|
|
1479
|
-
});
|
|
1480
|
-
return orderLines.map(orderLine => ({
|
|
1481
|
-
orderLine,
|
|
1482
|
-
// tslint:disable-next-line:no-non-null-assertion
|
|
1483
|
-
quantity: orderLineIdQuantityMap.get(orderLine.id),
|
|
1484
|
-
}));
|
|
1322
|
+
return (0, utils_1.assertFound)(this.findOne(ctx, order.id));
|
|
1485
1323
|
}
|
|
1486
1324
|
};
|
|
1487
1325
|
OrderService = __decorate([
|
|
1488
|
-
common_1.Injectable(),
|
|
1326
|
+
(0, common_1.Injectable)(),
|
|
1489
1327
|
__metadata("design:paramtypes", [transactional_connection_1.TransactionalConnection,
|
|
1490
1328
|
config_service_1.ConfigService,
|
|
1491
1329
|
product_variant_service_1.ProductVariantService,
|
|
@@ -1509,7 +1347,8 @@ OrderService = __decorate([
|
|
|
1509
1347
|
order_modifier_1.OrderModifier,
|
|
1510
1348
|
custom_field_relation_service_1.CustomFieldRelationService,
|
|
1511
1349
|
request_context_cache_service_1.RequestContextCacheService,
|
|
1512
|
-
translator_service_1.TranslatorService
|
|
1350
|
+
translator_service_1.TranslatorService,
|
|
1351
|
+
stock_level_service_1.StockLevelService])
|
|
1513
1352
|
], OrderService);
|
|
1514
1353
|
exports.OrderService = OrderService;
|
|
1515
1354
|
//# sourceMappingURL=order.service.js.map
|