UNPKG

sqlite3orm

Version:

ORM for sqlite3 and TypeScript/JavaScript

80 lines (79 loc) 3.56 kB
import { SqlDatabase } from '../core'; import { Filter } from './Filter'; import { QueryModelBase } from './QueryModelBase'; export declare class QueryModel<T> extends QueryModelBase<T> { constructor(type: { new (): T; }); /** * count all models using an optional filter * * @param sqldb - The database connection * @param [filter] - An optional Filter-object * @param [params] - An optional object with additional host parameter * @returns promise of the number of models */ countAll(sqldb: SqlDatabase, filter?: Filter<T>, params?: object): Promise<number>; /** * check if model exist using an optional filter * * @param sqldb - The database connection * @param [filter] - An optional Filter-object * @param [params] - An optional object with additional host parameter * @returns promise for boolean result */ exists(sqldb: SqlDatabase, filter?: Filter<T>, params?: object): Promise<boolean>; /** * Select one model using an optional filter * * @param sqldb - The database connection * @param [filter] - An optional Filter-object * @param [params] - An optional object with additional host parameter * @returns A promise of the selected model instance; rejects if result is not exactly one row */ selectOne(sqldb: SqlDatabase, filter?: Filter<T>, params?: object): Promise<T>; /** * Select all models using an optional filter * * @param sqldb - The database connection * @param [filter] - An optional Filter-object * @param [params] - An optional object with additional host parameter * @returns A promise of array of model instances */ selectAll(sqldb: SqlDatabase, filter?: Filter<T>, params?: object): Promise<T[]>; /** * Select all partial models using a filter * * @param sqldb - The database connection * @param filter - A Filter-object * @param [params] - An optional object with additional host parameter * @returns A promise of array of partial models */ selectPartialAll(sqldb: SqlDatabase, filter: Filter<T>, params?: object): Promise<Partial<T>[]>; /** * Select a given model by ID * * @param sqldb - The database connection * @param model - The input/output model * @returns A promise of the model instance */ selectModel(sqldb: SqlDatabase, model: T): Promise<T>; /** * Select a model by given partial model * * @param sqldb - The database connection * @param input - The partial model providing the ID * @returns A promise of the model */ selectModelById(sqldb: SqlDatabase, input: Partial<T>): Promise<T>; selectEach(sqldb: SqlDatabase, callback: (err: Error, model: T) => void, filter?: Filter<T>, params?: object): Promise<number>; getWhereClause(filter: Filter<T>, params: object): Promise<string>; protected getSelectStatement(filter: Filter<T>, params: object): Promise<string>; protected getSelectStatementForColumnExpression(colexpr: string, filter: Filter<T>, params: object): Promise<string>; protected getSelectColumns(filter: Filter<T>): (keyof T)[] | undefined; protected getNonColumnClauses(filter: Filter<T>, params: object): Promise<string>; protected getOrderByClause(filter?: Filter<T>): string; protected getLimitClause(filter?: Filter<T>): string; protected getOffsetClause(filter?: Filter<T>): string; protected toSelectAllColumnsFilter(filter?: Filter<T>): Filter<T>; }