SwapService
Handles swaps
Constructors
constructor
**new SwapService**(«destructured»)
Parameters
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>manager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "swap.created"
Events.FULFILLMENT_CREATEDstringRequiredDefault: "swap.fulfillment_created"
Events.PAYMENT_CAPTUREDstringRequiredDefault: "swap.payment_captured"
Events.PAYMENT_CAPTURE_FAILEDstringRequiredDefault: "swap.payment_capture_failed"
Events.PAYMENT_COMPLETEDstringRequiredDefault: "swap.payment_completed"
Events.PROCESS_REFUND_FAILEDstringRequiredDefault: "swap.process_refund_failed"
Events.RECEIVEDstringRequiredDefault: "swap.received"
Events.REFUND_PROCESSEDstringRequiredDefault: "swap.refund_processed"
Events.SHIPMENT_CREATEDstringRequiredDefault: "swap.shipment_created"
Accessors
activeManager_
Protected get**activeManager_**(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredMethods
areReturnItemsValid
Protected **areReturnItemsValid**(returnItems): Promise<boolean>
Parameters
Returns
Promise<boolean>
PromisePromise<boolean>RequiredatomicPhase_
Protected **atomicPhase_**<TypeParameter TResult, TypeParameter 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.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>Requiredcancel
**cancel**(swapId): Promise<[Swap](/references/services/classes/Swap)>
Cancels a given swap if possible. A swap can only be canceled if all related returns, fulfillments, and payments have been canceled. If a swap is associated with a refund, it cannot be canceled.
Parameters
swapIdstringRequiredReturns
Promise<Swap>
cancelFulfillment
**cancelFulfillment**(fulfillmentId): Promise<[Swap](/references/services/classes/Swap)>
Cancels a fulfillment (if related to a swap)
Parameters
fulfillmentIdstringRequiredReturns
Promise<Swap>
create
**create**(order, returnItems, additionalItems?, returnShipping?, custom?): Promise<[Swap](/references/services/classes/Swap)>
Creates a swap from an order, with given return items, additional items and an optional return shipping method.
Parameters
returnShippingobjectreturnShipping.option_idstringRequiredreturnShipping.pricenumbercustomobjectRequiredcustom.allow_backorderbooleancustom.idempotency_keystringcustom.location_idstringcustom.no_notificationbooleanReturns
Promise<Swap>
createCart
**createCart**(swapId, customShippingOptions?, context?): Promise<[Swap](/references/services/classes/Swap)>
Creates a cart from the given swap. The cart can be used to pay for differences associated with the swap. The swap represented by the swapId must belong to the order. Fails if there is already a cart on the swap.
Parameters
swapIdstringRequiredcustomShippingOptions{ option_id: string ; price: number }[]RequiredDefault: []
contextobjectRequiredDefault: {}
context.sales_channel_idstringReturns
Promise<Swap>
createFulfillment
**createFulfillment**(swapId, config?): Promise<[Swap](/references/services/classes/Swap)>
Fulfills the additional items associated with the swap. Will call the fulfillment providers associated with the shipping methods.
Parameters
swapIdstringRequiredReturns
Promise<Swap>
createShipment
**createShipment**(swapId, fulfillmentId, trackingLinks?, config?): Promise<[Swap](/references/services/classes/Swap)>
Marks a fulfillment as shipped and attaches tracking numbers.
Parameters
swapIdstringRequiredfulfillmentIdstringRequiredtrackingLinks{ tracking_number: string }[]Returns
Promise<Swap>
deleteMetadata
**deleteMetadata**(swapId, key): Promise<[Swap](/references/services/classes/Swap)>
Dedicated method to delete metadata for a swap.
Parameters
swapIdstringRequiredkeystringRequiredReturns
Promise<Swap>
list
**list**(selector, config?): Promise<[Swap](/references/services/classes/Swap)[]>
List swaps.
Parameters
Returns
Promise<Swap[]>
listAndCount
**listAndCount**(selector, config?): Promise<[[Swap](/references/services/classes/Swap)[], number]>
List swaps.
Parameters
Returns
Promise<[Swap[], number]>
processDifference
**processDifference**(swapId): Promise<[Swap](/references/services/classes/Swap)>
Process difference for the requested swap.
Parameters
swapIdstringRequiredReturns
Promise<Swap>
registerCartCompletion
**registerCartCompletion**(swapId): Promise<[Swap](/references/services/classes/Swap)>
Register a cart completion
Parameters
swapIdstringRequiredReturns
Promise<Swap>
registerReceived
**registerReceived**(id): Promise<[Swap](/references/services/classes/Swap)>
Registers the swap return items as received so that they cannot be used as a part of other swaps/returns.
Parameters
idanyRequiredReturns
Promise<Swap>
retrieve
**retrieve**(swapId, config?): Promise<[Swap](/references/services/classes/Swap)>
Retrieves a swap with the given id.
Parameters
swapIdstringRequiredDefault: {}
Returns
Promise<Swap>
retrieveByCartId
**retrieveByCartId**(cartId, relations?): Promise<[Swap](/references/services/classes/Swap)>
Retrieves a swap based on its associated cart id
Parameters
cartIdstringRequiredrelationsundefined | string[]RequiredDefault: []
Returns
Promise<Swap>
shouldRetryTransaction_
Protected **shouldRetryTransaction_**(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleantransformQueryForCart
Protected **transformQueryForCart**(config): [Omit](/references/services/types/Omit)<[FindConfig](/references/services/interfaces/FindConfig)<[Swap](/references/services/classes/Swap)>, "select"> & { select?: string[] } & { cartRelations: undefined \| string[] ; cartSelects: undefined \| keyof [Cart](/references/services/classes/Cart)[] }
Transform find config object for retrieval.
Parameters
Returns
Omit<FindConfig<Swap>, "select"> & { select?: string[] } & { cartRelations: undefined \| string[] ; cartSelects: undefined \| keyof [Cart](/references/services/classes/Cart)[] }
Omit<FindConfig<Swap>, "select"> & { select?: string[] } & { cartRelations: undefined \| string[] ; cartSelects: undefined \| keyof Cart[] }Omit<FindConfig<Swap>, "select"> & { select?: string[] } & { cartRelations: undefined \| string[] ; cartSelects: undefined \| keyof [Cart](/references/services/classes/Cart)[] }update
**update**(swapId, update): Promise<[Swap](/references/services/classes/Swap)>
Update the swap record.
Parameters
Returns
Promise<Swap>
withTransaction
**withTransaction**(transactionManager?): [SwapService](/references/services/classes/SwapService)
Parameters
transactionManagerEntityManager