database-builder
Version:
Library to assist in creating and maintaining SQL commands.
29 lines (28 loc) • 1.35 kB
TypeScript
import { TypeCrud } from "./enums/type-crud";
import { DatabaseBase, DatabaseResult } from "../definitions/database-definition";
import { CrudBaseBuilder } from "./crud-base-builder";
import { ColumnsValuesBuilder } from "../core/columns-values-builder";
import { MapperTable } from "../mapper-table";
import { QueryCompiled } from "../core/query-compiled";
import { SqlBase } from "./sql-base";
import { Observable } from "rxjs";
export declare abstract class CrudBase<T, TBuilder extends CrudBaseBuilder<T, TColumnsBuilder>, TColumnsBuilder extends ColumnsValuesBuilder<T, TColumnsBuilder>> extends SqlBase<T> {
private _typeCrud;
readonly __allowInTransaction: boolean;
protected readonly _builder: TBuilder;
constructor(_typeCrud: TypeCrud, { mapperTable, builder, database, enableLog }: {
mapperTable: MapperTable;
builder: TBuilder;
database?: DatabaseBase;
enableLog?: boolean;
});
protected dependencies(): MapperTable[];
protected model(): T | Array<T>;
protected builderCompiled(): QueryCompiled | QueryCompiled[];
protected checkDatabaseResult(observable: Observable<DatabaseResult[]>): Observable<DatabaseResult[]>;
/**
* rowsAffected: 3
* id: 6
*/
protected setKeyByResult(models: Array<T>, result: DatabaseResult): T[];
}