--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # LineItemService ## Constructors ### constructor `**new LineItemService**(«destructured»)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "cartRepository_", "type": "Repository<[Cart](Cart.mdx)> & `{ findOneWithRelations: Method findOneWithRelations ; findWithRelations: Method findWithRelations }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "featureFlagRouter_", "type": "[FlagRouter](FlagRouter.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "itemTaxLineRepo_", "type": "Repository<[LineItemTaxLine](LineItemTaxLine.mdx)> & `{ deleteForCart: Method deleteForCart ; upsertLines: Method upsertLines }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "lineItemAdjustmentService_", "type": "[LineItemAdjustmentService](LineItemAdjustmentService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "lineItemRepository_", "type": "Repository<[LineItem](LineItem.mdx)> & `{ findByReturn: Method findByReturn }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "pricingService_", "type": "[PricingService](PricingService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "productService_", "type": "[ProductService](ProductService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "productVariantService_", "type": "[ProductVariantService](ProductVariantService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "regionService_", "type": "[RegionService](RegionService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "taxProviderService_", "type": "[TaxProviderService](TaxProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ## Methods ### atomicPhase\_ `Protected **atomicPhase_**(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. #### 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": [] } ]} /> #### Returns Promise<TResult> ___ ### cloneTo `**cloneTo**(ids, data?, options?): Promise<[LineItem](LineItem.mdx)[]>` #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)[]> ___ ### create `**create**(data): Promise<TResult>` Create a line item #### Parameters #### Returns Promise<TResult> ___ ### createReturnLines `**createReturnLines**(returnId, cartId): Promise<[LineItem](LineItem.mdx)[]>` Creates return line items for a given cart based on the return items in a return. #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)[]> ___ ### createTaxLine `**createTaxLine**(args): [LineItemTaxLine](LineItemTaxLine.mdx)` Create a line item tax line. #### Parameters #### Returns [LineItemTaxLine](LineItemTaxLine.mdx) ___ ### delete `**delete**(id): Promise<undefined \| `null` \| [LineItem](LineItem.mdx)>` Deletes a line item. #### Parameters #### Returns Promise<undefined \| `null` \| [LineItem](LineItem.mdx)> ___ ### deleteWithTaxLines `**deleteWithTaxLines**(id): Promise<undefined \| `null` \| [LineItem](LineItem.mdx)>` #### Parameters #### Returns Promise<undefined \| `null` \| [LineItem](LineItem.mdx)> #### Deprecated no the cascade on the entity takes care of it Deletes a line item with the tax lines. ___ ### generate `**generate**(variantIdOrData, regionIdOrContext, quantity?, context?): Promise<TResult>` Generate a single or multiple line item without persisting the data into the db #### Parameters #### Returns Promise<TResult> ___ ### generateLineItem `Protected **generateLineItem**(variant, quantity, context): Promise<[LineItem](LineItem.mdx)>` #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)> ___ ### list `**list**(selector, config?): Promise<[LineItem](LineItem.mdx)[]>` #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)[]> ___ ### retrieve `**retrieve**(id, config?): Promise<[LineItem](LineItem.mdx)>` Retrieves a line item by its id. #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)> ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| `{ code: string }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### update `**update**(idOrSelector, data): Promise<[LineItem](LineItem.mdx)[]>` Updates a line item #### Parameters #### Returns Promise<[LineItem](LineItem.mdx)[]> ___ ### validateGenerateArguments `Protected **validateGenerateArguments**(variantIdOrData, regionIdOrContext, quantity?): void` #### Parameters #### Returns `void` ___ ### withTransaction `**withTransaction**(transactionManager?): [LineItemService](LineItemService.mdx)` #### Parameters #### Returns [LineItemService](LineItemService.mdx)