GitHub

DaffCartItemServiceInterface

import { DaffCartItemServiceInterface } from '@daffodil/cart/driver'

The interface responsible for managing the items of a cart.

interface DaffCartItemServiceInterface<T extends DaffCart = DaffCart, U extends DaffCartItemInput = DaffCartItemInput> {
  list(cartId: T["id"]): Observable<T['items']>
  get(
    cartId: T["id"]
    item_id: string
  ): Observable<T['items'][number]>
  add(
    id: T["id"]
    product: U
  ): Observable<Partial<T>>
  update(
    cartId: T["id"]
    itemId: T["items"][number]["id"]
    changes: Partial<T["items"][number]>
  ): Observable<Partial<T>>
  delete(
    cartId: T["id"]
    itemId: T["items"][number]["id"]
  ): Observable<Partial<T>>
}

() Methods

list
Observable<T['items']>

List all of the available items of a cart

Parameters
ParametercartId: T["id"]
Description
get
Observable<T['items'][number]>

Get a specific cart item of a cart.

Parameters
ParametercartId: T["id"]
Description
Parameteritem_id: string
Description
add
Observable<Partial<T>>

Add something to a cart.

Parameters
Parameterid: T["id"]
Description
Parameterproduct: U
Description
update
Observable<Partial<T>>

Update an existing item in a cart

Parameters
ParametercartId: T["id"]
Description
ParameteritemId: T["items"][number]["id"]
Description
Parameterchanges: Partial
Description
delete
Observable<Partial<T>>

Remove an item from a cart.

Parameters
ParametercartId: T["id"]
Description
ParameteritemId: T["items"][number]["id"]
Description