ProductService
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>imageRepository_Repository<Image> & { insertBulk: Method insertBulk ; upsertImages: Method upsertImages }Requiredmanager_EntityManagerRequiredproductCategoryRepository_TreeRepository<ProductCategory> & { addProducts: Method addProducts ; findOneWithDescendants: Method findOneWithDescendants ; getFreeTextSearchResultsAndCount: Method getFreeTextSearchResultsAndCount ; removeProducts: Method removeProducts }RequiredproductRepository_Repository<Product> & { _applyCategoriesQuery: Method _applyCategoriesQuery ; _findWithRelations: Method _findWithRelations ; bulkAddToCollection: Method bulkAddToCollection ; bulkRemoveFromCollection: Method bulkRemoveFromCollection ; findOneWithRelations: Method findOneWithRelations ; findWithRelations: Method findWithRelations ; findWithRelationsAndCount: Method findWithRelationsAndCount ; getCategoryIdsFromInput: Method getCategoryIdsFromInput ; getCategoryIdsRecursively: Method getCategoryIdsRecursively ; getFreeTextSearchResultsAndCount: Method getFreeTextSearchResultsAndCount ; isProductInSalesChannels: Method isProductInSalesChannels ; queryProducts: Method queryProducts ; queryProductsWithIds: Method queryProductsWithIds }RequiredproductTagRepository_Repository<ProductTag> & { findAndCountByDiscountConditionId: Method findAndCountByDiscountConditionId ; insertBulk: Method insertBulk ; listTagsByUsage: Method listTagsByUsage ; upsertTags: Method upsertTags }RequiredproductTypeRepository_Repository<ProductType> & { findAndCountByDiscountConditionId: Method findAndCountByDiscountConditionId ; upsertType: Method upsertType }RequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredEvents.DELETEDstringRequiredEvents.UPDATEDstringRequiredIndexName"products"RequiredDefault: "products"
Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
addOption
Adds an option to a product. Options can, for example, be "Size", "Color", etc. Will update all the products variants with a dummy value for the newly created option. The same option cannot be added more than once.
Parameters
productIdstringRequiredoptionTitlestringRequiredReturns
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.
Parameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
PromisePromise<TResult>Requiredcount
Return the total number of documents in database
Parameters
Returns
PromisePromise<number>Requiredcreate
Creates a product.
Parameters
Returns
delete
Deletes a product from a given product id. The product's associated variants will also be deleted.
Parameters
productIdstringRequiredReturns
PromisePromise<void>RequireddeleteOption
Delete an option from a product.
Parameters
productIdstringRequiredoptionIdstringRequiredReturns
filterProductsBySalesChannel
Parameters
Returns
isProductInSalesChannels
Check if the product is assigned to at least one of the provided sales channels.
Parameters
idstringRequiredsalesChannelIdsstring[]RequiredReturns
PromisePromise<boolean>Requiredlist
Lists products based on the provided parameters.
Parameters
configFindProductConfigReturns
listAndCount
Lists products based on the provided parameters and includes the count of products that match the query.
Parameters
configFindProductConfigReturns
listTagsByUsage
Parameters
takenumberReturns
listTypes
Returns
prepareListQuery_
Temporary method to be used in place we need custom query strategy to prevent typeorm bug
Parameters
Returns
objectobjectreorderVariants
Parameters
productIdstringRequiredvariantOrderstring[]RequiredReturns
retrieve
Gets a product by id. Throws in case of DB Error and if product was not found.
Parameters
productIdstringRequiredconfigFindProductConfigReturns
retrieveByExternalId
Gets a product by external id. Throws in case of DB Error and if product was not found.
Parameters
externalIdstringRequiredconfigFindProductConfigReturns
retrieveByHandle
Gets a product by handle. Throws in case of DB Error and if product was not found.
Parameters
productHandlestringRequiredconfigFindProductConfigReturns
retrieveOptionByTitle
Retrieve product's option by title.
Parameters
titlestringRequiredproductIdstringRequiredReturns
retrieveVariants
Gets all variants belonging to a product.
Parameters
productIdstringRequiredconfigFindProductConfigReturns
retrieve_
Gets a product by selector. Throws in case of DB Error and if product was not found.
Parameters
configFindProductConfigReturns
shouldRetryTransaction_
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
booleanbooleanupdate
Updates a product. Product variant updates should use dedicated methods,
e.g. addVariant, etc. The function will throw errors if metadata or
product variant updates are attempted.
Parameters
productIdstringRequiredReturns
updateOption
Updates a product's option. Throws if the call tries to update an option not associated with the product. Throws if the updated title already exists.
Parameters
productIdstringRequiredoptionIdstringRequiredReturns
updateShippingProfile
Assign a product to a profile, if a profile id null is provided then detach the product from the profile
Parameters
productIdsstring | string[]RequiredprofileIdnull | stringRequiredReturns
withTransaction
Parameters
transactionManagerEntityManager