Class: FulfillmentService
Handles Fulfillments
Hierarchy
TransactionBaseService
↳
FulfillmentService
Constructors
constructor
• new FulfillmentService(__namedParameters
)
Parameters
Name | Type |
---|---|
__namedParameters | InjectedDependencies |
Overrides
TransactionBaseService.constructor
Defined in
packages/medusa/src/services/fulfillment.ts:50
Properties
__configModule__
• Protected
Optional
Readonly
__configModule__: Record
<string
, unknown
>
Inherited from
TransactionBaseService.__configModule__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:10
__container__
• Protected
Readonly
__container__: any
Inherited from
TransactionBaseService.__container__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:9
__moduleDeclaration__
• Protected
Optional
Readonly
__moduleDeclaration__: Record
<string
, unknown
>
Inherited from
TransactionBaseService.__moduleDeclaration__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:11
fulfillmentProviderService_
• Protected
Readonly
fulfillmentProviderService_: FulfillmentProviderService
Defined in
packages/medusa/src/services/fulfillment.ts:43
fulfillmentRepository_
• Protected
Readonly
fulfillmentRepository_: typeof FulfillmentRepository
Defined in
packages/medusa/src/services/fulfillment.ts:44
lineItemRepository_
• Protected
Readonly
lineItemRepository_: typeof LineItemRepository
Defined in
packages/medusa/src/services/fulfillment.ts:46
lineItemService_
• Protected
Readonly
lineItemService_: LineItemService
Defined in
packages/medusa/src/services/fulfillment.ts:41
manager_
• Protected
manager_: EntityManager
Overrides
TransactionBaseService.manager_
Defined in
packages/medusa/src/services/fulfillment.ts:37
productVariantInventoryService_
• Protected
Readonly
productVariantInventoryService_: ProductVariantInventoryService
Defined in
packages/medusa/src/services/fulfillment.ts:48
shippingProfileService_
• Protected
Readonly
shippingProfileService_: ShippingProfileService
Defined in
packages/medusa/src/services/fulfillment.ts:42
totalsService_
• Protected
Readonly
totalsService_: TotalsService
Defined in
packages/medusa/src/services/fulfillment.ts:40
trackingLinkRepository_
• Protected
Readonly
trackingLinkRepository_: typeof TrackingLinkRepository
Defined in
packages/medusa/src/services/fulfillment.ts:45
transactionManager_
• Protected
transactionManager_: undefined
| EntityManager
Overrides
TransactionBaseService.transactionManager_
Defined in
packages/medusa/src/services/fulfillment.ts:38
Methods
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
Name | Type | Description |
---|---|---|
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
packages/medusa/src/interfaces/transaction-base-service.ts:50
cancelFulfillment
▸ cancelFulfillment(fulfillmentOrId
): Promise
<Fulfillment
>
Cancels a fulfillment with the fulfillment provider. Will decrement the fulfillment_quantity on the line items associated with the fulfillment. Throws if the fulfillment has already been shipped.
Parameters
Name | Type | Description |
---|---|---|
fulfillmentOrId | string | Fulfillment | the fulfillment object or id. |
Returns
Promise
<Fulfillment
>
the result of the save operation
Defined in
packages/medusa/src/services/fulfillment.ts:269
createFulfillment
▸ createFulfillment(order
, itemsToFulfill
, custom?
, context?
): Promise
<Fulfillment
[]>
Creates an order fulfillment If items needs to be fulfilled by different provider, we make sure to partition those items, and create fulfillment for those partitions.
Parameters
Name | Type | Description |
---|---|---|
order | CreateFulfillmentOrder | order to create fulfillment for |
itemsToFulfill | FulFillmentItemType [] | the items in the order to fulfill |
custom | Partial <Fulfillment > | potential custom values to add |
context | Object | - |
context.locationId? | string | - |
Returns
Promise
<Fulfillment
[]>
the created fulfillments
Defined in
packages/medusa/src/services/fulfillment.ts:211
createShipment
▸ createShipment(fulfillmentId
, trackingLinks?
, config?
): Promise
<Fulfillment
>
Creates a shipment by marking a fulfillment as shipped. Adds tracking links and potentially more metadata.
Parameters
Name | Type | Description |
---|---|---|
fulfillmentId | string | the fulfillment to ship |
trackingLinks? | { tracking_number : string }[] | tracking links for the shipment |
config | CreateShipmentConfig | potential configuration settings, such as no_notification and metadata |
Returns
Promise
<Fulfillment
>
the shipped fulfillment
Defined in
packages/medusa/src/services/fulfillment.ts:321
getFulfillmentItems_
▸ getFulfillmentItems_(order
, items
): Promise
<(null
| LineItem
)[]>
Retrieves the order line items, given an array of items.
Parameters
Name | Type | Description |
---|---|---|
order | CreateFulfillmentOrder | the order to get line items from |
items | FulFillmentItemType [] | the items to get |
Returns
Promise
<(null
| LineItem
)[]>
the line items generated by the transformer.
Defined in
packages/medusa/src/services/fulfillment.ts:115
partitionItems_
▸ partitionItems_(shippingMethods
, items
): FulfillmentItemPartition
[]
Parameters
Name | Type |
---|---|
shippingMethods | ShippingMethod [] |
items | LineItem [] |
Returns
FulfillmentItemPartition
[]
Defined in
packages/medusa/src/services/fulfillment.ts:76
retrieve
▸ retrieve(fulfillmentId
, config?
): Promise
<Fulfillment
>
Retrieves a fulfillment by its id.
Parameters
Name | Type | Description |
---|---|---|
fulfillmentId | string | the id of the fulfillment to retrieve |
config | FindConfig <Fulfillment > | optional values to include with fulfillmentRepository query |
Returns
Promise
<Fulfillment
>
the fulfillment
Defined in
packages/medusa/src/services/fulfillment.ts:172
shouldRetryTransaction_
▸ Protected
shouldRetryTransaction_(err
): boolean
Parameters
Name | Type |
---|---|
err | Record <string , unknown > | { code : string } |
Returns
boolean
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:31
validateFulfillmentLineItem_
▸ validateFulfillmentLineItem_(item
, quantity
): null
| LineItem
Checks that a given quantity of a line item can be fulfilled. Fails if the fulfillable quantity is lower than the requested fulfillment quantity. Fulfillable quantity is calculated by subtracting the already fulfilled quantity from the quantity that was originally purchased.
Parameters
Name | Type | Description |
---|---|---|
item | undefined | LineItem | the line item to check has sufficient fulfillable quantity. |
quantity | number | the quantity that is requested to be fulfilled. |
Returns
null
| LineItem
a line item that has the requested fulfillment quantity set.
Defined in
packages/medusa/src/services/fulfillment.ts:140
withTransaction
▸ withTransaction(transactionManager?
): FulfillmentService
Parameters
Name | Type |
---|---|
transactionManager? | EntityManager |
Returns
Inherited from
TransactionBaseService.withTransaction
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:14