Skip to main content

Class: ShippingOptionService

Provides layer to manipulate profiles.

Hierarchy​

  • TransactionBaseService

    ↳ ShippingOptionService

Constructors​

constructor​

• new ShippingOptionService(__namedParameters)

Parameters​

NameType
__namedParametersInjectedDependencies

Overrides​

TransactionBaseService.constructor

Defined in​

medusa/src/services/shipping-option.ts:52

Properties​

__configModule__​

• Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from​

TransactionBaseService.__configModule__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:14


__container__​

• Protected Readonly __container__: any

Inherited from​

TransactionBaseService.__container__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:13


__moduleDeclaration__​

• Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from​

TransactionBaseService.__moduleDeclaration__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:15


featureFlagRouter_​

• Protected Readonly featureFlagRouter_: FlagRouter

Defined in​

medusa/src/services/shipping-option.ts:50


manager_​

• Protected manager_: EntityManager

Inherited from​

TransactionBaseService.manager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:5


methodRepository_​

• Protected Readonly methodRepository_: Repository<ShippingMethod>

Defined in​

medusa/src/services/shipping-option.ts:49


optionRepository_​

• Protected Readonly optionRepository_: Repository<ShippingOption> & { upsertShippingProfile: (shippingOptionIds: string[], shippingProfileId: string) => Promise<ShippingOption[]> }

Defined in​

medusa/src/services/shipping-option.ts:48


providerService_​

• Protected Readonly providerService_: FulfillmentProviderService

Defined in​

medusa/src/services/shipping-option.ts:44


regionService_​

• Protected Readonly regionService_: RegionService

Defined in​

medusa/src/services/shipping-option.ts:45


requirementRepository_​

• Protected Readonly requirementRepository_: Repository<ShippingOptionRequirement>

Defined in​

medusa/src/services/shipping-option.ts:47


transactionManager_​

• Protected transactionManager_: undefined | EntityManager

Inherited from​

TransactionBaseService.transactionManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:6

Accessors​

activeManager_​

• Protected get activeManager_(): EntityManager

Returns​

EntityManager

Inherited from​

TransactionBaseService.activeManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:8

Methods​

addRequirement​

▸ addRequirement(optionId, requirement): Promise<ShippingOption>

Adds a requirement to a shipping option. Only 1 requirement of each type is allowed.

Parameters​

NameTypeDescription
optionIdstringthe option to add the requirement to.
requirementShippingOptionRequirementthe requirement for the option.

Returns​

Promise<ShippingOption>

the result of update

Defined in​

medusa/src/services/shipping-option.ts:693


atomicPhase_​

▸ Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type parameters​

Name
TResult
TError

Parameters​

NameTypeDescription
work(transactionManager: EntityManager) => Promise<TResult>the transactional work to be done
isolationOrErrorHandler?IsolationLevel | (error: TError) => Promise<void | TResult>the isolation level to be used for the work.
maybeErrorHandlerOrDontFail?(error: TError) => Promise<void | TResult>Potential error handler

Returns​

Promise<TResult>

the result of the transactional work

Inherited from​

TransactionBaseService.atomicPhase_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:56


create​

▸ create(data): Promise<ShippingOption>

Creates a new shipping option. Used both for outbound and inbound shipping options. The difference is registered by the is_return field which defaults to false.

Parameters​

NameTypeDescription
dataCreateShippingOptionInputthe data to create shipping options

Returns​

Promise<ShippingOption>

the result of the create operation

Defined in​

medusa/src/services/shipping-option.ts:431


createShippingMethod​

▸ createShippingMethod(optionId, data, config): Promise<ShippingMethod>

Creates a shipping method for a given cart.

Parameters​

NameTypeDescription
optionIdstringthe id of the option to use for the method.
dataRecord<string, unknown>the optional provider data to use.
configCreateShippingMethodDtothe cart to create the shipping method for.

Returns​

Promise<ShippingMethod>

the resulting shipping method.

Defined in​

medusa/src/services/shipping-option.ts:258


delete​

▸ delete(optionId): Promise<void | ShippingOption>

Deletes a profile with a given profile id.

Parameters​

NameTypeDescription
optionIdstringthe id of the profile to delete. Must be castable as an ObjectId

Returns​

Promise<void | ShippingOption>

the result of the delete operation.

Defined in​

medusa/src/services/shipping-option.ts:671


deleteShippingMethods​

▸ deleteShippingMethods(shippingMethods): Promise<ShippingMethod[]>

Removes a given shipping method

Parameters​

NameTypeDescription
shippingMethodsShippingMethod | ShippingMethod[]the shipping method to remove

Returns​

Promise<ShippingMethod[]>

removed shipping methods

Defined in​

medusa/src/services/shipping-option.ts:238


getPrice_​

▸ getPrice_(option, data, cart): Promise<number>

Returns the amount to be paid for a shipping method. Will ask the fulfillment provider to calculate the price if the shipping option has the price type "calculated".

Parameters​

NameTypeDescription
optionShippingOptionthe shipping option to retrieve the price for.
dataRecord<string, unknown>the shipping data to retrieve the price.
cartundefined | Order | Cartthe context in which the price should be retrieved.

Returns​

Promise<number>

the price of the shipping option.

Defined in​

medusa/src/services/shipping-option.ts:771


list​

▸ list(selector, config?): Promise<ShippingOption[]>

Parameters​

NameTypeDescription
selectorSelector<ShippingOption>the query object for find
configFindConfig<ShippingOption>config object

Returns​

Promise<ShippingOption[]>

the result of the find operation

Defined in​

medusa/src/services/shipping-option.ts:145


listAndCount​

▸ listAndCount(selector, config?): Promise<[ShippingOption[], number]>

Parameters​

NameTypeDescription
selectorSelector<ShippingOption>the query object for find
configFindConfig<ShippingOption>config object

Returns​

Promise<[ShippingOption[], number]>

the result of the find operation

Defined in​

medusa/src/services/shipping-option.ts:160


removeRequirement​

▸ removeRequirement(requirementId): Promise<void | ShippingOptionRequirement>

Removes a requirement from a shipping option

Parameters​

NameTypeDescription
requirementIdanythe id of the requirement to remove

Returns​

Promise<void | ShippingOptionRequirement>

the result of update

Defined in​

medusa/src/services/shipping-option.ts:722


retrieve​

▸ retrieve(optionId, options?): Promise<ShippingOption>

Gets a profile by id. Throws in case of DB Error and if profile was not found.

Parameters​

NameTypeDescription
optionIdanythe id of the profile to get.
optionsFindConfig<ShippingOption>the options to get a profile

Returns​

Promise<ShippingOption>

the profile document.

Defined in​

medusa/src/services/shipping-option.ts:177


shouldRetryTransaction_​

▸ Protected shouldRetryTransaction_(err): boolean

Parameters​

NameType
errRecord<string, unknown> | { code: string }

Returns​

boolean

Inherited from​

TransactionBaseService.shouldRetryTransaction_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:37


update​

▸ update(optionId, update): Promise<ShippingOption>

Updates a profile. Metadata updates and product updates should use dedicated methods, e.g. setMetadata, etc. The function will throw errors if metadata or product updates are attempted.

Parameters​

NameTypeDescription
optionIdstringthe id of the option. Must be a string that can be casted to an ObjectId
updateUpdateShippingOptionInputan object with the update values.

Returns​

Promise<ShippingOption>

resolves to the update result.

Defined in​

medusa/src/services/shipping-option.ts:559


updateShippingMethod​

▸ updateShippingMethod(id, update): Promise<undefined | ShippingMethod>

Updates a shipping method's associations. Useful when a cart is completed and its methods should be copied to an order/swap entity.

Parameters​

NameTypeDescription
idstringthe id of the shipping method to update
updateShippingMethodUpdatethe values to update the method with

Returns​

Promise<undefined | ShippingMethod>

the resulting shipping method

Defined in​

medusa/src/services/shipping-option.ts:211


updateShippingProfile​

▸ updateShippingProfile(optionIds, profileId): Promise<ShippingOption[]>

Parameters​

NameTypeDescription
optionIdsstring | string[]ID or IDs of the shipping options to update
profileIdstringShipping profile ID to update the shipping options with

Returns​

Promise<ShippingOption[]>

updated shipping options

Defined in​

medusa/src/services/shipping-option.ts:747


validateAndMutatePrice​

▸ Private validateAndMutatePrice(option, priceInput): Promise<CreateShippingOptionInput | Omit<ShippingOption, "beforeInsert">>

Parameters​

NameType
optionShippingOption | CreateShippingOptionInput
priceInputValidatePriceTypeAndAmountInput

Returns​

Promise<CreateShippingOptionInput | Omit<ShippingOption, "beforeInsert">>

Defined in​

medusa/src/services/shipping-option.ts:388


validateCartOption​

▸ validateCartOption(option, cart): Promise<null | ShippingOption>

Checks if a given option id is a valid option for a cart. If it is the option is returned with the correct price. Throws when region_ids do not match, or when the shipping option requirements are not satisfied.

Parameters​

NameTypeDescription
optionShippingOptionthe option object to check
cartCartthe cart object to check against

Returns​

Promise<null | ShippingOption>

the validated shipping option

Defined in​

medusa/src/services/shipping-option.ts:346


validatePriceType_​

▸ validatePriceType_(priceType, option): Promise<ShippingOptionPriceType>

Validates a shipping option price

Parameters​

NameTypeDescription
priceTypeShippingOptionPriceTypethe price to validate
optionShippingOptionthe option to validate against

Returns​

Promise<ShippingOptionPriceType>

the validated price

Defined in​

medusa/src/services/shipping-option.ts:519


validateRequirement_​

▸ validateRequirement_(requirement, optionId?): Promise<ShippingOptionRequirement>

Validates a requirement

Parameters​

NameTypeDefault valueDescription
requirementShippingOptionRequirementundefinedthe requirement to validate
optionIdundefined | stringundefinedthe id to validate the requirement

Returns​

Promise<ShippingOptionRequirement>

a validated shipping requirement

Defined in​

medusa/src/services/shipping-option.ts:77


withTransaction​

▸ withTransaction(transactionManager?): ShippingOptionService

Parameters​

NameType
transactionManager?EntityManager

Returns​

ShippingOptionService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

medusa/src/interfaces/transaction-base-service.ts:20

Was this section helpful?