Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 1.82 KB

stock-display-strategy.md

File metadata and controls

51 lines (35 loc) · 1.82 KB
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';

StockDisplayStrategy

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>;
}

getStockLevel

<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&#60;string&#62;} />

Returns a string representing the stock level, which will be used directly in the GraphQL ProductVariant.stockLevel field.