UNPKG

sequelize-typescript

Version:

Decorators and some other extras for sequelize (v3 + v4)

50 lines (49 loc) 1.94 kB
/// <reference types="sequelize" /> /// <reference types="bluebird" /> import * as Promise from "bluebird"; import { BuildOptions } from "sequelize"; import { IAssociationActionOptions } from "../interfaces/IAssociationActionOptions"; import { IFindOptions } from "../interfaces/IFindOptions"; export declare abstract class BaseModel { static isInitialized: boolean; static extend(target: any): void; /** * Prepares build options for instantiation of a model */ static prepareInstantiationOptions(options: BuildOptions, source: any): BuildOptions; /** * Adds relation between specified instances and source instance */ $add(propertyKey: string, instances: any, options?: IAssociationActionOptions): Promise<this>; /** * Sets relation between specified instances and source instance * (replaces old relations) */ $set(propertyKey: string, instances: any, options: any): Promise<this>; /** * Returns related instance (specified by propertyKey) of source instance */ $get(propertyKey: string, options: any): Promise<this>; /** * Counts related instances (specified by propertyKey) of source instance */ $count(propertyKey: string, options: any): Promise<this>; /** * Creates instances and relate them to source instance */ $create(propertyKey: string, values: any, options: any): Promise<this>; /** * Checks if specified instances is related to source instance */ $has(propertyKey: string, instances: any, options: any): Promise<this>; /** * Removes specified instances from source instance */ $remove(propertyKey: string, instances: any, options: any): Promise<this>; /** * Overridden due to infer alias from options is required * * SEE DETAILS FOR ACTUAL FUNCTIONALITY ON DECLARATION FILE */ reload(options?: IFindOptions<typeof BaseModel>): Promise<this>; }