@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
248 lines (247 loc) • 6.92 kB
TypeScript
import { FabrixModel as Model } from '@fabrix/fabrix/dist/common';
import { SequelizeResolver } from '@fabrix/spool-sequelize';
export declare class ProductResolver extends SequelizeResolver {
findByIdDefault(criteria: any, options?: {
[key: string]: any;
}): any;
findByHandleDefault(handle: any, options?: {
[key: string]: any;
}): any;
findOneDefault(options?: {
[key: string]: any;
}): any;
findAllDefault(options?: {}): any;
findAndCountDefault(options: any): any;
resolveByInstance(product: any, options?: {
[key: string]: any;
}): Promise<any>;
resolveById(product: any, options?: {
[key: string]: any;
}): any;
resolveByToken(product: any, options?: {
[key: string]: any;
}): any;
resolveByhandle(product: any, options?: {
[key: string]: any;
}): any;
resolveByNumber(product: any, options?: {
[key: string]: any;
}): any;
resolveByString(product: any, options?: {
[key: string]: any;
}): any;
resolve(product: any, options?: {
[key: string]: any;
}): any;
}
export declare class Product extends Model {
static readonly resolver: typeof ProductResolver;
static config(app: any, Sequelize: any): {
options: {
enums: {
UNITS: {
G: string;
KG: string;
OZ: string;
LB: string;
};
PRODUCT_DEFAULTS: {
HOST: string;
TAX_CODE: string;
PRICE: number;
CALCULATED_PRICE: number;
DISCOUNTED_LINES: any[];
TOTAL_DISCOUNTS: number;
CURRENCY: string;
PUBLISHED_SCOPE: string;
PUBLISHED: boolean;
AVAILABLE: boolean;
OPTIONS: any[];
WEIGHT: number;
WEIGHT_UNIT: string;
REVIEWS_SCORE: number;
TOTAL_REVIEWS: number;
TOTAL_VARIANTS: number;
};
};
underscored: boolean;
scopes: {
live: {
where: {
live_mode: boolean;
};
};
published: {
where: {
published: boolean;
};
};
};
hooks: {
beforeValidate: ((product: any, options: any) => void)[];
beforeCreate: ((product: any, options: any) => any)[];
beforeUpdate: ((product: any, options: any) => any)[];
};
};
};
static schema(app: any, Sequelize: any): {
host: {
type: any;
defaultValue: string;
};
handle: {
type: any;
allowNull: boolean;
unique: boolean;
set: (val: any) => void;
};
title: {
type: any;
set: (val: any) => void;
};
body: {
type: any;
};
html: {
type: any;
};
seo_title: {
type: any;
set: (val: any) => void;
};
seo_description: {
type: any;
set: (val: any) => void;
};
type: {
type: any;
allowNull: boolean;
set: (val: any) => void;
};
tax_code: {
type: any;
defaultValue: string;
};
compare_at_price: {
type: any;
defaultValue: number;
};
price: {
type: any;
defaultValue: number;
};
calculated_price: {
type: any;
defaultValue: number;
};
currency: {
type: any;
defaultValue: string;
};
total_orders: {
type: any;
defaultValue: number;
};
discounted_lines: {
type: any;
defaultValue: any[];
};
total_discounts: {
type: any;
defaultValue: number;
};
published_scope: {
type: any;
defaultValue: string;
};
published: {
type: any;
defaultValue: boolean;
};
published_at: {
type: any;
};
unpublished_at: {
type: any;
};
available: {
type: any;
defaultValue: boolean;
};
options: {
type: any;
defaultValue: any[];
};
property_pricing: {
type: any;
defaultValue: {};
};
weight: {
type: any;
defaultValue: number;
};
weight_unit: {
type: any;
values: string[];
defaultValue: string;
};
review_score: {
type: any;
defaultValue: number;
};
total_reviews: {
type: any;
defaultValue: number;
};
total_variants: {
type: any;
defaultValue: number;
};
average_shipping: {
type: any;
defaultValue: number;
};
exclude_payment_types: {
type: any;
defaultValue: any[];
};
google: {
type: any;
defaultValue: {};
};
amazon: {
type: any;
defaultValue: {};
};
live_mode: {
type: any;
defaultValue: any;
};
};
static associate(models: any): void;
}
export interface Product {
setItemDiscountedLines(discounts: any, criteria: any, options: any): any;
setDiscountedLines(lines: any): any;
setCalculatedPrice(calculatedPrice: any): any;
setTotals(): any;
getCustomerHistory(customer: any, options: any): any;
hasPurchaseHistory(customerId: any, options: any): any;
isSubscribed(customerId: any, options: any): any;
getCollectionPairs(options: any): any;
calculateDiscounts(options: any): any;
calculate(options: any): any;
mergeIntoCollections(colsB: any): any;
toJSON(): any;
resolveVariants(options: any): any;
getDefaultVariant(options: any): any;
resolveAssociations(options: any): any;
resolveImages(options: any): any;
resolveVendors(options: any): any;
resolveMetadata(options: any): any;
resolveShops(options: any): any;
resolveTags(options: any): any;
resolveCollections(options: any): any;
resolveCoupons(options: any): any;
resolveDiscounts(options: any): any;
}