ProductCategoryService
Provides layer to manipulate product categories.
Constructors
constructor
**new ProductCategoryService**(«destructured»)
Parameters
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>manager_EntityManagerRequiredproductCategoryRepo_TreeRepository<ProductCategory> & { addProducts: Method addProducts ; findOneWithDescendants: Method findOneWithDescendants ; getFreeTextSearchResultsAndCount: Method getFreeTextSearchResultsAndCount ; removeProducts: Method removeProducts }RequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "product-category.created"
Events.DELETEDstringRequiredDefault: "product-category.deleted"
Events.UPDATEDstringRequiredDefault: "product-category.updated"
Accessors
activeManager_
Protected get**activeManager_**(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredMethods
addProducts
**addProducts**(productCategoryId, productIds): Promise<void>
Add a batch of product to a product category
Parameters
productCategoryIdstringRequiredproductIdsstring[]RequiredReturns
Promise<void>
PromisePromise<void>RequiredatomicPhase_
Protected **atomicPhase_**<TypeParameter TResult, TypeParameter TError>(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.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>Requiredcreate
**create**(productCategoryInput): Promise<[ProductCategory](/references/services/classes/ProductCategory)>
Creates a product category
Parameters
Returns
Promise<ProductCategory>
delete
**delete**(productCategoryId): Promise<void>
Deletes a product category
Parameters
productCategoryIdstringRequiredReturns
Promise<void>
PromisePromise<void>RequiredfetchReorderConditions
Protected **fetchReorderConditions**(productCategory, input, shouldDeleteElement?): [ReorderConditions](/references/services/types/ReorderConditions)
Parameters
shouldDeleteElementbooleanRequiredDefault: false
Returns
ReorderConditionsobjectRequiredlistAndCount
**listAndCount**(selector, config?, treeSelector?): Promise<[[ProductCategory](/references/services/classes/ProductCategory)[], number]>
Lists product category based on the provided parameters and includes the count of product category that match the query.
Parameters
Default: {}
Returns
Promise<[ProductCategory[], number]>
performReordering
Protected **performReordering**(repository, conditions): Promise<void>
Parameters
repositoryTreeRepository<ProductCategory> & { addProducts: Method addProducts ; findOneWithDescendants: Method findOneWithDescendants ; getFreeTextSearchResultsAndCount: Method getFreeTextSearchResultsAndCount ; removeProducts: Method removeProducts }RequiredReturns
Promise<void>
PromisePromise<void>RequiredremoveProducts
**removeProducts**(productCategoryId, productIds): Promise<void>
Remove a batch of product from a product category
Parameters
productCategoryIdstringRequiredproductIdsstring[]RequiredReturns
Promise<void>
PromisePromise<void>Requiredretrieve
**retrieve**(productCategoryId, config?, selector?, treeSelector?): Promise<[ProductCategory](/references/services/classes/ProductCategory)>
Retrieves a product category by id.
Parameters
productCategoryIdstringRequiredDefault: {}
Default: {}
Default: {}
Returns
Promise<ProductCategory>
retrieveByHandle
**retrieveByHandle**(handle, config?, selector?, treeSelector?): Promise<[ProductCategory](/references/services/classes/ProductCategory)>
Retrieves a product category by handle.
Parameters
handlestringRequiredDefault: {}
Default: {}
Default: {}
Returns
Promise<ProductCategory>
retrieve_
Protected **retrieve_**(config?, selector?, treeSelector?): Promise<[ProductCategory](/references/services/classes/ProductCategory)>
A generic retrieve for fining product categories by different attributes.
Parameters
Default: {}
Default: {}
Default: {}
Returns
Promise<ProductCategory>
shiftSiblings
Protected **shiftSiblings**(repository, conditions): Promise<void>
Parameters
repositoryTreeRepository<ProductCategory> & { addProducts: Method addProducts ; findOneWithDescendants: Method findOneWithDescendants ; getFreeTextSearchResultsAndCount: Method getFreeTextSearchResultsAndCount ; removeProducts: Method removeProducts }RequiredReturns
Promise<void>
PromisePromise<void>RequiredshouldRetryTransaction_
Protected **shouldRetryTransaction_**(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleantransformParentIdToEntity
Protected **transformParentIdToEntity**(productCategoryInput): Promise<[CreateProductCategoryInput](/references/services/types/CreateProductCategoryInput) \| [UpdateProductCategoryInput](/references/services/types/UpdateProductCategoryInput)>
Accepts an input object and transforms product_category_id into product_category entity.
Parameters
Returns
Promise<CreateProductCategoryInput | UpdateProductCategoryInput>
update
**update**(productCategoryId, productCategoryInput): Promise<[ProductCategory](/references/services/classes/ProductCategory)>
Updates a product category
Parameters
productCategoryIdstringRequiredReturns
Promise<ProductCategory>
withTransaction
**withTransaction**(transactionManager?): [ProductCategoryService](/references/services/classes/ProductCategoryService)
Parameters
transactionManagerEntityManager