DiscountService
Provides layer to manipulate discounts.
Implements
constructor
Parameters
__namedParametersobjectRequired__namedParameters.customerServiceanyRequired__namedParameters.discountConditionRepositoryanyRequired__namedParameters.discountConditionServiceanyRequired__namedParameters.discountRepositoryanyRequired__namedParameters.discountRuleRepositoryanyRequired__namedParameters.eventBusServiceanyRequired__namedParameters.featureFlagRouteranyRequired__namedParameters.giftCardRepositoryanyRequired__namedParameters.newTotalsServiceanyRequired__namedParameters.productServiceanyRequired__namedParameters.regionServiceanyRequired__namedParameters.totalsServiceanyRequiredProperties
__container__anyRequiredfeatureFlagRouter_FlagRouterRequiredmanager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "discount.created"
__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
addRegion
Adds a region to the discount regions array.
Parameters
discountIdstringRequiredregionIdstringRequiredReturns
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
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
PromisePromise<TResult>RequiredcalculateDiscountForLineItem
Parameters
discountIdstringRequiredcalculationContextDataCalculationContextDataRequiredReturns
PromisePromise<number>RequiredcanApplyForCustomer
Parameters
discountRuleIdstringRequiredcustomerIdundefined | stringRequiredReturns
PromisePromise<boolean>Requiredcreate
Creates a discount with provided data given that the data is validated. Normalizes discount code to uppercase.
Parameters
discountCreateDiscountInputRequiredReturns
createDynamicCode
Creates a dynamic code for a discount id.
Parameters
discountIdstringRequireddataCreateDynamicDiscountInputRequiredReturns
delete
Deletes a discount idempotently
Parameters
discountIdstringRequiredReturns
PromisePromise<void>RequireddeleteDynamicCode
Deletes a dynamic code for a discount id.
Parameters
discountIdstringRequiredcodestringRequiredReturns
PromisePromise<void>RequiredhasCustomersGroupCondition
Parameters
Returns
booleanbooleanRequiredhasExpired
Parameters
Returns
booleanbooleanRequiredhasNotStarted
Parameters
Returns
booleanbooleanRequiredhasReachedLimit
Parameters
Returns
booleanbooleanRequiredisDisabled
Parameters
Returns
booleanbooleanRequiredisValidForRegion
Parameters
region_idstringRequiredReturns
PromisePromise<boolean>Requiredlist
Parameters
selectorFilterableDiscountPropsRequiredDefault: {}
Returns
listAndCount
Parameters
selectorFilterableDiscountPropsRequiredDefault: {}
Returns
listByCodes
List all the discounts corresponding to the given codes
Parameters
discountCodesstring[]RequiredDefault: {}
Returns
removeRegion
Removes a region from the discount regions array.
Parameters
discountIdstringRequiredregionIdstringRequiredReturns
retrieve
Gets a discount by id.
Parameters
discountIdstringRequiredDefault: {}
Returns
retrieveByCode
Gets the discount by discount code.
Parameters
discountCodestringRequiredDefault: {}
Returns
shouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredupdate
Updates a discount.
Parameters
discountIdstringRequiredupdateUpdateDiscountInputRequiredReturns
validateDiscountForCartOrThrow
Parameters
Returns
PromisePromise<void>RequiredvalidateDiscountForProduct
Parameters
discountRuleIdstringRequiredproductIdstringReturns
PromisePromise<boolean>RequiredvalidateDiscountRule_
Creates a discount rule with provided data given that the data is validated.
Type Parameters
TobjectRequiredParameters
discountRuleTRequiredReturns
TTRequiredwithTransaction
Parameters
transactionManagerEntityManagerReturns
DiscountServiceobjectRequired