sqlite3orm
Version:
ORM for sqlite3 and TypeScript/JavaScript
80 lines (79 loc) • 3.56 kB
TypeScript
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>;
}