Przejdź do głównej zawartości

Interface: CartActions

DI contract — template implements these methods.

Properties

addLines

addLines: (cartId, lines) => Promise<CartData>

Add line items. Return updated cart or throw.

Parameters

cartId

string

lines

CartLineInput[]

Returns

Promise<CartData>


createCart

createCart: () => Promise<string>

Create new empty cart. Return new cart ID.

Returns

Promise<string>


createCartWithLines?

optional createCartWithLines?: (lines) => Promise<CartData>

Optional — atomic create-with-lines for stale-cart recovery. When provided, the store recovers from CART_NOT_FOUND / ALREADY_COMPLETED in a single cartCreate({ lines }) round trip. When omitted, store falls back to createCart() + addLines() (2 round trips, identical outcome).

Wire this when your GraphQL cartCreate mutation accepts an initial lines payload (DoSwiftly Storefront API does).

Parameters

lines

CartLineInput[]

Returns

Promise<CartData>


fetchCart

fetchCart: (cartId) => Promise<CartData | null>

Fetch cart by ID. Return null if cart expired/not found.

Parameters

cartId

string

Returns

Promise<CartData | null>


removeLines

removeLines: (cartId, lineIds) => Promise<CartData>

Remove line items. Return updated cart or throw.

Parameters

cartId

string

lineIds

string[]

Returns

Promise<CartData>


updateLines

updateLines: (cartId, lines) => Promise<CartData>

Update line quantities. Return updated cart or throw.

Parameters

cartId

string

lines

CartLineUpdateInput[]

Returns

Promise<CartData>