title | isDefaultIndex | generated |
---|---|---|
StockDisplayStrategy |
false |
true |
import MemberInfo from '@site/src/components/MemberInfo'; import GenerationInfo from '@site/src/components/GenerationInfo'; import MemberDescription from '@site/src/components/MemberDescription';
Defines how the ProductVariant.stockLevel
value is obtained. It is usually not desirable
to directly expose stock levels over a public API, as this could be considered a leak of
sensitive information. However, the storefront will usually want to display some indication
of whether a given ProductVariant is in stock.
:::info
This is configured via the catalogOptions.stockDisplayStrategy
property of
your VendureConfig.
:::
interface StockDisplayStrategy extends InjectableStrategy {
getStockLevel(
ctx: RequestContext,
productVariant: ProductVariant,
saleableStockLevel: number,
): string | Promise<string>;
}
- Extends:
InjectableStrategy
<MemberInfo kind="method" type={(ctx: <a href='/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>, productVariant: <a href='/reference/typescript-api/entities/product-variant#productvariant'>ProductVariant</a>, saleableStockLevel: number) => string | Promise<string>
} />
Returns a string representing the stock level, which will be used directly
in the GraphQL ProductVariant.stockLevel
field.