Class: ProductVariantService
Hierarchy
TransactionBaseService
Copy to Clipboard↳
ProductVariantService
Copy to Clipboard
Constructors
constructor
• new ProductVariantService(__namedParameters
Copy to Clipboard)
Parameters
Name | Type |
---|---|
__namedParameters Copy to Clipboard | Object Copy to Clipboard |
Overrides
TransactionBaseService.constructor
Defined in
packages/medusa/src/services/product-variant.ts:54
Properties
__configModule__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __configModule__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__configModule__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:10
__container__
• Protected
Copy to Clipboard Readonly
Copy to Clipboard __container__: any
Copy to Clipboard
Inherited from
TransactionBaseService.__container__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:9
__moduleDeclaration__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __moduleDeclaration__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__moduleDeclaration__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:11
cartRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard cartRepository_: typeof CartRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:52
eventBus_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard eventBus_: EventBusService
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:46
manager_
• Protected
Copy to Clipboard manager_: EntityManager
Copy to Clipboard
Overrides
TransactionBaseService.manager_
Defined in
packages/medusa/src/services/product-variant.ts:41
moneyAmountRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard moneyAmountRepository_: typeof MoneyAmountRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:49
priceSelectionStrategy_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard priceSelectionStrategy_: IPriceSelectionStrategy
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:48
productOptionValueRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard productOptionValueRepository_: typeof ProductOptionValueRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:51
productRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard productRepository_: typeof ProductRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:45
productVariantRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard productVariantRepository_: typeof ProductVariantRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:44
regionService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard regionService_: RegionService
Copy to Clipboard
Defined in
packages/medusa/src/services/product-variant.ts:47
transactionManager_
• Protected
Copy to Clipboard transactionManager_: undefined
Copy to Clipboard | EntityManager
Copy to Clipboard
Overrides
TransactionBaseService.transactionManager_
Defined in
packages/medusa/src/services/product-variant.ts:42
Events
▪ Static
Copy to Clipboard Events: Object
Copy to Clipboard
Type declaration
Name | Type |
---|---|
CREATED Copy to Clipboard | string Copy to Clipboard |
DELETED Copy to Clipboard | string Copy to Clipboard |
UPDATED Copy to Clipboard | string Copy to Clipboard |
Defined in
packages/medusa/src/services/product-variant.ts:35
Methods
addOptionValue
▸ addOptionValue(variantId
Copy to Clipboard, optionId
Copy to Clipboard, optionValue
Copy to Clipboard): Promise
Copy to Clipboard<ProductOptionValue
Copy to Clipboard>
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
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the variant to decorate. |
optionId Copy to Clipboard | string Copy to Clipboard | the option from product. |
optionValue Copy to Clipboard | string Copy to Clipboard | option value to add. |
Returns
Promise
Copy to Clipboard<ProductOptionValue
Copy to Clipboard>
the result of the update operation.
Defined in
packages/medusa/src/services/product-variant.ts:497
atomicPhase_
▸ Protected
Copy to Clipboard atomicPhase_<TResult
Copy to Clipboard, TError
Copy to Clipboard>(work
Copy to Clipboard, isolationOrErrorHandler?
Copy to Clipboard, maybeErrorHandlerOrDontFail?
Copy to Clipboard): Promise
Copy to Clipboard<TResult
Copy to Clipboard>
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
Name |
---|
TResult Copy to Clipboard |
TError Copy to Clipboard |
Parameters
Name | Type | Description |
---|---|---|
work Copy to Clipboard | (transactionManager Copy to Clipboard: EntityManager Copy to Clipboard) => Promise Copy to Clipboard<TResult Copy to Clipboard> | the transactional work to be done |
isolationOrErrorHandler? Copy to Clipboard | IsolationLevel Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | the isolation level to be used for the work. |
maybeErrorHandlerOrDontFail? Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | Potential error handler |
Returns
Promise
Copy to Clipboard<TResult
Copy to Clipboard>
the result of the transactional work
Inherited from
TransactionBaseService.atomicPhase_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:50
create
▸ create(productOrProductId
Copy to Clipboard, variant
Copy to Clipboard): Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
Creates an unpublished product variant. Will validate against parent product to ensure that the variant can in fact be created.
Parameters
Name | Type | Description |
---|---|---|
productOrProductId Copy to Clipboard | string Copy to Clipboard | Product Copy to Clipboard | the product the variant will be added to |
variant Copy to Clipboard | CreateProductVariantInput Copy to Clipboard | the variant to create |
Returns
Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
resolves to the creation result.
Defined in
packages/medusa/src/services/product-variant.ts:149
delete
▸ delete(variantId
Copy to Clipboard): Promise
Copy to Clipboard<void
Copy to Clipboard>
Deletes variant. Will never fail due to delete being idempotent.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of the variant to delete. Must be castable as an ObjectId |
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard>
empty promise
Defined in
packages/medusa/src/services/product-variant.ts:650
deleteOptionValue
▸ deleteOptionValue(variantId
Copy to Clipboard, optionId
Copy to Clipboard): Promise
Copy to Clipboard<void
Copy to Clipboard>
Deletes option value from given variant. Will never fail due to delete being idempotent.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the variant to decorate. |
optionId Copy to Clipboard | string Copy to Clipboard | the option from product. |
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard>
empty promise
Defined in
packages/medusa/src/services/product-variant.ts:524
getFreeTextQueryBuilder_
▸ getFreeTextQueryBuilder_(variantRepo
Copy to Clipboard, query
Copy to Clipboard, q?
Copy to Clipboard): SelectQueryBuilder
Copy to Clipboard<ProductVariant
Copy to Clipboard>
Lists variants based on the provided parameters and includes the count of variants that match the query.
Parameters
Name | Type | Description |
---|---|---|
variantRepo Copy to Clipboard | ProductVariantRepository Copy to Clipboard | the variant repository |
query Copy to Clipboard | FindWithRelationsOptions Copy to Clipboard | object that defines the scope for what should be returned |
q? Copy to Clipboard | string Copy to Clipboard | free text query |
Returns
SelectQueryBuilder
Copy to Clipboard<ProductVariant
Copy to Clipboard>
an array containing the products as the first element and the total count of products that matches the query as the second element.
Defined in
packages/medusa/src/services/product-variant.ts:745
getRegionPrice
▸ getRegionPrice(variantId
Copy to Clipboard, context
Copy to Clipboard): Promise
Copy to Clipboard<null
Copy to Clipboard | number
Copy to Clipboard>
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
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of the variant to get price from |
context Copy to Clipboard | GetRegionPriceContext Copy to Clipboard | context for getting region price |
Returns
Promise
Copy to Clipboard<null
Copy to Clipboard | number
Copy to Clipboard>
the price specific to the region
Defined in
packages/medusa/src/services/product-variant.ts:373
isVariantInSalesChannels
▸ isVariantInSalesChannels(id
Copy to Clipboard, salesChannelIds
Copy to Clipboard): Promise
Copy to Clipboard<boolean
Copy to Clipboard>
Check if the variant is assigned to at least one of the provided sales channels.
Parameters
Name | Type | Description |
---|---|---|
id Copy to Clipboard | string Copy to Clipboard | product variant id |
salesChannelIds Copy to Clipboard | string Copy to Clipboard[] | an array of sales channel ids |
Returns
Promise
Copy to Clipboard<boolean
Copy to Clipboard>
Defined in
packages/medusa/src/services/product-variant.ts:683
list
▸ list(selector
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard[]>
Parameters
Name | Type | Description |
---|---|---|
selector Copy to Clipboard | FilterableProductVariantProps Copy to Clipboard | the query object for find |
config Copy to Clipboard | FindConfig Copy to Clipboard<ProductVariant Copy to Clipboard> & PriceSelectionContext Copy to Clipboard | query config object for variant retrieval |
Returns
Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard[]>
the result of the find operation
Defined in
packages/medusa/src/services/product-variant.ts:592
listAndCount
▸ listAndCount(selector
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<[ProductVariant
Copy to Clipboard[], number
Copy to Clipboard]>
Parameters
Name | Type | Description |
---|---|---|
selector Copy to Clipboard | FilterableProductVariantProps Copy to Clipboard | the query object for find |
config Copy to Clipboard | FindConfig Copy to Clipboard<ProductVariant Copy to Clipboard> & PriceSelectionContext Copy to Clipboard | query config object for variant retrieval |
Returns
Promise
Copy to Clipboard<[ProductVariant
Copy to Clipboard[], number
Copy to Clipboard]>
the result of the find operation
Defined in
packages/medusa/src/services/product-variant.ts:551
prepareListQuery_
▸ prepareListQuery_(selector
Copy to Clipboard, config
Copy to Clipboard): Object
Copy to Clipboard
Creates a query object to be used for list queries.
Parameters
Name | Type | Description |
---|---|---|
selector Copy to Clipboard | FilterableProductVariantProps Copy to Clipboard | the selector to create the query from |
config Copy to Clipboard | FindConfig Copy to Clipboard<ProductVariant Copy to Clipboard> | the config to use for the query |
Returns
Object
Copy to Clipboard
an object containing the query, relations and free-text search param.
Name | Type |
---|---|
q? Copy to Clipboard | string Copy to Clipboard |
query Copy to Clipboard | FindWithRelationsOptions Copy to Clipboard |
relations Copy to Clipboard | string Copy to Clipboard[] |
Defined in
packages/medusa/src/services/product-variant.ts:706
retrieve
▸ retrieve(variantId
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
Gets a product variant by id.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of the product to get. |
config Copy to Clipboard | FindConfig Copy to Clipboard<ProductVariant Copy to Clipboard> & PriceSelectionContext Copy to Clipboard | query config object for variant retrieval. |
Returns
Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
the product document.
Defined in
packages/medusa/src/services/product-variant.ts:85
retrieveBySKU
▸ retrieveBySKU(sku
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
Gets a product variant by id.
Parameters
Name | Type | Description |
---|---|---|
sku Copy to Clipboard | string Copy to Clipboard | The unique stock keeping unit used to identify the product variant. |
config Copy to Clipboard | FindConfig Copy to Clipboard<ProductVariant Copy to Clipboard> & PriceSelectionContext Copy to Clipboard | query config object for variant retrieval. |
Returns
Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
the product document.
Defined in
packages/medusa/src/services/product-variant.ts:113
setCurrencyPrice
▸ setCurrencyPrice(variantId
Copy to Clipboard, price
Copy to Clipboard): Promise
Copy to Clipboard<MoneyAmount
Copy to Clipboard>
Sets the default price for the given currency.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of the variant to set prices for |
price Copy to Clipboard | ProductVariantPrice Copy to Clipboard | the price for the variant |
Returns
Promise
Copy to Clipboard<MoneyAmount
Copy to Clipboard>
the result of the update operation
Defined in
packages/medusa/src/services/product-variant.ts:438
setRegionPrice
▸ setRegionPrice(variantId
Copy to Clipboard, price
Copy to Clipboard): Promise
Copy to Clipboard<MoneyAmount
Copy to Clipboard>
Sets the default price of a specific region
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of the variant to update |
price Copy to Clipboard | ProductVariantPrice Copy to Clipboard | the price for the variant. |
Returns
Promise
Copy to Clipboard<MoneyAmount
Copy to Clipboard>
the result of the update operation
Defined in
packages/medusa/src/services/product-variant.ts:402
shouldRetryTransaction_
▸ Protected
Copy to Clipboard shouldRetryTransaction_(err
Copy to Clipboard): boolean
Copy to Clipboard
Parameters
Name | Type |
---|---|
err Copy to Clipboard | Record Copy to Clipboard<string Copy to Clipboard, unknown Copy to Clipboard> | { code Copy to Clipboard: string Copy to Clipboard } |
Returns
boolean
Copy to Clipboard
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:31
update
▸ update(variantOrVariantId
Copy to Clipboard, update
Copy to Clipboard): Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
Updates a variant. Price updates should use dedicated methods. The function will throw, if price updates are attempted.
Parameters
Name | Type | Description |
---|---|---|
variantOrVariantId Copy to Clipboard | string Copy to Clipboard | Partial Copy to Clipboard<ProductVariant Copy to Clipboard> | variant or id of a variant. |
update Copy to Clipboard | UpdateProductVariantInput Copy to Clipboard | an object with the update values. |
Returns
Promise
Copy to Clipboard<ProductVariant
Copy to Clipboard>
resolves to the update result.
Defined in
packages/medusa/src/services/product-variant.ts:257
updateOptionValue
▸ updateOptionValue(variantId
Copy to Clipboard, optionId
Copy to Clipboard, optionValue
Copy to Clipboard): Promise
Copy to Clipboard<ProductOptionValue
Copy to Clipboard>
Updates variant's option value. Option value must be of type string or number.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the variant to decorate. |
optionId Copy to Clipboard | string Copy to Clipboard | the option from product. |
optionValue Copy to Clipboard | string Copy to Clipboard | option value to add. |
Returns
Promise
Copy to Clipboard<ProductOptionValue
Copy to Clipboard>
the result of the update operation.
Defined in
packages/medusa/src/services/product-variant.ts:459
updateVariantPrices
▸ updateVariantPrices(variantId
Copy to Clipboard, prices
Copy to Clipboard): Promise
Copy to Clipboard<void
Copy to Clipboard>
Updates a variant's prices. Deletes any prices that are not in the update object, and is not associated with a price list.
Parameters
Name | Type | Description |
---|---|---|
variantId Copy to Clipboard | string Copy to Clipboard | the id of variant |
prices Copy to Clipboard | ProductVariantPrice Copy to Clipboard[] | the update prices |
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard>
empty promise
Defined in
packages/medusa/src/services/product-variant.ts:335
withTransaction
▸ withTransaction(transactionManager?
Copy to Clipboard): ProductVariantService
Copy to Clipboard
Parameters
Name | Type |
---|---|
transactionManager? Copy to Clipboard | EntityManager Copy to Clipboard |
Returns
ProductVariantService
Copy to Clipboard
Inherited from
TransactionBaseService.withTransaction
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:14