ProductVariantService
constructor
Parameters
__namedParametersobjectRequired__namedParameters.cartRepositoryanyRequired__namedParameters.eventBusServiceanyRequired__namedParameters.moneyAmountRepositoryanyRequired__namedParameters.priceSelectionStrategyanyRequired__namedParameters.productOptionValueRepositoryanyRequired__namedParameters.productRepositoryanyRequired__namedParameters.productVariantRepositoryanyRequired__namedParameters.regionServiceanyRequiredProperties
__container__anyRequiredmanager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "product-variant.created"
Events.DELETEDstringRequiredDefault: "product-variant.deleted"
Events.UPDATEDstringRequiredDefault: "product-variant.updated"
__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
addOptionValue
Adds option value to a variant. Fails when product with variant does not exist or if that product does not have an option with the given option id. Fails if given variant is not found. Option value must be of type string or number.
Parameters
variantIdstringRequiredoptionIdstringRequiredoptionValuestringRequiredReturns
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.
Type Parameters
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
PromisePromise<TResult>Requiredcreate
Creates an unpublished product variant. Will validate against parent product to ensure that the variant can in fact be created.
Type Parameters
TVariantsCreateProductVariantInput | CreateProductVariantInput[]RequiredTOutputobjectRequiredParameters
variantsCreateProductVariantInput | CreateProductVariantInput[]RequiredReturns
PromisePromise<TOutput>Requireddelete
Deletes variant or variants. Will never fail due to delete being idempotent.
Parameters
variantIdsstring | string[]RequiredReturns
PromisePromise<void>RequireddeleteOptionValue
Deletes option value from given variant. Will never fail due to delete being idempotent.
Parameters
variantIdstringRequiredoptionIdstringRequiredReturns
PromisePromise<void>RequiredgetFreeTextQueryBuilder_
Lists variants based on the provided parameters and includes the count of variants that match the query.
Parameters
queryFindWithRelationsOptionsRequiredqstringReturns
getRegionPrice
Gets the price specific to a region. If no region specific money amount exists the function will try to use a currency price. If no default currency price exists the function will throw an error.
Parameters
variantIdstringRequiredcontextGetRegionPriceContextRequiredReturns
PromisePromise<null | number>RequiredisVariantInSalesChannels
Check if the variant is assigned to at least one of the provided sales channels.
Parameters
idstringRequiredsalesChannelIdsstring[]RequiredReturns
PromisePromise<boolean>Requiredlist
Parameters
Returns
listAndCount
Parameters
Returns
retrieve
Gets a product variant by id.
Parameters
variantIdstringRequiredReturns
retrieveBySKU
Gets a product variant by id.
Parameters
skustringRequiredReturns
setCurrencyPrice
Parameters
variantIdstringRequiredpriceProductVariantPriceRequiredReturns
Deprecated
use addOrUpdateCurrencyPrices instead Sets the default price for the given currency.
setRegionPrice
Parameters
variantIdstringRequiredpriceProductVariantPriceRequiredReturns
Deprecated
use addOrUpdateRegionPrices instead Sets the default price of a specific region
shouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredupdate
**update**(variantData): Promise<[ProductVariant](/references/entities/classes/ProductVariant)[]>
Updates a collection of variant.
Parameters
variantDataobject[]RequiredReturns
**update**(variantOrVariantId, update): Promise<[ProductVariant](/references/entities/classes/ProductVariant)>
Updates a variant. Price updates should use dedicated methods. The function will throw, if price updates are attempted.
Parameters
updateUpdateProductVariantInputRequiredReturns
**update**(variantOrVariantId, update): Promise<[ProductVariant](/references/entities/classes/ProductVariant)>
Parameters
updateUpdateProductVariantInputRequiredReturns
updateBatch
Parameters
variantDataUpdateProductVariantData[]RequiredReturns
updateOptionValue
Updates variant's option value. Option value must be of type string or number.
Parameters
variantIdstringRequiredoptionIdstringRequiredoptionValuestringRequiredReturns
updateVariantPrices
**updateVariantPrices**(data): Promise<void>
Updates variant/prices collection. Deletes any prices that are not in the update object, and is not associated with a price list.
Parameters
dataUpdateVariantPricesData[]RequiredReturns
PromisePromise<void>Required**updateVariantPrices**(variantId, prices): Promise<void>
Updates a variant's prices. Deletes any prices that are not in the update object, and is not associated with a price list.
Parameters
variantIdstringRequiredpricesProductVariantPrice[]RequiredReturns
PromisePromise<void>RequiredupdateVariantPricesBatch
Parameters
dataUpdateVariantPricesData[]RequiredReturns
PromisePromise<void>RequiredupsertCurrencyPrices
Parameters
dataobject[]RequiredReturns
PromisePromise<void>RequiredupsertRegionPrices
Parameters
dataUpdateVariantRegionPriceData[]RequiredReturns
PromisePromise<void>RequiredvalidateVariantsToCreate_
Parameters
variantsCreateProductVariantInput[]RequiredReturns
voidvoidRequiredwithTransaction
Parameters
transactionManagerEntityManagerReturns
ProductVariantServiceobjectRequired