UNPKG

@fabrix/spool-cart

Version:

Spool - eCommerce Spool for Fabrix

186 lines (185 loc) 5.28 kB
import { FabrixModel as Model } from '@fabrix/fabrix/dist/common'; import { SequelizeResolver } from '@fabrix/spool-sequelize'; export declare class CustomerResolver extends SequelizeResolver { findByIdDefault(id: any, options?: {}): any; findByTokenDefault(token: any, options?: {}): any; findAndCountDefault(options?: {}): any; resolveByInstance(cart: any, options?: { [key: string]: any; }): Promise<any>; resolveById(cart: any, options?: { [key: string]: any; }): any; resolveByToken(cart: any, options?: { [key: string]: any; }): any; resolveByEmail(cart: any, options?: { [key: string]: any; }): any; resolveByNumber(cart: any, options?: { [key: string]: any; }): any; resolveByString(cart: any, options?: { [key: string]: any; }): any; resolve(customer: any, options?: { [key: string]: any; }): any; } export declare class Customer extends Model { static readonly resolver: typeof CustomerResolver; static config(app: any, Sequelize: any): { options: { underscored: boolean; enums: { CUSTOMER_STATE: { DISABLED: string; INVITED: string; ENABLED: string; DECLINED: string; }; }; scopes: { live: { where: { live_mode: boolean; }; }; }; hooks: { beforeCreate: ((customer: any, options: any) => void)[]; beforeUpdate: ((customer: any, options: any) => void)[]; afterCreate: ((customer: any, options: any) => any)[]; afterUpdate: ((customer: any, options: any) => any)[]; }; getterMethods: { full_name: () => string; }; }; }; static schema(app: any, Sequelize: any): { token: { type: any; unique: boolean; }; accepts_marketing: { type: any; defaultValue: boolean; }; first_name: { type: any; }; last_name: { type: any; }; company: { type: any; }; phone: { type: any; }; email: { type: any; validate: { isEmail: boolean; }; set: (val: any) => any; }; note: { type: any; }; last_order_id: { type: any; }; last_order_name: { type: any; }; state: { type: any; values: string[]; defaultValue: string; }; type: { type: any; defaultValue: string; }; tax_exempt: { type: any; defaultValue: boolean; }; total_spent: { type: any; defaultValue: number; }; avg_spent: { type: any; defaultValue: number; }; currency: { type: any; defaultValue: any; }; total_orders: { type: any; defaultValue: number; }; account_balance: { type: any; defaultValue: number; }; verified_email: { type: any; defaultValue: boolean; }; default_address_id: { type: any; }; shipping_address_id: { type: any; }; billing_address_id: { type: any; }; ip: { type: any; }; create_ip: { type: any; }; update_ip: { type: any; }; live_mode: { type: any; defaultValue: any; }; }; static associate(models: any): void; } export interface Customer { getProductHistory(product: any, options: any): any; hasPurchaseHistory(productId: any, options: any): any; isSubscribed(productId: any, options: any): any; getSalutation(options: any): any; getDefaultSource(options: any): any; setLastOrder(order: any): any; setTotalSpent(orderTotalDue: any): any; setTotalOrders(): any; setAvgSpent(): any; setAccountBalance(newBalance: any): any; logAccountBalance(type: any, price: any, currency: any, accountId: any, orderId: any, options: any): any; notifyUsers(preNotification: any, options: any): any; resolveCollections(options: any): any; resolveDiscounts(options: any): any; resolveMetadata(options: any): any; resolveUsers(options: any): any; resolveDefaultAddress(options: any): any; resolveShippingAddress(options: any): any; resolveBillingAddress(options: any): any; resolvePaymentDetailsToSources(options: any): any; sendRetargetEmail(options: any): any; updateDefaultAddress(address: any, options: any): any; updateShippingAddress(address: any, options: any): any; updateBillingAddress(address: any, options: any): any; toJSON(): any; }