10 KiB
Class: FulfillmentService
Handles Fulfillments
Hierarchy
-
TransactionBaseService<FulfillmentService>↳
FulfillmentService
Constructors
constructor
• new FulfillmentService(__namedParameters)
Parameters
| Name | Type |
|---|---|
__namedParameters |
InjectedDependencies |
Overrides
TransactionBaseService<FulfillmentService>.constructor
Defined in
Properties
configModule
• Protected Optional Readonly configModule: Record<string, unknown>
Inherited from
TransactionBaseService.configModule
container
• Protected Readonly container: unknown
Inherited from
TransactionBaseService.container
fulfillmentProviderService_
• Protected Readonly fulfillmentProviderService_: FulfillmentProviderService
Defined in
fulfillmentRepository_
• Protected Readonly fulfillmentRepository_: typeof FulfillmentRepository
Defined in
lineItemRepository_
• Protected Readonly lineItemRepository_: typeof LineItemRepository
Defined in
lineItemService_
• Protected Readonly lineItemService_: LineItemService
Defined in
manager_
• Protected manager_: EntityManager
Overrides
TransactionBaseService.manager_
Defined in
shippingProfileService_
• Protected Readonly shippingProfileService_: ShippingProfileService
Defined in
totalsService_
• Protected Readonly totalsService_: TotalsService
Defined in
trackingLinkRepository_
• Protected Readonly trackingLinkRepository_: typeof TrackingLinkRepository
Defined in
transactionManager_
• Protected transactionManager_: undefined | EntityManager
Overrides
TransactionBaseService.transactionManager_
Defined in
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
interfaces/transaction-base-service.ts:53
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
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
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
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
partitionItems_
▸ partitionItems_(shippingMethods, items): FulfillmentItemPartition[]
Parameters
| Name | Type |
|---|---|
shippingMethods |
ShippingMethod[] |
items |
LineItem[] |
Returns
FulfillmentItemPartition[]
Defined in
retrieve
▸ retrieve(id, config?): Promise<Fulfillment>
Retrieves a fulfillment by its id.
Parameters
| Name | Type | Description |
|---|---|---|
id |
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
shouldRetryTransaction_
▸ Protected shouldRetryTransaction_(err): boolean
Parameters
| Name | Type |
|---|---|
err |
Record<string, unknown> | { code: string } |
Returns
boolean
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
interfaces/transaction-base-service.ts:34
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
withTransaction
▸ withTransaction(transactionManager?): FulfillmentService
Parameters
| Name | Type |
|---|---|
transactionManager? |
EntityManager |
Returns
Inherited from
TransactionBaseService.withTransaction