Skip to main content
Skip to main content

AbstractPriceSelectionStrategy

constructor

Parameters

__container__anyRequired
__configModule__Record<string, unknown>
__moduleDeclaration__Record<string, unknown>

Properties

__configModule__Record<string, unknown>
__container__anyRequired
__moduleDeclaration__Record<string, unknown>
manager_EntityManagerRequired
transactionManager_undefined | EntityManagerRequired

Accessors

activeManager_

Returns

EntityManagerEntityManagerRequired

Methods

atomicPhase_

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

TResultobjectRequired
TErrorobjectRequired

Parameters

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

Returns

PromisePromise<TResult>Required
the result of the transactional work

calculateVariantPrice

Calculate the original and discount price for a given variant in a set of circumstances described in the context.

Parameters

dataobject[]Required
contextPriceSelectionContextRequired
Details relevant to determine the correct pricing of the variant

Returns

PromisePromise<Map<string, PriceSelectionResult>>Required
pricing details in an object containing the calculated lowest price, the default price an all valid prices for the given variant

onVariantsPricesUpdate

Notify price selection strategy that variants prices have been updated.

Parameters

variantIdsstring[]Required
The ids of the updated variants

Returns

PromisePromise<void>Required

shouldRetryTransaction_

Parameters

errRecord<string, unknown> | objectRequired

Returns

booleanboolean

withTransaction

Parameters

transactionManagerEntityManager

Returns

constructor(__container__: any, __configModule__?: Record<string, unknown>, __moduleDeclaration__?: Record<string, unknown>) => AbstractPriceSelectionStrategyRequired
__configModule__Record<string, unknown>
__container__anyRequired
__moduleDeclaration__Record<string, unknown>
manager_EntityManagerRequired
transactionManager_undefined | EntityManagerRequired
activeManager_objectRequired
atomicPhase_<TResult, TError>(work: (transactionManager: EntityManager) => Promise<TResult>, isolationOrErrorHandler?: IsolationLevel | (error: TError) => Promise<void | TResult>, maybeErrorHandlerOrDontFail?: (error: TError) => Promise<void | TResult>) => Promise<TResult>Required
calculateVariantPrice(data: { quantity?: number ; taxRates: [TaxServiceRate](/references/medusa/types/medusa.TaxServiceRate)[] ; variantId: string }[], context: PriceSelectionContext) => Promise<Map<string, PriceSelectionResult>>Required
onVariantsPricesUpdate(variantIds: string[]) => Promise<void>Required
shouldRetryTransaction_(err: Record<string, unknown> | { code: string }) => booleanRequired
withTransaction(transactionManager?: EntityManager) => AbstractPriceSelectionStrategyRequired
Was this section helpful?