Skip to main content
Skip to main content

AbstractPriceSelectionStrategy

internal.internal.AbstractPriceSelectionStrategy

Implements

Properties

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

Accessors

activeManager_

Protected get activeManager_(): EntityManager

Returns

EntityManager

EntityManagerEntityManagerRequired

Inherited from

TransactionBaseService.activeManager_

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.

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

Promise<TResult>

PromisePromise<TResult>Required
the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_


calculateVariantPrice

Abstract calculateVariantPrice(data, context): Promise<Map<string, PriceSelectionResult>>

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

Parameters

data{ quantity?: number ; taxRates: TaxServiceRate[] ; variantId: string }[]Required
contextPriceSelectionContextRequired
Details relevant to determine the correct pricing of the variant

Returns

Promise<Map<string, PriceSelectionResult>>

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

Implementation of

IPriceSelectionStrategy.calculateVariantPrice


onVariantsPricesUpdate

onVariantsPricesUpdate(variantIds): Promise<void>

Notify price selection strategy that variants prices have been updated.

Parameters

variantIdsstring[]Required
The ids of the updated variants

Returns

Promise<void>

PromisePromise<void>Required

Implementation of

IPriceSelectionStrategy.onVariantsPricesUpdate


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

errRecord<string, unknown> | { code: string }Required

Returns

boolean

booleanboolean

Inherited from

TransactionBaseService.shouldRetryTransaction_


withTransaction

withTransaction(transactionManager?): AbstractPriceSelectionStrategy

Parameters

transactionManagerEntityManager

Returns

AbstractPriceSelectionStrategy

AbstractPriceSelectionStrategyAbstractPriceSelectionStrategyRequired

Implementation of

IPriceSelectionStrategy.withTransaction

Inherited from

TransactionBaseService.withTransaction

Was this section helpful?