ProductVariantInventoryService
internal.internal.ProductVariantInventoryService
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>getAvailabilityContextanyRequiredmanager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequiredAccessors
activeManager_
Protected get activeManager_(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredInherited from
TransactionBaseService.activeManager_
Methods
adjustInventory
adjustInventory(variantId, locationId, quantity): Promise<void>
Adjusts inventory of a variant on a location
Parameters
variantIdstringRequiredlocationIdstringRequiredquantitynumberRequiredReturns
Promise<void>
PromisePromise<void>RequiredadjustReservationsQuantityByLineItem
adjustReservationsQuantityByLineItem(lineItemId, variantId, locationId, quantity): Promise<void>
Adjusts the quantity of reservations for a line item by a given amount.
Parameters
lineItemIdstringRequiredvariantIdstringRequiredlocationIdstringRequiredquantitynumberRequiredReturns
Promise<void>
PromisePromise<void>RequiredatomicPhase_
Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>
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.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>RequiredInherited from
TransactionBaseService.atomicPhase_
attachInventoryItem
attachInventoryItem(attachments): Promise<ProductVariantInventoryItem[]>
Attach a variant to an inventory item
Parameters
attachments{ inventoryItemId: string ; requiredQuantity?: number ; variantId: string }[]RequiredReturns
Promise<ProductVariantInventoryItem[]>
the variant inventory item
attachInventoryItem(variantId, inventoryItemId, requiredQuantity?): Promise<ProductVariantInventoryItem[]>
Parameters
variantIdstringRequiredinventoryItemIdstringRequiredrequiredQuantitynumberReturns
Promise<ProductVariantInventoryItem[]>
confirmInventory
confirmInventory(variantId, quantity, context?): Promise<Boolean>
confirms if requested inventory is available
Parameters
variantIdstringRequiredquantitynumberRequiredcontextobjectcontext.salesChannelIdnull | stringReturns
Promise<Boolean>
boolean indicating if inventory is available
deleteReservationsByLineItem
deleteReservationsByLineItem(lineItemId, variantId, quantity): Promise<void>
delete a reservation of variant quantity
Parameters
lineItemIdstring | string[]RequiredvariantIdstringRequiredquantitynumberRequiredReturns
Promise<void>
PromisePromise<void>RequireddetachInventoryItem
detachInventoryItem(inventoryItemId, variantId?): Promise<void>
Remove a variant from an inventory item
Parameters
inventoryItemIdstringRequiredvariantIdstringReturns
Promise<void>
PromisePromise<void>RequiredgetVariantQuantityFromVariantInventoryItems
getVariantQuantityFromVariantInventoryItems(variantInventoryItems, channelId): Promise<number>
Get the quantity of a variant from a list of variantInventoryItems The inventory quantity of the variant should be equal to the inventory item with the smallest stock, adjusted for quantity required to fulfill the given variant.
Parameters
channelIdstringRequiredReturns
Promise<number>
PromisePromise<number>RequiredThe available quantity of the variant from the inventoryItems
PromisePromise<number>RequiredlistByItem
listByItem(itemIds): Promise<ProductVariantInventoryItem[]>
list registered inventory items
Parameters
itemIdsstring[]RequiredReturns
Promise<ProductVariantInventoryItem[]>
list of inventory items
listByVariant
listByVariant(variantId): Promise<ProductVariantInventoryItem[]>
List inventory items for a specific variant
Parameters
variantIdstring | string[]RequiredReturns
Promise<ProductVariantInventoryItem[]>
variant inventory items for the variant id
listInventoryItemsByVariant
listInventoryItemsByVariant(variantId): Promise<InventoryItemDTO[]>
lists inventory items for a given variant
Parameters
variantIdstringRequiredReturns
Promise<InventoryItemDTO[]>
lidt of inventory items for the variant
listVariantsByItem
listVariantsByItem(itemId): Promise<ProductVariant[]>
lists variant by inventory item id
Parameters
itemIdstringRequiredReturns
Promise<ProductVariant[]>
a list of product variants that are associated with the item id
reserveQuantity
reserveQuantity(variantId, quantity, context?): Promise<void | ReservationItemDTO[]>
Reserves a quantity of a variant
Parameters
variantIdstringRequiredquantitynumberRequiredcontextReserveQuantityContextReturns
Promise<void | ReservationItemDTO[]>
retrieve
retrieve(inventoryItemId, variantId): Promise<ProductVariantInventoryItem>
Retrieves a product variant inventory item by its inventory item ID and variant ID.
Parameters
inventoryItemIdstringRequiredvariantIdstringRequiredReturns
Promise<ProductVariantInventoryItem>
A promise that resolves with the product variant inventory item.
setProductAvailability
setProductAvailability(products, salesChannelId): Promise<(Product | PricedProduct)[]>
Parameters
salesChannelIdundefined | string | string[]RequiredReturns
Promise<(Product | PricedProduct)[]>
setVariantAvailability
setVariantAvailability(variants, salesChannelId, availabilityContext?): Promise<ProductVariant[] | PricedVariant[]>
Parameters
Returns
Promise<ProductVariant[] | PricedVariant[]>
shouldRetryTransaction_
Protected shouldRetryTransaction_(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleanInherited from
TransactionBaseService.shouldRetryTransaction_
validateInventoryAtLocation
validateInventoryAtLocation(items, locationId): Promise<void>
Validate stock at a location for fulfillment items
Parameters
Returns
Promise<void>
PromisePromise<void>RequiredwithTransaction
withTransaction(transactionManager?): ProductVariantInventoryService
Parameters
transactionManagerEntityManagerReturns
ProductVariantInventoryService