@apicart/store-sdk
Version:
Apicart SDK for integrating store into any web application
48 lines (27 loc) • 1.3 kB
TypeScript
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>;
}