@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
101 lines (100 loc) • 2.77 kB
TypeScript
import { FabrixModel as Model } from '@fabrix/fabrix/dist/common';
import { SequelizeResolver } from '@fabrix/spool-sequelize';
export declare class SourceResolver extends SequelizeResolver {
batch(options: any, batch: any): any;
resolveByInstance(source: any, options?: {
[key: string]: any;
}): Promise<any>;
resolveById(source: any, options?: {
[key: string]: any;
}): any;
resolveByToken(source: any, options?: {
[key: string]: any;
}): any;
resolveByNumber(source: any, options?: {
[key: string]: any;
}): any;
resolveByString(source: any, options?: {
[key: string]: any;
}): any;
resolve(source: any, options?: {
[key: string]: any;
}): any;
}
export declare class Source extends Model {
static readonly resolver: typeof SourceResolver;
static config(app: any, Sequelize: any): {
options: {
underscored: boolean;
scopes: {
live: {
where: {
live_mode: boolean;
};
};
};
hooks: {
beforeCreate: ((values: any, options: any) => void)[];
afterCreate: ((values: any, options: any) => any)[];
afterDestroy: ((values: any, options: any) => any)[];
};
};
};
static schema(app: any, Sequelize: any): {
customer_id: {
type: any;
allowNull: boolean;
};
account_id: {
type: any;
allowNull: boolean;
};
token: {
type: any;
unique: boolean;
};
gateway: {
type: any;
defaultValue: string;
};
account_foreign_key: {
type: any;
allowNull: boolean;
};
account_foreign_id: {
type: any;
allowNull: boolean;
};
foreign_key: {
type: any;
allowNull: boolean;
};
foreign_id: {
type: any;
allowNull: boolean;
};
is_default: {
type: any;
defaultValue: boolean;
};
payment_details: {
type: any;
defaultValue: {};
};
live_mode: {
type: any;
defaultValue: any;
};
};
static associate(models: any): void;
}
export interface Source {
getBrand(): any;
getType(): any;
getLast4(): any;
getExpiration(): any;
notifyCustomer(preNotification: any, options: any): any;
resolveCustomer(options: any): any;
sendExpiredEmail(options: any): any;
sendWillExpireEmail(options: any): any;
}