--- displayed_sidebar: servicesSidebar --- import TypeList from "@site/src/components/TypeList" # DiscountService Provides layer to manipulate discounts. ## Implements ## constructor ### Parameters ___ ## Properties `","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"__moduleDeclaration__","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="DiscountService"/> ___ ## Accessors ### activeManager\_ #### Returns ___ ## Methods ### withTransaction #### Parameters #### Returns ### shouldRetryTransaction\_ #### Parameters ` \\| `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="shouldRetryTransaction_"/> #### Returns ### 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 #### Parameters Promise<TResult>","description":"the transactional work to be done","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationOrErrorHandler","type":"`IsolationLevel` \\| (`error`: TError) => Promise<void \\| TResult>","description":"the isolation level to be used for the work.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"maybeErrorHandlerOrDontFail","type":"(`error`: TError) => Promise<void \\| TResult>","description":"Potential error handler","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/> #### Returns ### validateDiscountRule\_ Creates a discount rule with provided data given that the data is validated. #### Type Parameters #### Parameters #### Returns ### list #### Parameters #### Returns ### listAndCount #### Parameters #### Returns ### create Creates a discount with provided data given that the data is validated. Normalizes discount code to uppercase. #### Parameters #### Returns ### retrieve Gets a discount by id. #### Parameters #### Returns ### retrieveByCode Gets the discount by discount code. #### Parameters #### Returns ### listByCodes List all the discounts corresponding to the given codes #### Parameters #### Returns ### update Updates a discount. #### Parameters #### Returns ### createDynamicCode Creates a dynamic code for a discount id. #### Parameters #### Returns ### deleteDynamicCode Deletes a dynamic code for a discount id. #### Parameters #### Returns ### addRegion Adds a region to the discount regions array. #### Parameters #### Returns ### removeRegion Removes a region from the discount regions array. #### Parameters #### Returns ### delete Deletes a discount idempotently #### Parameters #### Returns ### validateDiscountForProduct #### Parameters #### Returns ### calculateDiscountForLineItem #### Parameters #### Returns ### validateDiscountForCartOrThrow #### Parameters #### Returns ### hasCustomersGroupCondition #### Parameters #### Returns ### hasReachedLimit #### Parameters #### Returns ### hasNotStarted #### Parameters #### Returns ### hasExpired #### Parameters #### Returns ### isDisabled #### Parameters #### Returns ### isValidForRegion #### Parameters #### Returns ### canApplyForCustomer #### Parameters #### Returns