DiscountService
Provides layer to manipulate discounts.
Implements
constructor
Parameters
__namedParametersobjectRequired__namedParameters.discountRepositoryanyRequired__namedParameters.discountRuleRepositoryanyRequired__namedParameters.giftCardRepositoryanyRequired__namedParameters.discountConditionRepositoryanyRequired__namedParameters.discountConditionServiceanyRequired__namedParameters.totalsServiceanyRequired__namedParameters.newTotalsServiceanyRequired__namedParameters.productServiceanyRequired__namedParameters.regionServiceanyRequired__namedParameters.customerServiceanyRequired__namedParameters.eventBusServiceanyRequired__namedParameters.featureFlagRouteranyRequiredProperties
manager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequired__container__anyRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "discount.created"
featureFlagRouter_FlagRouterRequired__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
withTransaction
Parameters
transactionManagerEntityManagerReturns
thisthisRequiredshouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredatomicPhase_
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>RequiredvalidateDiscountRule_
Creates a discount rule with provided data given that the data is validated.
Type Parameters
TobjectRequiredParameters
discountRuleTRequiredReturns
TTRequiredlist
Parameters
selectorFilterableDiscountPropsRequiredDefault: {}
Returns
listAndCount
Parameters
selectorFilterableDiscountPropsRequiredDefault: {}
Returns
create
Creates a discount with provided data given that the data is validated. Normalizes discount code to uppercase.
Parameters
discountCreateDiscountInputRequiredReturns
retrieve
Gets a discount by id.
Parameters
discountIdstringRequiredDefault: {}
Returns
retrieveByCode
Gets the discount by discount code.
Parameters
discountCodestringRequiredDefault: {}
Returns
listByCodes
List all the discounts corresponding to the given codes
Parameters
discountCodesstring[]RequiredDefault: {}
Returns
update
Updates a discount.
Parameters
discountIdstringRequiredupdateUpdateDiscountInputRequiredReturns
createDynamicCode
Creates a dynamic code for a discount id.
Parameters
discountIdstringRequireddataCreateDynamicDiscountInputRequiredReturns
deleteDynamicCode
Deletes a dynamic code for a discount id.
Parameters
discountIdstringRequiredcodestringRequiredReturns
PromisePromise<void>RequiredaddRegion
Adds a region to the discount regions array.
Parameters
discountIdstringRequiredregionIdstringRequiredReturns
removeRegion
Removes a region from the discount regions array.
Parameters
discountIdstringRequiredregionIdstringRequiredReturns
delete
Deletes a discount idempotently
Parameters
discountIdstringRequiredReturns
PromisePromise<void>RequiredvalidateDiscountForProduct
Parameters
discountRuleIdstringRequiredproductIdstringReturns
PromisePromise<boolean>RequiredcalculateDiscountForLineItem
Parameters
discountIdstringRequiredcalculationContextDataCalculationContextDataRequiredReturns
PromisePromise<number>RequiredvalidateDiscountForCartOrThrow
Parameters
Returns
PromisePromise<void>RequiredhasCustomersGroupCondition
Parameters
Returns
booleanbooleanRequiredhasReachedLimit
Parameters
Returns
booleanbooleanRequiredhasNotStarted
Parameters
Returns
booleanbooleanRequiredhasExpired
Parameters
Returns
booleanbooleanRequiredisDisabled
Parameters
Returns
booleanbooleanRequiredisValidForRegion
Parameters
region_idstringRequiredReturns
PromisePromise<boolean>RequiredcanApplyForCustomer
Parameters
discountRuleIdstringRequiredcustomerIdundefined | stringRequiredReturns
PromisePromise<boolean>Required