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 | EntityManagerRequiredEvents
objectRequiredEvents.CREATED
stringRequiredEvents.DELETED
stringRequiredEvents.UPDATED
stringRequiredIndexName
"products"RequiredDefault: "products"
Accessors
activeManager_
Returns
EntityManager
EntityManagerRequiredMethods
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
productId
stringRequiredoptionTitle
stringRequiredReturns
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>RequiredisolationOrErrorHandler
IsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail
(error: TError) => Promise<void | TResult>Returns
Promise
Promise<TResult>Requiredcount
Return the total number of documents in database
Parameters
Returns
Promise
Promise<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
productId
stringRequiredReturns
Promise
Promise<void>RequireddeleteOption
Delete an option from a product.
Parameters
productId
stringRequiredoptionId
stringRequiredReturns
filterProductsBySalesChannel
Parameters
Returns
isProductInSalesChannels
Check if the product is assigned to at least one of the provided sales channels.
Parameters
id
stringRequiredsalesChannelIds
string[]RequiredReturns
Promise
Promise<boolean>Requiredlist
Lists products based on the provided parameters.
Parameters
config
FindProductConfigReturns
listAndCount
Lists products based on the provided parameters and includes the count of products that match the query.
Parameters
config
FindProductConfigReturns
listTagsByUsage
Parameters
take
numberReturns
listTypes
Returns
prepareListQuery_
Temporary method to be used in place we need custom query strategy to prevent typeorm bug
Parameters
Returns
object
objectreorderVariants
Parameters
productId
stringRequiredvariantOrder
string[]RequiredReturns
retrieve
Gets a product by id. Throws in case of DB Error and if product was not found.
Parameters
productId
stringRequiredconfig
FindProductConfigReturns
retrieveByExternalId
Gets a product by external id. Throws in case of DB Error and if product was not found.
Parameters
externalId
stringRequiredconfig
FindProductConfigReturns
retrieveByHandle
Gets a product by handle. Throws in case of DB Error and if product was not found.
Parameters
productHandle
stringRequiredconfig
FindProductConfigReturns
retrieveOptionByTitle
Retrieve product's option by title.
Parameters
title
stringRequiredproductId
stringRequiredReturns
retrieveVariants
Gets all variants belonging to a product.
Parameters
productId
stringRequiredconfig
FindProductConfigReturns
retrieve_
Gets a product by selector. Throws in case of DB Error and if product was not found.
Parameters
config
FindProductConfigReturns
shouldRetryTransaction_
Parameters
err
Record<string, unknown> | { code: string }RequiredReturns
boolean
booleanupdate
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
productId
stringRequiredReturns
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
productId
stringRequiredoptionId
stringRequiredReturns
updateShippingProfile
Assign a product to a profile, if a profile id null is provided then detach the product from the profile
Parameters
productIds
string | string[]RequiredprofileId
null | stringRequiredReturns
withTransaction
Parameters
transactionManager
EntityManager