UNPKG

@apicart/store-sdk

Version:

Apicart SDK for integrating store into any web application

48 lines (27 loc) 1.3 kB
import { CustomerDaoInterface } from '../Customer/CustomerDaoInterface'; import { OrderDaoInterface } from '../Order/OrderDaoInterface'; import Cart from '../../../Entity/Cart/Cart'; import CartState from '../../../Entity/Cart/CartState'; import CartItem from '../../../Entity/Cart/CartItem'; import CartParameter from '../../../Entity/Cart/CartParameter'; interface CartDaoInterface { getEntity(): Promise<Cart | null>; getHash(): string; getCreatedAt(): Promise<Date>; getUpdatedAt(): Promise<Date>; getTotalPrice(): Promise<number>; getCartState(): Promise<CartState>; getCustomer(): Promise<CustomerDaoInterface>; finish(): Promise<OrderDaoInterface>; addItem(dataUrl: string, quantity: number, parameters?: Record<string, any>): Promise<boolean>; removeItem(dataUrl: string, quantity: number | null): Promise<boolean>; getItems(): Promise<CartItem[]>; addParameter(key: string, value: string | boolean | number | []): Promise<boolean>; addParameters(parameters: []): Promise<boolean>; removeParameter(key: string): Promise<boolean>; removeParameters(keys: string[]): Promise<boolean>; getParameters(): Promise<CartParameter[]>; getParameterValue(key: string, defaultValue: any): Promise<any>; findItemByDataUrl(dataUrl: string): Promise<CartItem | null>; }