UNPKG

@egi/smart-db

Version:

Unified Smart DB Access

88 lines (87 loc) 7.44 kB
import { BehaviorSubject, Observable } from "rxjs"; import { AbstractModel } from "./models/abstract-model"; import { SmartDbVersionViewModel } from "./models/smart-db-version-view-model"; import { GenericModelData, IndexedGenericModelData, SmartDbConnector, SmartDbDatabase, SmartDbOptions, SmartDbRunResult, SmartDbSqlOptions, SmartDbTableInfo, SqlFieldDescriptor, SqlLimit, SqlOrderBy, SqlUpdateValues, SqlValueType, SqlWhere } from "./smart-db-interfaces"; import { SmartDbLog } from "./smart-db-log"; import { SmartDbSqlBuildData } from "./smart-db-sql-build-data"; import { SmartError } from "./smart-error"; export declare abstract class SmartDb { abstract getDatabaseType(): string; abstract getTableInfo(table: string): Promise<SmartDbTableInfo>; protected: any; readonly dbLogging: boolean; protected dbConnector: SmartDbConnector; protected lastBuildData: SmartDbSqlBuildData; protected smartDbLog: SmartDbLog; protected _onReady: BehaviorSubject<boolean>; protected db: SmartDbDatabase; private _lastError; private dictionaries; private _isReady; protected constructor(dbConnector: SmartDbConnector, noDbLogging?: boolean); buildSelectStatement<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), options: SmartDbSqlOptions<T, D>): SmartDbSqlBuildData; close(): Promise<boolean>; closeSync(): boolean; commit(): Promise<void>; commitSync(): void; delete<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere): Promise<number>; deleteSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere): number | false; exec(script: string): Promise<void>; execScript(script: string, ignoreDropError?: boolean): Promise<void>; execScriptSync(script: string): void; execSync(script: string): boolean; exists<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), type?: "view" | "table" | "index", indexTableName?: string): Promise<boolean>; existsSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), type?: "view" | "table" | "index", indexTableName?: string): boolean; get<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), options: SmartDbSqlOptions<T, D>): Promise<(T | D)[] | T | D | SqlValueType | IndexedGenericModelData<T, D> | string | string[] | false>; getAll<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere, fields?: string | string[] | null, orderBy?: SqlOrderBy, limit?: SqlLimit): Promise<T[] | false>; getAllSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere, fields?: string | string[] | null, orderBy?: SqlOrderBy, limit?: SqlLimit): T[] | false; getDb(): SmartDbDatabase; getDbConnector(): string | SmartDbConnector; getDbQuote(): string; getFirst<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere, fields?: string | string[] | null, orderBy?: SqlOrderBy): Promise<T | false>; getFirstSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere, fields?: string | string[] | null, orderBy?: SqlOrderBy): T | false; getLastBuildData(): SmartDbSqlBuildData; getLastError(): SmartError; getLogger(): SmartDbLog; getSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), options: SmartDbSqlOptions<T, D>): (T | D)[] | T | D | SqlValueType | IndexedGenericModelData<T, D> | string | string[] | false; hasConcurrentTransactions(): boolean; hasTransaction(): boolean; initDb(appOptions: SmartDbOptions): Promise<SmartDbVersionViewModel[]>; insert<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: SqlUpdateValues | T): Promise<number>; insertSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: SqlUpdateValues | T): number | false; rollback(): Promise<void>; rollbackSync(): void; toDate(d: Date | number | string): Date | null; toDbDate(d: Date | number): string; toDbTimestamp(d: Date | number): string; update<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: SqlUpdateValues | T, where?: SqlWhere): Promise<number>; updateSync<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: SqlUpdateValues | T, where?: SqlWhere): number | false; protected statementRun(buildData: SmartDbSqlBuildData): Promise<SmartDbRunResult>; protected statementRunSync(buildData: SmartDbSqlBuildData): SmartDbRunResult; protected statementGet<T extends object>(buildData: SmartDbSqlBuildData): Promise<T>; protected statementGetSync(buildData: SmartDbSqlBuildData): any; protected statementGetAll<T>(buildData: SmartDbSqlBuildData): Promise<T[]>; protected statementGetAllSync(buildData: SmartDbSqlBuildData): any[]; protected buildWhere<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where: SqlWhere, op?: string): SmartDbSqlBuildData; protected buildDeleteStatement<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), where?: SqlWhere): SmartDbSqlBuildData; protected buildUpdateStatement<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: D | T, where?: SqlWhere): SmartDbSqlBuildData; protected buildInsertStatement<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), values: SqlUpdateValues | T): SmartDbSqlBuildData; protected prepareFieldValue<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), fieldOperation: SqlFieldDescriptor): string; protected prepareField<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), field: SqlValueType | SqlFieldDescriptor, values?: SqlValueType[]): string; protected buildFieldList<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), fields: (SqlValueType | SqlFieldDescriptor)[]): string[]; protected buildSelectSectionStatement<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), options: SmartDbSqlOptions<T, D>): SmartDbSqlBuildData; protected translateFieldName<T extends AbstractModel<T, D>, D extends GenericModelData>(modelClass: string | (new () => T), field: string): string; protected makeDbValue(value: SqlValueType): SqlValueType; protected makeArgumentDbValue(value: SqlValueType): SqlValueType; protected saveExecute<T>(fn: () => T): T | false; private scriptParser; private prepareResultRow; private prepareResultRows; private getTableName; get isReady(): boolean; set isReady(ready: boolean); get lastError(): SmartError; set lastError(value: any); get onReady(): Observable<boolean>; get supportSyncCalls(): boolean; }