miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
57 lines (56 loc) • 2.97 kB
TypeScript
import * as Sql from 'sequelize';
import { StaticModelT, ModelT, PkType, Db } from '../../core/model';
import { QueryT, CountQueryT, DestroyQueryT } from '../../core/db';
import { Logger } from '../../services/logger';
import { Sequelize } from '../sequelize';
import { TransactionService } from '../../services/transaction.service';
import { TransactionImpl } from './transaction-impl';
export declare class DbImpl<T extends ModelT<PkType>, TInstance, TAttributes> implements Db<T> {
private modelFn;
private model;
private sequelize;
private logger;
private transactionService;
constructor(modelFn: StaticModelT<T>, model: Sql.Model<TInstance, TAttributes>, sequelize: Sequelize, logger: Logger, transactionService: TransactionService);
private getSqlTransact(transaction?);
private transaction(name, transaction?);
create(t: Object | T | Object[] | T[], transaction?: TransactionImpl): Promise<any>;
findById(id: string | number, options?: QueryT, transaction?: TransactionImpl): Promise<T>;
findOne(query: QueryT, transaction?: TransactionImpl): Promise<T>;
findOrCreate(query: Sql.WhereOptions, defaults?: Object | T, transaction?: TransactionImpl): Promise<[T, boolean]>;
findAndCountAll(query?: QueryT, transaction?: TransactionImpl): Promise<{
count: any;
results: T[];
}>;
findAll(query?: QueryT, transaction?: TransactionImpl): Promise<T[]>;
all(query?: QueryT, transaction?: TransactionImpl): Promise<T[]>;
count(query?: CountQueryT, transaction?: TransactionImpl): Promise<any>;
max(field: string, transaction?: TransactionImpl): Promise<any>;
min(field: string, transaction?: TransactionImpl): Promise<any>;
sum(field: string, transaction?: TransactionImpl): Promise<any>;
save(t: T, transaction?: TransactionImpl): Promise<T>;
update(query: number | string | T | QueryT, replace: Object, returning?: boolean, transaction?: TransactionImpl): Promise<[boolean | number, any]>;
updateOrCreate(query: Sql.WhereOptions, defaults: Object | T, transaction?: TransactionImpl): Promise<[T, boolean]>;
destroy(query: number | string | T | DestroyQueryT, transaction?: TransactionImpl): Promise<any>;
private isId(query);
private isT(query);
private copyVals;
private createCopyValsFn();
private static getForeignModelDbImpl(foreignModel);
private transformQueryWhere;
private transformQueryInclude;
private transformResult;
private includeFields;
private createTransformQuery();
private transformQuery(query);
private transforms;
private getTransforms();
private composeAnd(query, $and);
private addPrefix(query, prefix);
private createTransformQueryWhere(transforms);
private createTransformQueryInclude();
private createTransformResult(transforms);
fromJson(json: any): T;
private wrapResult(result, implicitIncludes);
private wrapResults(results, implicitIncludes);
}