--- 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` **activeManager\_**: [object Object] ## 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. ##### 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": [] } ]} /> ##### 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 ##### Type Parameters ##### 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 ##### Type Parameters ##### 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` ##### Type Parameters ##### Parameters ##### Returns `void` ___ #### withTransaction `**withTransaction**(transactionManager?): [LineItemService](LineItemService.mdx)` ##### Parameters ##### Returns [LineItemService](LineItemService.mdx)