@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
24 lines (23 loc) • 1.07 kB
TypeScript
import { Builder } from '../database/builder';
import { Paginator, PaginatorOption } from '../../pagination';
import { Model } from './model';
import { Repository } from './repository';
export declare class ModelBuilder<TEntity = any> {
private app;
private builder;
private model;
private repository;
private throughs;
constructor(model: Model<TEntity>, repository: Repository);
get proxy(): ProxyHandler<this>;
handleForwardCalls(p: keyof Builder): (...args: any[]) => any;
newBuilderInstance(): Builder;
useEntityColumns(): this;
getBuilder(): Builder;
with(relation: string, callback?: (query: ModelBuilder<TEntity>) => void): this;
find(): Promise<(Repository<TEntity> & TEntity)[]>;
findAndCount(): Promise<[(Repository<TEntity> & TEntity)[], number]>;
pagination(page: number, perPage?: number, option?: PaginatorOption): Promise<Paginator>;
first(): Promise<(Repository<TEntity> & TEntity) | undefined>;
firstOrCreate(attributes: Record<string, any>): Promise<(Repository<TEntity> & TEntity)>;
}