ProductVariantService
constructor
Parameters
__namedParametersobjectRequired__namedParameters.productVariantRepositoryanyRequired__namedParameters.productRepositoryanyRequired__namedParameters.eventBusServiceanyRequired__namedParameters.regionServiceanyRequired__namedParameters.moneyAmountRepositoryanyRequired__namedParameters.productOptionValueRepositoryanyRequired__namedParameters.cartRepositoryanyRequired__namedParameters.priceSelectionStrategyanyRequiredProperties
manager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequired__container__anyRequiredEventsobjectRequiredEvents.UPDATEDstringRequiredDefault: "product-variant.updated"
Events.CREATEDstringRequiredDefault: "product-variant.created"
Events.DELETEDstringRequiredDefault: "product-variant.deleted"
__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
withTransaction
Parameters
transactionManagerEntityManagerReturns
thisthisRequiredshouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredatomicPhase_
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>Requiredretrieve
Gets a product variant by id.
Parameters
variantIdstringRequiredReturns
retrieveBySKU
Gets a product variant by id.
Parameters
skustringRequiredReturns
create
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>Requiredupdate
**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
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>RequiredupsertRegionPrices
Parameters
dataUpdateVariantRegionPriceData[]RequiredReturns
PromisePromise<void>RequiredupsertCurrencyPrices
Parameters
dataobject[]RequiredReturns
PromisePromise<void>RequiredgetRegionPrice
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>RequiredsetRegionPrice
Parameters
variantIdstringRequiredpriceProductVariantPriceRequiredReturns
Deprecated
use addOrUpdateRegionPrices instead Sets the default price of a specific region
setCurrencyPrice
Parameters
variantIdstringRequiredpriceProductVariantPriceRequiredReturns
Deprecated
use addOrUpdateCurrencyPrices instead Sets the default price for the given currency.
updateOptionValue
Updates variant's option value. Option value must be of type string or number.
Parameters
variantIdstringRequiredoptionIdstringRequiredoptionValuestringRequiredReturns
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
deleteOptionValue
Deletes option value from given variant. Will never fail due to delete being idempotent.
Parameters
variantIdstringRequiredoptionIdstringRequiredReturns
PromisePromise<void>RequiredlistAndCount
Parameters
Returns
list
Parameters
Returns
delete
Deletes variant or variants. Will never fail due to delete being idempotent.
Parameters
variantIdsstring | string[]RequiredReturns
PromisePromise<void>RequiredisVariantInSalesChannels
Check if the variant is assigned to at least one of the provided sales channels.
Parameters
idstringRequiredsalesChannelIdsstring[]RequiredReturns
PromisePromise<boolean>RequiredgetFreeTextQueryBuilder_
Lists variants based on the provided parameters and includes the count of variants that match the query.
Parameters
queryFindWithRelationsOptionsRequiredqstringReturns
validateVariantsToCreate_
Parameters
variantsCreateProductVariantInput[]RequiredReturns
voidvoidRequired