@vendure/core 2.0.0-next.1 → 2.0.0-next.10
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/dist/api/api-internal-modules.d.ts +2 -1
- package/dist/api/api-internal-modules.js +2 -0
- package/dist/api/api-internal-modules.js.map +1 -1
- package/dist/api/common/configurable-operation-codec.js +2 -2
- package/dist/api/common/configurable-operation-codec.js.map +1 -1
- package/dist/api/common/id-codec.js +6 -2
- package/dist/api/common/id-codec.js.map +1 -1
- package/dist/api/config/configure-graphql-module.js +2 -0
- package/dist/api/config/configure-graphql-module.js.map +1 -1
- package/dist/api/config/generate-permissions.js +29 -4
- package/dist/api/config/generate-permissions.js.map +1 -1
- package/dist/api/config/generate-resolvers.js +9 -4
- package/dist/api/config/generate-resolvers.js.map +1 -1
- package/dist/api/decorators/relations.decorator.d.ts +116 -0
- package/dist/api/decorators/relations.decorator.js +202 -0
- package/dist/api/decorators/relations.decorator.js.map +1 -0
- package/dist/api/decorators/request-context.decorator.js +9 -2
- package/dist/api/decorators/request-context.decorator.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/middleware/transaction-interceptor.d.ts +9 -0
- package/dist/api/middleware/transaction-interceptor.js +16 -1
- package/dist/api/middleware/transaction-interceptor.js.map +1 -1
- package/dist/api/resolvers/admin/administrator.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/administrator.resolver.js +10 -6
- package/dist/api/resolvers/admin/administrator.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/asset.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/asset.resolver.js +10 -6
- package/dist/api/resolvers/admin/asset.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/channel.resolver.js +2 -2
- package/dist/api/resolvers/admin/channel.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/collection.resolver.d.ts +5 -3
- package/dist/api/resolvers/admin/collection.resolver.js +24 -7
- package/dist/api/resolvers/admin/collection.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/country.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/country.resolver.js +10 -6
- package/dist/api/resolvers/admin/country.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/customer-group.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/customer-group.resolver.js +8 -4
- package/dist/api/resolvers/admin/customer-group.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/customer.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/customer.resolver.js +10 -6
- package/dist/api/resolvers/admin/customer.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/facet.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/facet.resolver.js +10 -6
- package/dist/api/resolvers/admin/facet.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/order.resolver.d.ts +6 -5
- package/dist/api/resolvers/admin/order.resolver.js +24 -11
- package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/payment-method.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/payment-method.resolver.js +10 -6
- package/dist/api/resolvers/admin/payment-method.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/product-option.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/product-option.resolver.js +8 -4
- package/dist/api/resolvers/admin/product-option.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/product.resolver.d.ts +4 -3
- package/dist/api/resolvers/admin/product.resolver.js +16 -10
- package/dist/api/resolvers/admin/product.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/promotion.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/promotion.resolver.js +9 -6
- package/dist/api/resolvers/admin/promotion.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/role.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/role.resolver.js +10 -6
- package/dist/api/resolvers/admin/role.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/shipping-method.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/shipping-method.resolver.js +10 -6
- package/dist/api/resolvers/admin/shipping-method.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/tax-rate.resolver.d.ts +3 -2
- package/dist/api/resolvers/admin/tax-rate.resolver.js +10 -6
- package/dist/api/resolvers/admin/tax-rate.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/collection-entity.resolver.d.ts +3 -1
- package/dist/api/resolvers/entity/collection-entity.resolver.js +17 -4
- package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/country-entity.resolver.d.ts +1 -0
- package/dist/api/resolvers/entity/country-entity.resolver.js +11 -0
- package/dist/api/resolvers/entity/country-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/customer-entity.resolver.d.ts +2 -1
- package/dist/api/resolvers/entity/customer-entity.resolver.js +5 -3
- package/dist/api/resolvers/entity/customer-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/facet-entity.resolver.d.ts +1 -0
- package/dist/api/resolvers/entity/facet-entity.resolver.js +11 -0
- package/dist/api/resolvers/entity/facet-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/facet-value-entity.resolver.d.ts +1 -0
- package/dist/api/resolvers/entity/facet-value-entity.resolver.js +11 -0
- package/dist/api/resolvers/entity/facet-value-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/order-line-entity.resolver.d.ts +6 -3
- package/dist/api/resolvers/entity/order-line-entity.resolver.js +19 -2
- package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-entity.resolver.d.ts +4 -2
- package/dist/api/resolvers/entity/product-entity.resolver.js +21 -6
- package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-option-entity.resolver.d.ts +1 -0
- package/dist/api/resolvers/entity/product-option-entity.resolver.js +11 -0
- 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 -0
- package/dist/api/resolvers/entity/product-option-group-entity.resolver.js +12 -1
- 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 +1 -0
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js +12 -0
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.d.ts +10 -0
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.js +64 -0
- package/dist/api/resolvers/entity/shipping-method-entity.resolver.js.map +1 -0
- package/dist/api/resolvers/shop/shop-order.resolver.d.ts +4 -3
- package/dist/api/resolvers/shop/shop-order.resolver.js +16 -8
- package/dist/api/resolvers/shop/shop-order.resolver.js.map +1 -1
- package/dist/api/resolvers/shop/shop-products.resolver.d.ts +8 -8
- package/dist/api/resolvers/shop/shop-products.resolver.js +32 -21
- package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
- package/dist/api/schema/admin-api/collection.api.graphql +8 -0
- package/dist/api/schema/admin-api/order.api.graphql +4 -0
- package/dist/api/schema/common/common-error-results.graphql +22 -0
- package/dist/api/schema/common/shipping-method.type.graphql +1 -0
- package/dist/api/schema/shop-api/shop-error-results.graphql +0 -29
- package/dist/bootstrap.js +8 -3
- package/dist/bootstrap.js.map +1 -1
- package/dist/common/calculated-decorator.d.ts +16 -3
- package/dist/common/calculated-decorator.js +3 -0
- package/dist/common/calculated-decorator.js.map +1 -1
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.js +2 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/error/errors.d.ts +1 -0
- package/dist/common/error/errors.js.map +1 -1
- package/dist/common/error/generated-graphql-admin-errors.d.ts +29 -0
- package/dist/common/error/generated-graphql-admin-errors.js +33 -2
- package/dist/common/error/generated-graphql-admin-errors.js.map +1 -1
- package/dist/common/finite-state-machine/finite-state-machine.js +2 -1
- package/dist/common/finite-state-machine/finite-state-machine.js.map +1 -1
- package/dist/common/self-refreshing-cache.d.ts +5 -2
- package/dist/common/self-refreshing-cache.js +9 -7
- package/dist/common/self-refreshing-cache.js.map +1 -1
- package/dist/common/types/entity-relation-paths.d.ts +1 -1
- package/dist/config/asset-import-strategy/asset-import-strategy.d.ts +24 -0
- package/dist/config/asset-import-strategy/asset-import-strategy.js +3 -0
- package/dist/config/asset-import-strategy/asset-import-strategy.js.map +1 -0
- package/dist/config/asset-import-strategy/default-asset-import-strategy.d.ts +24 -0
- package/dist/config/asset-import-strategy/default-asset-import-strategy.js +89 -0
- package/dist/config/asset-import-strategy/default-asset-import-strategy.js.map +1 -0
- package/dist/config/catalog/collection-filter.d.ts +32 -0
- package/dist/config/catalog/collection-filter.js +32 -0
- package/dist/config/catalog/collection-filter.js.map +1 -1
- package/dist/config/catalog/default-collection-filters.d.ts +100 -0
- package/dist/config/catalog/default-collection-filters.js +154 -21
- package/dist/config/catalog/default-collection-filters.js.map +1 -1
- package/dist/config/config.module.js +4 -0
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/config.service.d.ts +2 -1
- package/dist/config/config.service.js +3 -0
- package/dist/config/config.service.js.map +1 -1
- package/dist/config/custom-field/custom-field-types.d.ts +3 -0
- package/dist/config/default-config.js +8 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/entity-metadata/add-foreign-key-indices.d.ts +12 -0
- package/dist/config/entity-metadata/add-foreign-key-indices.js +33 -0
- package/dist/config/entity-metadata/add-foreign-key-indices.js.map +1 -0
- package/dist/config/entity-metadata/entity-metadata-modifier.d.ts +55 -0
- package/dist/config/entity-metadata/entity-metadata-modifier.js +3 -0
- package/dist/config/entity-metadata/entity-metadata-modifier.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/payment/dummy-payment-method-handler.js +2 -2
- package/dist/config/payment/dummy-payment-method-handler.js.map +1 -1
- package/dist/config/payment/example-payment-method-handler.js +2 -2
- package/dist/config/payment/example-payment-method-handler.js.map +1 -1
- package/dist/config/payment/payment-method-eligibility-checker.d.ts +3 -3
- package/dist/config/payment/payment-method-eligibility-checker.js +2 -2
- package/dist/config/payment/payment-method-eligibility-checker.js.map +1 -1
- package/dist/config/payment/payment-method-handler.d.ts +7 -8
- package/dist/config/payment/payment-method-handler.js +6 -6
- package/dist/config/payment/payment-method-handler.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/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 +4 -0
- package/dist/config/promotion/index.js +4 -0
- package/dist/config/promotion/index.js.map +1 -1
- package/dist/config/promotion/utils/facet-value-checker.d.ts +2 -1
- package/dist/config/promotion/utils/facet-value-checker.js +2 -2
- package/dist/config/promotion/utils/facet-value-checker.js.map +1 -1
- package/dist/config/shipping-method/shipping-calculator.d.ts +3 -3
- package/dist/config/shipping-method/shipping-calculator.js +2 -2
- package/dist/config/shipping-method/shipping-calculator.js.map +1 -1
- package/dist/config/shipping-method/shipping-eligibility-checker.d.ts +4 -4
- package/dist/config/shipping-method/shipping-eligibility-checker.js +5 -5
- package/dist/config/shipping-method/shipping-eligibility-checker.js.map +1 -1
- package/dist/config/system/health-check-strategy.d.ts +47 -0
- package/dist/config/system/health-check-strategy.js +3 -0
- package/dist/config/system/health-check-strategy.js.map +1 -0
- package/dist/config/vendure-config.d.ts +70 -0
- package/dist/connection/transaction-subscriber.d.ts +16 -2
- package/dist/connection/transaction-subscriber.js +27 -6
- package/dist/connection/transaction-subscriber.js.map +1 -1
- package/dist/connection/transaction-wrapper.d.ts +5 -1
- package/dist/connection/transaction-wrapper.js +14 -11
- package/dist/connection/transaction-wrapper.js.map +1 -1
- package/dist/connection/transactional-connection.d.ts +9 -3
- package/dist/connection/transactional-connection.js +5 -5
- package/dist/connection/transactional-connection.js.map +1 -1
- package/dist/data-import/providers/asset-importer/asset-importer.js +12 -18
- package/dist/data-import/providers/asset-importer/asset-importer.js.map +1 -1
- package/dist/data-import/providers/importer/fast-importer.service.js +11 -5
- package/dist/data-import/providers/importer/fast-importer.service.js.map +1 -1
- package/dist/data-import/providers/importer/importer.d.ts +3 -2
- package/dist/data-import/providers/importer/importer.js +15 -9
- package/dist/data-import/providers/importer/importer.js.map +1 -1
- package/dist/data-import/providers/populator/populator.js +1 -1
- package/dist/data-import/providers/populator/populator.js.map +1 -1
- package/dist/entity/address/address.entity.js +2 -0
- package/dist/entity/address/address.entity.js.map +1 -1
- package/dist/entity/asset/orderable-asset.entity.js +1 -0
- package/dist/entity/asset/orderable-asset.entity.js.map +1 -1
- package/dist/entity/authentication-method/authentication-method.entity.js +1 -0
- package/dist/entity/authentication-method/authentication-method.entity.js.map +1 -1
- package/dist/entity/channel/channel.entity.js +2 -0
- package/dist/entity/channel/channel.entity.js.map +1 -1
- package/dist/entity/collection/collection-translation.entity.js +1 -0
- package/dist/entity/collection/collection-translation.entity.js.map +1 -1
- package/dist/entity/collection/collection.entity.js +1 -0
- package/dist/entity/collection/collection.entity.js.map +1 -1
- package/dist/entity/country/country-translation.entity.js +1 -0
- package/dist/entity/country/country-translation.entity.js.map +1 -1
- package/dist/entity/facet/facet-translation.entity.js +1 -0
- package/dist/entity/facet/facet-translation.entity.js.map +1 -1
- package/dist/entity/facet-value/facet-value-translation.entity.js +1 -0
- package/dist/entity/facet-value/facet-value-translation.entity.js.map +1 -1
- package/dist/entity/facet-value/facet-value.entity.js +1 -0
- package/dist/entity/facet-value/facet-value.entity.js.map +1 -1
- package/dist/entity/history-entry/customer-history-entry.entity.js +1 -0
- package/dist/entity/history-entry/customer-history-entry.entity.js.map +1 -1
- package/dist/entity/history-entry/history-entry.entity.js +1 -0
- package/dist/entity/history-entry/history-entry.entity.js.map +1 -1
- package/dist/entity/history-entry/order-history-entry.entity.js +1 -0
- package/dist/entity/history-entry/order-history-entry.entity.js.map +1 -1
- package/dist/entity/order/order.entity.js +5 -2
- package/dist/entity/order/order.entity.js.map +1 -1
- package/dist/entity/order-item/order-item.entity.js +2 -0
- package/dist/entity/order-item/order-item.entity.js.map +1 -1
- package/dist/entity/order-line/order-line.entity.js +26 -22
- package/dist/entity/order-line/order-line.entity.js.map +1 -1
- package/dist/entity/order-modification/order-modification.entity.js +1 -0
- package/dist/entity/order-modification/order-modification.entity.js.map +1 -1
- package/dist/entity/payment/payment.entity.js +1 -0
- package/dist/entity/payment/payment.entity.js.map +1 -1
- package/dist/entity/product/product-translation.entity.js +1 -0
- package/dist/entity/product/product-translation.entity.js.map +1 -1
- package/dist/entity/product/product.entity.js +1 -0
- package/dist/entity/product/product.entity.js.map +1 -1
- package/dist/entity/product-option/product-option-translation.entity.js +1 -0
- package/dist/entity/product-option/product-option-translation.entity.js.map +1 -1
- package/dist/entity/product-option/product-option.entity.js +1 -0
- package/dist/entity/product-option/product-option.entity.js.map +1 -1
- package/dist/entity/product-option-group/product-option-group-translation.entity.js +1 -0
- 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.js +1 -0
- package/dist/entity/product-option-group/product-option-group.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant-price.entity.js +1 -0
- package/dist/entity/product-variant/product-variant-price.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant-translation.entity.js +1 -0
- package/dist/entity/product-variant/product-variant-translation.entity.js.map +1 -1
- package/dist/entity/product-variant/product-variant.entity.js +3 -0
- package/dist/entity/product-variant/product-variant.entity.js.map +1 -1
- package/dist/entity/refund/refund.entity.js +1 -0
- package/dist/entity/refund/refund.entity.js.map +1 -1
- package/dist/entity/register-custom-entity-fields.js +17 -2
- package/dist/entity/register-custom-entity-fields.js.map +1 -1
- package/dist/entity/run-entity-metadata-modifiers.d.ts +2 -0
- package/dist/entity/run-entity-metadata-modifiers.js +15 -0
- package/dist/entity/run-entity-metadata-modifiers.js.map +1 -0
- package/dist/entity/session/authenticated-session.entity.js +1 -0
- package/dist/entity/session/authenticated-session.entity.js.map +1 -1
- package/dist/entity/session/session.entity.js +2 -0
- package/dist/entity/session/session.entity.js.map +1 -1
- package/dist/entity/shipping-line/shipping-line.entity.js +2 -0
- package/dist/entity/shipping-line/shipping-line.entity.js.map +1 -1
- package/dist/entity/shipping-method/shipping-method-translation.entity.js +1 -0
- package/dist/entity/shipping-method/shipping-method-translation.entity.js.map +1 -1
- package/dist/entity/shipping-method/shipping-method.entity.js +2 -2
- package/dist/entity/shipping-method/shipping-method.entity.js.map +1 -1
- package/dist/entity/stock-movement/allocation.entity.js +1 -0
- package/dist/entity/stock-movement/allocation.entity.js.map +1 -1
- package/dist/entity/stock-movement/cancellation.entity.js.map +1 -1
- package/dist/entity/stock-movement/release.entity.js +1 -0
- package/dist/entity/stock-movement/release.entity.js.map +1 -1
- package/dist/entity/stock-movement/sale.entity.js.map +1 -1
- package/dist/entity/stock-movement/stock-movement.entity.js +1 -0
- package/dist/entity/stock-movement/stock-movement.entity.js.map +1 -1
- package/dist/entity/surcharge/surcharge.entity.js +2 -0
- package/dist/entity/surcharge/surcharge.entity.js.map +1 -1
- package/dist/entity/tax-rate/tax-rate.entity.js +3 -0
- package/dist/entity/tax-rate/tax-rate.entity.js.map +1 -1
- package/dist/event-bus/event-bus.js +24 -4
- package/dist/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/events/initializer-event.d.ts +12 -0
- package/dist/event-bus/events/initializer-event.js +19 -0
- package/dist/event-bus/events/initializer-event.js.map +1 -0
- package/dist/event-bus/events/role-event.d.ts +1 -1
- package/dist/event-bus/events/role-event.js +1 -1
- package/dist/event-bus/events/search-event.d.ts +20 -0
- package/dist/event-bus/events/search-event.js +21 -0
- package/dist/event-bus/events/search-event.js.map +1 -0
- package/dist/event-bus/index.d.ts +2 -0
- package/dist/event-bus/index.js +2 -0
- package/dist/event-bus/index.js.map +1 -1
- package/dist/health-check/health-check-registry.service.d.ts +7 -1
- package/dist/health-check/health-check-registry.service.js +7 -1
- package/dist/health-check/health-check-registry.service.js.map +1 -1
- package/dist/health-check/health-check.module.d.ts +1 -3
- package/dist/health-check/health-check.module.js +6 -5
- package/dist/health-check/health-check.module.js.map +1 -1
- package/dist/health-check/http-health-check-strategy.d.ts +36 -0
- package/dist/health-check/http-health-check-strategy.js +41 -0
- package/dist/health-check/http-health-check-strategy.js.map +1 -0
- package/dist/health-check/index.d.ts +2 -0
- package/dist/health-check/index.js +2 -0
- package/dist/health-check/index.js.map +1 -1
- package/dist/health-check/typeorm-health-check-strategy.d.ts +36 -0
- package/dist/health-check/typeorm-health-check-strategy.js +44 -0
- package/dist/health-check/typeorm-health-check-strategy.js.map +1 -0
- package/dist/job-queue/subscribable-job.d.ts +23 -6
- package/dist/job-queue/subscribable-job.js +4 -4
- package/dist/job-queue/subscribable-job.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js +5 -3
- package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/default-search-plugin.d.ts +9 -3
- package/dist/plugin/default-search-plugin/default-search-plugin.js +25 -2
- package/dist/plugin/default-search-plugin/default-search-plugin.js.map +1 -1
- package/dist/plugin/default-search-plugin/fulltext-search.service.d.ts +3 -1
- package/dist/plugin/default-search-plugin/fulltext-search.service.js +29 -19
- package/dist/plugin/default-search-plugin/fulltext-search.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js +31 -25
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js +1 -1
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.d.ts +4 -4
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +15 -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.d.ts +4 -4
- package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +16 -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.d.ts +2 -1
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.d.ts +4 -4
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +15 -11
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/types.d.ts +85 -1
- package/dist/service/helpers/external-authentication/external-authentication.service.js +1 -1
- package/dist/service/helpers/external-authentication/external-authentication.service.js.map +1 -1
- package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +40 -1
- package/dist/service/helpers/list-query-builder/list-query-builder.js +153 -23
- package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
- package/dist/service/helpers/list-query-builder/parse-channel-param.d.ts +1 -1
- package/dist/service/helpers/list-query-builder/parse-channel-param.js +2 -2
- package/dist/service/helpers/list-query-builder/parse-channel-param.js.map +1 -1
- package/dist/service/helpers/list-query-builder/parse-filter-params.d.ts +1 -1
- package/dist/service/helpers/list-query-builder/parse-filter-params.js +3 -2
- 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 +2 -1
- package/dist/service/helpers/list-query-builder/parse-sort-params.js +12 -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.d.ts +4 -1
- package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js +4 -1
- package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js.map +1 -1
- package/dist/service/helpers/order-calculator/order-calculator.js +4 -4
- package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
- package/dist/service/helpers/order-calculator/prorate.js +1 -1
- package/dist/service/helpers/order-calculator/prorate.js.map +1 -1
- package/dist/service/helpers/order-modifier/order-modifier.d.ts +8 -1
- package/dist/service/helpers/order-modifier/order-modifier.js +101 -9
- package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
- package/dist/service/helpers/order-state-machine/order-state-machine.js +1 -1
- package/dist/service/helpers/order-state-machine/order-state-machine.js.map +1 -1
- package/dist/service/helpers/slug-validator/slug-validator.js +15 -6
- package/dist/service/helpers/slug-validator/slug-validator.js.map +1 -1
- package/dist/service/helpers/utils/order-utils.js +1 -1
- package/dist/service/helpers/utils/order-utils.js.map +1 -1
- package/dist/service/helpers/utils/translate-entity.js +1 -2
- package/dist/service/helpers/utils/translate-entity.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.js +1 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/initializer.service.d.ts +3 -1
- package/dist/service/initializer.service.js +8 -3
- package/dist/service/initializer.service.js.map +1 -1
- package/dist/service/services/administrator.service.d.ts +4 -3
- package/dist/service/services/administrator.service.js +16 -13
- package/dist/service/services/administrator.service.js.map +1 -1
- package/dist/service/services/asset.service.d.ts +5 -3
- package/dist/service/services/asset.service.js +25 -8
- package/dist/service/services/asset.service.js.map +1 -1
- package/dist/service/services/channel.service.d.ts +2 -1
- package/dist/service/services/channel.service.js +29 -18
- package/dist/service/services/channel.service.js.map +1 -1
- package/dist/service/services/collection.service.d.ts +8 -5
- package/dist/service/services/collection.service.js +49 -17
- package/dist/service/services/collection.service.js.map +1 -1
- package/dist/service/services/country.service.d.ts +3 -2
- package/dist/service/services/country.service.js +4 -4
- package/dist/service/services/country.service.js.map +1 -1
- package/dist/service/services/customer-group.service.d.ts +6 -3
- package/dist/service/services/customer-group.service.js +12 -7
- package/dist/service/services/customer-group.service.js.map +1 -1
- package/dist/service/services/customer.service.d.ts +3 -2
- package/dist/service/services/customer.service.js +4 -4
- package/dist/service/services/customer.service.js.map +1 -1
- package/dist/service/services/facet-value.service.d.ts +4 -0
- package/dist/service/services/facet-value.service.js +8 -4
- package/dist/service/services/facet-value.service.js.map +1 -1
- package/dist/service/services/facet.service.d.ts +7 -2
- package/dist/service/services/facet.service.js +22 -10
- package/dist/service/services/facet.service.js.map +1 -1
- package/dist/service/services/global-settings.service.js +5 -3
- package/dist/service/services/global-settings.service.js.map +1 -1
- package/dist/service/services/order.service.d.ts +30 -7
- package/dist/service/services/order.service.js +138 -69
- package/dist/service/services/order.service.js.map +1 -1
- package/dist/service/services/payment-method.service.d.ts +6 -3
- package/dist/service/services/payment-method.service.js +15 -8
- package/dist/service/services/payment-method.service.js.map +1 -1
- package/dist/service/services/payment.service.js +4 -4
- package/dist/service/services/payment.service.js.map +1 -1
- package/dist/service/services/product-option-group.service.d.ts +3 -2
- package/dist/service/services/product-option-group.service.js +4 -4
- package/dist/service/services/product-option-group.service.js.map +1 -1
- package/dist/service/services/product-variant.service.d.ts +11 -3
- package/dist/service/services/product-variant.service.js +58 -42
- package/dist/service/services/product-variant.service.js.map +1 -1
- package/dist/service/services/product.service.d.ts +5 -4
- package/dist/service/services/product.service.js +18 -8
- package/dist/service/services/product.service.js.map +1 -1
- package/dist/service/services/promotion.service.d.ts +3 -2
- package/dist/service/services/promotion.service.js +9 -7
- package/dist/service/services/promotion.service.js.map +1 -1
- package/dist/service/services/role.service.d.ts +5 -4
- package/dist/service/services/role.service.js +16 -13
- package/dist/service/services/role.service.js.map +1 -1
- package/dist/service/services/session.service.js +7 -7
- package/dist/service/services/session.service.js.map +1 -1
- package/dist/service/services/shipping-method.service.d.ts +3 -2
- package/dist/service/services/shipping-method.service.js +6 -6
- package/dist/service/services/shipping-method.service.js.map +1 -1
- package/dist/service/services/tax-rate.service.d.ts +3 -2
- package/dist/service/services/tax-rate.service.js +4 -4
- package/dist/service/services/tax-rate.service.js.map +1 -1
- package/dist/service/services/user.service.js +2 -1
- package/dist/service/services/user.service.js.map +1 -1
- package/dist/service/services/zone.service.d.ts +2 -2
- package/dist/service/services/zone.service.js +2 -2
- package/dist/service/services/zone.service.js.map +1 -1
- package/package.json +5 -4
|
@@ -2,6 +2,7 @@ import { AddPaymentToOrderResult, ApplyCouponCodeResult, PaymentInput, PaymentMe
|
|
|
2
2
|
import { AddFulfillmentToOrderResult, AddManualPaymentToOrderResult, AddNoteToOrderInput, CancelOrderInput, CancelOrderResult, CreateAddressInput, DeletionResponse, FulfillOrderInput, ManualPaymentInput, ModifyOrderInput, ModifyOrderResult, OrderListOptions, OrderProcessState, RefundOrderInput, RefundOrderResult, SettlePaymentResult, SettleRefundInput, ShippingMethodQuote, TransitionPaymentToStateResult, UpdateOrderNoteInput } from '@vendure/common/lib/generated-types';
|
|
3
3
|
import { ID, PaginatedList } from '@vendure/common/lib/shared-types';
|
|
4
4
|
import { RequestContext } from '../../api/common/request-context';
|
|
5
|
+
import { RelationPaths } from '../../api/decorators/relations.decorator';
|
|
5
6
|
import { RequestContextCacheService } from '../../cache/request-context-cache.service';
|
|
6
7
|
import { ErrorResultUnion } from '../../common/error/error-result';
|
|
7
8
|
import { FulfillmentStateTransitionError } from '../../common/error/generated-graphql-admin-errors';
|
|
@@ -13,6 +14,7 @@ import { Customer } from '../../entity/customer/customer.entity';
|
|
|
13
14
|
import { Fulfillment } from '../../entity/fulfillment/fulfillment.entity';
|
|
14
15
|
import { HistoryEntry } from '../../entity/history-entry/history-entry.entity';
|
|
15
16
|
import { OrderItem } from '../../entity/order-item/order-item.entity';
|
|
17
|
+
import { OrderLine } from '../../entity/order-line/order-line.entity';
|
|
16
18
|
import { OrderModification } from '../../entity/order-modification/order-modification.entity';
|
|
17
19
|
import { Order } from '../../entity/order/order.entity';
|
|
18
20
|
import { Payment } from '../../entity/payment/payment.entity';
|
|
@@ -81,10 +83,11 @@ export declare class OrderService {
|
|
|
81
83
|
* defined in the {@link OrderOptions} `process` array.
|
|
82
84
|
*/
|
|
83
85
|
getOrderProcessStates(): OrderProcessState[];
|
|
84
|
-
findAll(ctx: RequestContext, options?: OrderListOptions): Promise<PaginatedList<Order>>;
|
|
85
|
-
findOne(ctx: RequestContext, orderId: ID): Promise<Order | undefined>;
|
|
86
|
-
findOneByCode(ctx: RequestContext, orderCode: string): Promise<Order | undefined>;
|
|
87
|
-
|
|
86
|
+
findAll(ctx: RequestContext, options?: OrderListOptions, relations?: RelationPaths<Order>): Promise<PaginatedList<Order>>;
|
|
87
|
+
findOne(ctx: RequestContext, orderId: ID, relations?: RelationPaths<Order>): Promise<Order | undefined>;
|
|
88
|
+
findOneByCode(ctx: RequestContext, orderCode: string, relations?: RelationPaths<Order>): Promise<Order | undefined>;
|
|
89
|
+
findOneByOrderLineId(ctx: RequestContext, orderLineId: ID, relations?: RelationPaths<Order>): Promise<Order | undefined>;
|
|
90
|
+
findByCustomerId(ctx: RequestContext, customerId: ID, options?: ListQueryOptions<Order>, relations?: RelationPaths<Order>): Promise<PaginatedList<Order>>;
|
|
88
91
|
/**
|
|
89
92
|
* @description
|
|
90
93
|
* Returns all {@link Payment} entities associated with the Order.
|
|
@@ -229,7 +232,10 @@ export declare class OrderService {
|
|
|
229
232
|
* * Shipping or billing address changes
|
|
230
233
|
*
|
|
231
234
|
* Setting the `dryRun` input property to `true` will apply all changes, including updating the price of the
|
|
232
|
-
* Order,
|
|
235
|
+
* Order, except history entry and additional payment actions.
|
|
236
|
+
*
|
|
237
|
+
* __Using dryRun option, you must wrap function call in transaction manually.__
|
|
238
|
+
*
|
|
233
239
|
*/
|
|
234
240
|
modifyOrder(ctx: RequestContext, input: ModifyOrderInput): Promise<ErrorResultUnion<ModifyOrderResult, Order>>;
|
|
235
241
|
private handleFulfillmentStateTransitByOrder;
|
|
@@ -246,6 +252,13 @@ export declare class OrderService {
|
|
|
246
252
|
* state will get automatically transitioned to the `PaymentSettled` or `PaymentAuthorized` state.
|
|
247
253
|
*/
|
|
248
254
|
addPaymentToOrder(ctx: RequestContext, orderId: ID, input: PaymentInput): Promise<ErrorResultUnion<AddPaymentToOrderResult, Order>>;
|
|
255
|
+
/**
|
|
256
|
+
* @description
|
|
257
|
+
* We can add a Payment to the order if:
|
|
258
|
+
* 1. the Order is in the `ArrangingPayment` state or
|
|
259
|
+
* 2. the Order's current state can transition to `PaymentAuthorized` and `PaymentSettled`
|
|
260
|
+
*/
|
|
261
|
+
private canAddPaymentToOrder;
|
|
249
262
|
private transitionOrderIfTotalIsCovered;
|
|
250
263
|
/**
|
|
251
264
|
* @description
|
|
@@ -287,6 +300,7 @@ export declare class OrderService {
|
|
|
287
300
|
cancelOrder(ctx: RequestContext, input: CancelOrderInput): Promise<ErrorResultUnion<CancelOrderResult, Order>>;
|
|
288
301
|
private cancelOrderById;
|
|
289
302
|
private cancelOrderByOrderLines;
|
|
303
|
+
private getAllocatedItems;
|
|
290
304
|
/**
|
|
291
305
|
* @description
|
|
292
306
|
* Creates a {@link Refund} against the order and in doing so invokes the `createRefund()` method of the
|
|
@@ -310,6 +324,13 @@ export declare class OrderService {
|
|
|
310
324
|
addNoteToOrder(ctx: RequestContext, input: AddNoteToOrderInput): Promise<Order>;
|
|
311
325
|
updateOrderNote(ctx: RequestContext, input: UpdateOrderNoteInput): Promise<HistoryEntry>;
|
|
312
326
|
deleteOrderNote(ctx: RequestContext, id: ID): Promise<DeletionResponse>;
|
|
327
|
+
/**
|
|
328
|
+
* @description
|
|
329
|
+
* Deletes an Order, ensuring that any Sessions that reference this Order are dereferenced before deletion.
|
|
330
|
+
*
|
|
331
|
+
* @since 1.5.0
|
|
332
|
+
*/
|
|
333
|
+
deleteOrder(ctx: RequestContext, orderOrId: ID | Order): Promise<void>;
|
|
313
334
|
/**
|
|
314
335
|
* @description
|
|
315
336
|
* When a guest user with an anonymous Order signs in and has an existing Order associated with that Customer,
|
|
@@ -339,9 +360,11 @@ export declare class OrderService {
|
|
|
339
360
|
*/
|
|
340
361
|
private assertNotOverOrderLineItemsLimit;
|
|
341
362
|
/**
|
|
342
|
-
*
|
|
363
|
+
* @description
|
|
364
|
+
* Applies promotions, taxes and shipping to the Order. If the `updatedOrderLines` argument is passed in,
|
|
365
|
+
* then all of those OrderLines will have their prices re-calculated using the configured {@link OrderItemPriceCalculationStrategy}.
|
|
343
366
|
*/
|
|
344
|
-
|
|
367
|
+
applyPriceAdjustments(ctx: RequestContext, order: Order, updatedOrderLines?: OrderLine[]): Promise<Order>;
|
|
345
368
|
private getOrderWithFulfillments;
|
|
346
369
|
private getOrdersAndItemsFromLines;
|
|
347
370
|
private mergePaymentMetadata;
|
|
@@ -24,6 +24,7 @@ const tax_utils_1 = require("../../common/tax-utils");
|
|
|
24
24
|
const utils_1 = require("../../common/utils");
|
|
25
25
|
const config_service_1 = require("../../config/config.service");
|
|
26
26
|
const transactional_connection_1 = require("../../connection/transactional-connection");
|
|
27
|
+
const index_1 = require("../../entity/index");
|
|
27
28
|
const order_item_entity_1 = require("../../entity/order-item/order-item.entity");
|
|
28
29
|
const order_line_entity_1 = require("../../entity/order-line/order-line.entity");
|
|
29
30
|
const order_modification_entity_1 = require("../../entity/order-modification/order-modification.entity");
|
|
@@ -32,13 +33,14 @@ const payment_entity_1 = require("../../entity/payment/payment.entity");
|
|
|
32
33
|
const product_variant_entity_1 = require("../../entity/product-variant/product-variant.entity");
|
|
33
34
|
const refund_entity_1 = require("../../entity/refund/refund.entity");
|
|
34
35
|
const shipping_line_entity_1 = require("../../entity/shipping-line/shipping-line.entity");
|
|
36
|
+
const allocation_entity_1 = require("../../entity/stock-movement/allocation.entity");
|
|
35
37
|
const surcharge_entity_1 = require("../../entity/surcharge/surcharge.entity");
|
|
36
38
|
const event_bus_1 = require("../../event-bus/event-bus");
|
|
37
|
-
const index_1 = require("../../event-bus/index");
|
|
38
39
|
const index_2 = require("../../event-bus/index");
|
|
39
40
|
const index_3 = require("../../event-bus/index");
|
|
40
41
|
const index_4 = require("../../event-bus/index");
|
|
41
42
|
const index_5 = require("../../event-bus/index");
|
|
43
|
+
const index_6 = require("../../event-bus/index");
|
|
42
44
|
const custom_field_relation_service_1 = require("../helpers/custom-field-relation/custom-field-relation.service");
|
|
43
45
|
const list_query_builder_1 = require("../helpers/list-query-builder/list-query-builder");
|
|
44
46
|
const order_calculator_1 = require("../helpers/order-calculator/order-calculator");
|
|
@@ -105,11 +107,11 @@ let OrderService = class OrderService {
|
|
|
105
107
|
to,
|
|
106
108
|
}));
|
|
107
109
|
}
|
|
108
|
-
findAll(ctx, options) {
|
|
110
|
+
findAll(ctx, options, relations) {
|
|
109
111
|
return this.listQueryBuilder
|
|
110
112
|
.build(order_entity_1.Order, options, {
|
|
111
113
|
ctx,
|
|
112
|
-
relations: [
|
|
114
|
+
relations: relations !== null && relations !== void 0 ? relations : [
|
|
113
115
|
'lines',
|
|
114
116
|
'customer',
|
|
115
117
|
'lines.productVariant',
|
|
@@ -130,72 +132,81 @@ let OrderService = class OrderService {
|
|
|
130
132
|
};
|
|
131
133
|
});
|
|
132
134
|
}
|
|
133
|
-
async findOne(ctx, orderId) {
|
|
134
|
-
const qb = this.connection
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
.
|
|
145
|
-
.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
135
|
+
async findOne(ctx, orderId, relations) {
|
|
136
|
+
const qb = this.connection.getRepository(ctx, order_entity_1.Order).createQueryBuilder('order');
|
|
137
|
+
const effectiveRelations = relations !== null && relations !== void 0 ? relations : [
|
|
138
|
+
'channels',
|
|
139
|
+
'customer',
|
|
140
|
+
'customer.user',
|
|
141
|
+
'lines',
|
|
142
|
+
'lines.items',
|
|
143
|
+
'lines.items.fulfillments',
|
|
144
|
+
'lines.productVariant',
|
|
145
|
+
'lines.productVariant.taxCategory',
|
|
146
|
+
'lines.productVariant.productVariantPrices',
|
|
147
|
+
'lines.productVariant.translations',
|
|
148
|
+
'lines.featuredAsset',
|
|
149
|
+
'lines.taxCategory',
|
|
150
|
+
'shippingLines',
|
|
151
|
+
'surcharges',
|
|
152
|
+
];
|
|
153
|
+
if (relations &&
|
|
154
|
+
effectiveRelations.includes('lines.productVariant') &&
|
|
155
|
+
!effectiveRelations.includes('lines.productVariant.taxCategory')) {
|
|
156
|
+
effectiveRelations.push('lines.productVariant.taxCategory');
|
|
157
|
+
}
|
|
158
|
+
FindOptionsUtils_1.FindOptionsUtils.applyFindManyOptionsOrConditionsToQueryBuilder(qb, {
|
|
159
|
+
relations: effectiveRelations,
|
|
160
|
+
});
|
|
161
|
+
qb.leftJoin('order.channels', 'channel')
|
|
151
162
|
.where('order.id = :orderId', { orderId })
|
|
152
|
-
.andWhere('channel.id = :channelId', { channelId: ctx.channelId })
|
|
153
|
-
|
|
154
|
-
.addOrderBy('
|
|
163
|
+
.andWhere('channel.id = :channelId', { channelId: ctx.channelId });
|
|
164
|
+
if (effectiveRelations.includes('lines') && effectiveRelations.includes('lines.items')) {
|
|
165
|
+
qb.addOrderBy('order__lines.createdAt', 'ASC').addOrderBy('order__lines__items.createdAt', 'ASC');
|
|
166
|
+
}
|
|
155
167
|
// tslint:disable-next-line:no-non-null-assertion
|
|
156
168
|
FindOptionsUtils_1.FindOptionsUtils.joinEagerRelations(qb, qb.alias, qb.expressionMap.mainAlias.metadata);
|
|
157
169
|
const order = await qb.getOne();
|
|
158
170
|
if (order) {
|
|
159
|
-
|
|
160
|
-
|
|
171
|
+
if (effectiveRelations.includes('lines.productVariant')) {
|
|
172
|
+
for (const line of order.lines) {
|
|
173
|
+
line.productVariant = (0, translate_entity_1.translateDeep)(await this.productVariantService.applyChannelPriceAndTax(line.productVariant, ctx, order), ctx.languageCode);
|
|
174
|
+
}
|
|
161
175
|
}
|
|
162
176
|
return order;
|
|
163
177
|
}
|
|
164
178
|
}
|
|
165
|
-
async findOneByCode(ctx, orderCode) {
|
|
179
|
+
async findOneByCode(ctx, orderCode, relations) {
|
|
166
180
|
const order = await this.connection.getRepository(ctx, order_entity_1.Order).findOne({
|
|
167
181
|
relations: ['customer'],
|
|
168
182
|
where: {
|
|
169
183
|
code: orderCode,
|
|
170
184
|
},
|
|
171
185
|
});
|
|
172
|
-
return order ? this.findOne(ctx, order.id) : undefined;
|
|
186
|
+
return order ? this.findOne(ctx, order.id, relations) : undefined;
|
|
173
187
|
}
|
|
174
|
-
async
|
|
188
|
+
async findOneByOrderLineId(ctx, orderLineId, relations) {
|
|
189
|
+
const order = await this.connection
|
|
190
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
191
|
+
.createQueryBuilder('order')
|
|
192
|
+
.innerJoin('order.lines', 'line', 'line.id = :orderLineId', { orderLineId })
|
|
193
|
+
.getOne();
|
|
194
|
+
return order ? this.findOne(ctx, order.id, relations) : undefined;
|
|
195
|
+
}
|
|
196
|
+
async findByCustomerId(ctx, customerId, options, relations) {
|
|
197
|
+
const effectiveRelations = (relations !== null && relations !== void 0 ? relations : ['lines', 'lines.items', 'customer', 'channels', 'shippingLines']).filter(r =>
|
|
198
|
+
// Don't join productVariant because it messes with the
|
|
199
|
+
// price calculation in certain edge-case field resolver scenarios
|
|
200
|
+
!r.includes('productVariant'));
|
|
175
201
|
return this.listQueryBuilder
|
|
176
202
|
.build(order_entity_1.Order, options, {
|
|
177
|
-
relations: [
|
|
178
|
-
'lines',
|
|
179
|
-
'lines.items',
|
|
180
|
-
'lines.productVariant',
|
|
181
|
-
'lines.productVariant.options',
|
|
182
|
-
'customer',
|
|
183
|
-
'channels',
|
|
184
|
-
'shippingLines',
|
|
185
|
-
],
|
|
203
|
+
relations: relations !== null && relations !== void 0 ? relations : ['lines', 'lines.items', 'customer', 'channels', 'shippingLines'],
|
|
186
204
|
channelId: ctx.channelId,
|
|
187
205
|
ctx,
|
|
188
206
|
})
|
|
189
207
|
.andWhere('order.customer.id = :customerId', { customerId })
|
|
190
208
|
.getManyAndCount()
|
|
191
209
|
.then(([items, totalItems]) => {
|
|
192
|
-
items.forEach(item => {
|
|
193
|
-
item.lines.forEach(line => {
|
|
194
|
-
line.productVariant = (0, translate_entity_1.translateDeep)(line.productVariant, ctx.languageCode, [
|
|
195
|
-
'options',
|
|
196
|
-
]);
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
210
|
return {
|
|
200
211
|
items,
|
|
201
212
|
totalItems,
|
|
@@ -299,7 +310,7 @@ let OrderService = class OrderService {
|
|
|
299
310
|
}
|
|
300
311
|
await this.channelService.assignToCurrentChannel(newOrder, ctx);
|
|
301
312
|
const order = await this.connection.getRepository(ctx, order_entity_1.Order).save(newOrder);
|
|
302
|
-
this.eventBus.publish(new
|
|
313
|
+
this.eventBus.publish(new index_3.OrderEvent(ctx, order, 'created'));
|
|
303
314
|
const transitionResult = await this.transitionToState(ctx, order.id, 'AddingItems');
|
|
304
315
|
if ((0, error_result_1.isGraphQlErrorResult)(transitionResult)) {
|
|
305
316
|
// this should never occur, so we will throw rather than return
|
|
@@ -316,7 +327,7 @@ let OrderService = class OrderService {
|
|
|
316
327
|
order = (0, patch_entity_1.patchEntity)(order, { customFields });
|
|
317
328
|
await this.customFieldRelationService.updateRelations(ctx, order_entity_1.Order, { customFields }, order);
|
|
318
329
|
const updatedOrder = await this.connection.getRepository(ctx, order_entity_1.Order).save(order);
|
|
319
|
-
this.eventBus.publish(new
|
|
330
|
+
this.eventBus.publish(new index_3.OrderEvent(ctx, updatedOrder, 'updated'));
|
|
320
331
|
return updatedOrder;
|
|
321
332
|
}
|
|
322
333
|
/**
|
|
@@ -388,7 +399,7 @@ let OrderService = class OrderService {
|
|
|
388
399
|
if (correctedQuantity === 0) {
|
|
389
400
|
order.lines = order.lines.filter(l => !(0, utils_1.idsAreEqual)(l.id, orderLine.id));
|
|
390
401
|
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
|
|
391
|
-
this.eventBus.publish(new
|
|
402
|
+
this.eventBus.publish(new index_6.OrderLineEvent(ctx, order, orderLine, 'deleted'));
|
|
392
403
|
updatedOrderLines = [];
|
|
393
404
|
}
|
|
394
405
|
else {
|
|
@@ -417,7 +428,7 @@ let OrderService = class OrderService {
|
|
|
417
428
|
order.lines = order.lines.filter(line => !(0, utils_1.idsAreEqual)(line.id, orderLineId));
|
|
418
429
|
const updatedOrder = await this.applyPriceAdjustments(ctx, order);
|
|
419
430
|
await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
|
|
420
|
-
this.eventBus.publish(new
|
|
431
|
+
this.eventBus.publish(new index_6.OrderLineEvent(ctx, order, orderLine, 'deleted'));
|
|
421
432
|
return updatedOrder;
|
|
422
433
|
}
|
|
423
434
|
/**
|
|
@@ -484,7 +495,7 @@ let OrderService = class OrderService {
|
|
|
484
495
|
type: generated_types_1.HistoryEntryType.ORDER_COUPON_APPLIED,
|
|
485
496
|
data: { couponCode, promotionId: validationResult.id },
|
|
486
497
|
});
|
|
487
|
-
this.eventBus.publish(new
|
|
498
|
+
this.eventBus.publish(new index_2.CouponCodeEvent(ctx, couponCode, orderId, 'assigned'));
|
|
488
499
|
return this.applyPriceAdjustments(ctx, order);
|
|
489
500
|
}
|
|
490
501
|
/**
|
|
@@ -508,7 +519,7 @@ let OrderService = class OrderService {
|
|
|
508
519
|
type: generated_types_1.HistoryEntryType.ORDER_COUPON_REMOVED,
|
|
509
520
|
data: { couponCode },
|
|
510
521
|
});
|
|
511
|
-
this.eventBus.publish(new
|
|
522
|
+
this.eventBus.publish(new index_2.CouponCodeEvent(ctx, couponCode, orderId, 'removed'));
|
|
512
523
|
const result = await this.applyPriceAdjustments(ctx, order);
|
|
513
524
|
await this.connection.getRepository(ctx, order_item_entity_1.OrderItem).save(affectedOrderItems);
|
|
514
525
|
return result;
|
|
@@ -649,7 +660,7 @@ let OrderService = class OrderService {
|
|
|
649
660
|
return new generated_graphql_shop_errors_1.OrderStateTransitionError({ transitionError, fromState, toState: state });
|
|
650
661
|
}
|
|
651
662
|
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
652
|
-
this.eventBus.publish(new
|
|
663
|
+
this.eventBus.publish(new index_4.OrderStateTransitionEvent(fromState, state, ctx, order));
|
|
653
664
|
return order;
|
|
654
665
|
}
|
|
655
666
|
/**
|
|
@@ -681,20 +692,20 @@ let OrderService = class OrderService {
|
|
|
681
692
|
* * Shipping or billing address changes
|
|
682
693
|
*
|
|
683
694
|
* Setting the `dryRun` input property to `true` will apply all changes, including updating the price of the
|
|
684
|
-
* Order,
|
|
695
|
+
* Order, except history entry and additional payment actions.
|
|
696
|
+
*
|
|
697
|
+
* __Using dryRun option, you must wrap function call in transaction manually.__
|
|
698
|
+
*
|
|
685
699
|
*/
|
|
686
700
|
async modifyOrder(ctx, input) {
|
|
687
|
-
await this.connection.startTransaction(ctx);
|
|
688
701
|
const order = await this.getOrderOrThrow(ctx, input.orderId);
|
|
689
702
|
const result = await this.orderModifier.modifyOrder(ctx, input, order);
|
|
690
|
-
if (input.dryRun) {
|
|
691
|
-
await this.connection.rollBackTransaction(ctx);
|
|
692
|
-
return (0, error_result_1.isGraphQlErrorResult)(result) ? result : result.order;
|
|
693
|
-
}
|
|
694
703
|
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
695
|
-
await this.connection.rollBackTransaction(ctx);
|
|
696
704
|
return result;
|
|
697
705
|
}
|
|
706
|
+
if (input.dryRun) {
|
|
707
|
+
return result.order;
|
|
708
|
+
}
|
|
698
709
|
await this.historyService.createHistoryEntryForOrder({
|
|
699
710
|
ctx,
|
|
700
711
|
orderId: input.orderId,
|
|
@@ -703,7 +714,6 @@ let OrderService = class OrderService {
|
|
|
703
714
|
modificationId: result.modification.id,
|
|
704
715
|
},
|
|
705
716
|
});
|
|
706
|
-
await this.connection.commitOpenTransaction(ctx);
|
|
707
717
|
return this.getOrderOrThrow(ctx, input.orderId);
|
|
708
718
|
}
|
|
709
719
|
async handleFulfillmentStateTransitByOrder(ctx, order, fromState, toState) {
|
|
@@ -753,7 +763,7 @@ let OrderService = class OrderService {
|
|
|
753
763
|
*/
|
|
754
764
|
async addPaymentToOrder(ctx, orderId, input) {
|
|
755
765
|
const order = await this.getOrderOrThrow(ctx, orderId);
|
|
756
|
-
if (order
|
|
766
|
+
if (!this.canAddPaymentToOrder(order)) {
|
|
757
767
|
return new generated_graphql_shop_errors_1.OrderPaymentStateError();
|
|
758
768
|
}
|
|
759
769
|
order.payments = await this.getOrderPayments(ctx, order.id);
|
|
@@ -773,6 +783,20 @@ let OrderService = class OrderService {
|
|
|
773
783
|
}
|
|
774
784
|
return this.transitionOrderIfTotalIsCovered(ctx, order);
|
|
775
785
|
}
|
|
786
|
+
/**
|
|
787
|
+
* @description
|
|
788
|
+
* We can add a Payment to the order if:
|
|
789
|
+
* 1. the Order is in the `ArrangingPayment` state or
|
|
790
|
+
* 2. the Order's current state can transition to `PaymentAuthorized` and `PaymentSettled`
|
|
791
|
+
*/
|
|
792
|
+
canAddPaymentToOrder(order) {
|
|
793
|
+
if (order.state === 'ArrangingPayment') {
|
|
794
|
+
return true;
|
|
795
|
+
}
|
|
796
|
+
const canTransitionToPaymentAuthorized = this.orderStateMachine.canTransition(order.state, 'PaymentAuthorized');
|
|
797
|
+
const canTransitionToPaymentSettled = this.orderStateMachine.canTransition(order.state, 'PaymentSettled');
|
|
798
|
+
return canTransitionToPaymentAuthorized && canTransitionToPaymentSettled;
|
|
799
|
+
}
|
|
776
800
|
async transitionOrderIfTotalIsCovered(ctx, order) {
|
|
777
801
|
const orderId = order.id;
|
|
778
802
|
if ((0, order_utils_1.orderTotalIsCovered)(order, 'Settled') && order.state !== 'PaymentSettled') {
|
|
@@ -983,7 +1007,7 @@ let OrderService = class OrderService {
|
|
|
983
1007
|
}
|
|
984
1008
|
const fullOrder = await this.findOne(ctx, order.id);
|
|
985
1009
|
const soldItems = items.filter(i => !!i.fulfillment);
|
|
986
|
-
const allocatedItems =
|
|
1010
|
+
const allocatedItems = await this.getAllocatedItems(ctx, items);
|
|
987
1011
|
await this.stockMovementService.createCancellationsForOrderItems(ctx, soldItems);
|
|
988
1012
|
await this.stockMovementService.createReleasesForOrderItems(ctx, allocatedItems);
|
|
989
1013
|
items.forEach(i => (i.cancelled = true));
|
|
@@ -1017,6 +1041,25 @@ let OrderService = class OrderService {
|
|
|
1017
1041
|
});
|
|
1018
1042
|
return (0, order_utils_1.orderItemsAreAllCancelled)(orderWithItems);
|
|
1019
1043
|
}
|
|
1044
|
+
async getAllocatedItems(ctx, items) {
|
|
1045
|
+
const allocatedItems = [];
|
|
1046
|
+
const allocationMap = new Map();
|
|
1047
|
+
for (const item of items) {
|
|
1048
|
+
let allocation = allocationMap.get(item.lineId);
|
|
1049
|
+
if (!allocation) {
|
|
1050
|
+
allocation = await this.connection
|
|
1051
|
+
.getRepository(ctx, allocation_entity_1.Allocation)
|
|
1052
|
+
.createQueryBuilder('allocation')
|
|
1053
|
+
.where('allocation.orderLine = :lineId', { lineId: item.lineId })
|
|
1054
|
+
.getOne();
|
|
1055
|
+
allocationMap.set(item.lineId, allocation || false);
|
|
1056
|
+
}
|
|
1057
|
+
if (allocation && !item.fulfillment) {
|
|
1058
|
+
allocatedItems.push(item);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
return allocatedItems;
|
|
1062
|
+
}
|
|
1020
1063
|
/**
|
|
1021
1064
|
* @description
|
|
1022
1065
|
* Creates a {@link Refund} against the order and in doing so invokes the `createRefund()` method of the
|
|
@@ -1066,7 +1109,7 @@ let OrderService = class OrderService {
|
|
|
1066
1109
|
const toState = 'Settled';
|
|
1067
1110
|
await this.refundStateMachine.transition(ctx, refund.payment.order, refund, toState);
|
|
1068
1111
|
await this.connection.getRepository(ctx, refund_entity_1.Refund).save(refund);
|
|
1069
|
-
this.eventBus.publish(new
|
|
1112
|
+
this.eventBus.publish(new index_5.RefundStateTransitionEvent(fromState, toState, ctx, refund, refund.payment.order));
|
|
1070
1113
|
return refund;
|
|
1071
1114
|
}
|
|
1072
1115
|
/**
|
|
@@ -1134,6 +1177,34 @@ let OrderService = class OrderService {
|
|
|
1134
1177
|
};
|
|
1135
1178
|
}
|
|
1136
1179
|
}
|
|
1180
|
+
/**
|
|
1181
|
+
* @description
|
|
1182
|
+
* Deletes an Order, ensuring that any Sessions that reference this Order are dereferenced before deletion.
|
|
1183
|
+
*
|
|
1184
|
+
* @since 1.5.0
|
|
1185
|
+
*/
|
|
1186
|
+
async deleteOrder(ctx, orderOrId) {
|
|
1187
|
+
const orderToDelete = orderOrId instanceof order_entity_1.Order
|
|
1188
|
+
? orderOrId
|
|
1189
|
+
: await this.connection
|
|
1190
|
+
.getRepository(ctx, order_entity_1.Order)
|
|
1191
|
+
.findOneOrFail(orderOrId, { relations: ['lines'] });
|
|
1192
|
+
// If there is a Session referencing the Order to be deleted, we must first remove that
|
|
1193
|
+
// reference in order to avoid a foreign key error. See https://github.com/vendure-ecommerce/vendure/issues/1454
|
|
1194
|
+
const sessions = await this.connection
|
|
1195
|
+
.getRepository(ctx, index_1.Session)
|
|
1196
|
+
.find({ where: { activeOrderId: orderToDelete.id } });
|
|
1197
|
+
if (sessions.length) {
|
|
1198
|
+
await this.connection
|
|
1199
|
+
.getRepository(ctx, index_1.Session)
|
|
1200
|
+
.update(sessions.map(s => s.id), { activeOrder: null });
|
|
1201
|
+
}
|
|
1202
|
+
// TODO: v2 - Will not be needed after adding `{ onDelete: 'CASCADE' }` constraint to ShippingLine.order
|
|
1203
|
+
for (const shippingLine of orderToDelete.shippingLines) {
|
|
1204
|
+
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).delete(shippingLine.id);
|
|
1205
|
+
}
|
|
1206
|
+
await this.connection.getRepository(ctx, order_entity_1.Order).delete(orderToDelete.id);
|
|
1207
|
+
}
|
|
1137
1208
|
/**
|
|
1138
1209
|
* @description
|
|
1139
1210
|
* When a guest user with an anonymous Order signs in and has an existing Order associated with that Customer,
|
|
@@ -1151,11 +1222,7 @@ let OrderService = class OrderService {
|
|
|
1151
1222
|
const { orderToDelete, linesToInsert, linesToDelete, linesToModify } = mergeResult;
|
|
1152
1223
|
let { order } = mergeResult;
|
|
1153
1224
|
if (orderToDelete) {
|
|
1154
|
-
|
|
1155
|
-
for (const shippingLine of orderToDelete.shippingLines) {
|
|
1156
|
-
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).delete(shippingLine.id);
|
|
1157
|
-
}
|
|
1158
|
-
await this.connection.getRepository(ctx, order_entity_1.Order).delete(orderToDelete.id);
|
|
1225
|
+
await this.deleteOrder(ctx, orderToDelete);
|
|
1159
1226
|
}
|
|
1160
1227
|
if (order && linesToInsert) {
|
|
1161
1228
|
const orderId = order.id;
|
|
@@ -1244,7 +1311,9 @@ let OrderService = class OrderService {
|
|
|
1244
1311
|
}
|
|
1245
1312
|
}
|
|
1246
1313
|
/**
|
|
1247
|
-
*
|
|
1314
|
+
* @description
|
|
1315
|
+
* Applies promotions, taxes and shipping to the Order. If the `updatedOrderLines` argument is passed in,
|
|
1316
|
+
* then all of those OrderLines will have their prices re-calculated using the configured {@link OrderItemPriceCalculationStrategy}.
|
|
1248
1317
|
*/
|
|
1249
1318
|
async applyPriceAdjustments(ctx, order, updatedOrderLines) {
|
|
1250
1319
|
var _a, _b;
|