Class: FulfillmentService
Handles Fulfillments
Hierarchy
TransactionBaseService
↳
FulfillmentService
Constructors
constructor
• new FulfillmentService(__namedParameters
)
Parameters
Name | Type |
---|---|
__namedParameters | InjectedDependencies |
Overrides
TransactionBaseService.constructor
Defined in
medusa/src/services/fulfillment.ts:47
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
fulfillmentProviderService_
• Protected
Readonly
fulfillmentProviderService_: FulfillmentProviderService
Defined in
medusa/src/services/fulfillment.ts:40
fulfillmentRepository_
• Protected
Readonly
fulfillmentRepository_: Repository
<Fulfillment
>
Defined in
medusa/src/services/fulfillment.ts:41
lineItemRepository_
• Protected
Readonly
lineItemRepository_: Repository
<LineItem
> & { findByReturn
: (returnId
: string
) => Promise
<LineItem
& { return_item
: ReturnItem
}[]> }
Defined in
medusa/src/services/fulfillment.ts:43
lineItemService_
• Protected
Readonly
lineItemService_: LineItemService
Defined in
medusa/src/services/fulfillment.ts:38
manager_
• Protected
manager_: EntityManager
Inherited from
TransactionBaseService.manager_
Defined in
medusa/src/interfaces/transaction-base-service.ts:5
productVariantInventoryService_
• Protected
Readonly
productVariantInventoryService_: ProductVariantInventoryService
Defined in
medusa/src/services/fulfillment.ts:45
shippingProfileService_
• Protected
Readonly
shippingProfileService_: ShippingProfileService
Defined in
medusa/src/services/fulfillment.ts:39
totalsService_
• Protected
Readonly
totalsService_: TotalsService
Defined in
medusa/src/services/fulfillment.ts:37
trackingLinkRepository_
• Protected
Readonly
trackingLinkRepository_: Repository
<TrackingLink
>
Defined in
medusa/src/services/fulfillment.ts:42
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
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
medusa/src/interfaces/transaction-base-service.ts:56
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
medusa/src/services/fulfillment.ts:260
createFulfillment
▸ createFulfillment(order
, itemsToFulfill
, custom?
): 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 |
Returns
Promise
<Fulfillment
[]>
the created fulfillments
Defined in
medusa/src/services/fulfillment.ts:205
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
medusa/src/services/fulfillment.ts:312
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
medusa/src/services/fulfillment.ts:109
partitionItems_
▸ partitionItems_(shippingMethods
, items
): FulfillmentItemPartition
[]
Parameters
Name | Type |
---|---|
shippingMethods | ShippingMethod [] |
items | LineItem [] |
Returns
FulfillmentItemPartition
[]
Defined in
medusa/src/services/fulfillment.ts:70
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
medusa/src/services/fulfillment.ts:167
shouldRetryTransaction_
▸ Protected
shouldRetryTransaction_(err
): boolean
Parameters
Name | Type |
---|---|
err | Record <string , unknown > | { code : string } |
Returns
boolean
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
medusa/src/interfaces/transaction-base-service.ts:37
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
medusa/src/services/fulfillment.ts:134
withTransaction
▸ withTransaction(transactionManager?
): FulfillmentService
Parameters
Name | Type |
---|---|
transactionManager? | EntityManager |
Returns
Inherited from
TransactionBaseService.withTransaction