@deepkit/framework
Version:
41 lines (40 loc) • 1.83 kB
TypeScript
import { Database } from '@deepkit/orm';
import { BrowserControllerInterface, DatabaseCommit, DatabaseInfo, FakerTypes, QueryResult, SeedDatabase } from '@deepkit/orm-browser-api';
import { HttpQuery } from '@deepkit/http';
import { ReflectionClass } from '@deepkit/type';
export declare class OrmBrowserController implements BrowserControllerInterface {
protected databases: Database[];
constructor(databases: Database[]);
registerDatabase(...databases: Database[]): void;
protected extractDatabaseInfo(db: Database): DatabaseInfo;
protected getDb(dbName: string): Database;
protected getDbEntity(dbName: string, entityName: string): [Database, ReflectionClass<any>];
getDatabases(): DatabaseInfo[];
getDatabase(name: string): DatabaseInfo;
protected findDatabase(name: string): Database;
migrate(name: string): Promise<void>;
resetAllTables(name: string): Promise<void>;
getFakerTypes(): Promise<FakerTypes>;
getMigrations(name: string): Promise<{
[name: string]: {
sql: string[];
diff: string;
};
}>;
seed(dbName: string, seed: SeedDatabase): Promise<void>;
httpQuery(dbName: HttpQuery<string>, entityName: HttpQuery<string>, query: HttpQuery<string>): Promise<QueryResult>;
query(dbName: string, entityName: string, query: string): Promise<QueryResult>;
getCount(dbName: string, entityName: string, filter: {
[name: string]: any;
}): Promise<number>;
getItems(dbName: string, entityName: string, filter: {
[name: string]: any;
}, sort: {
[name: string]: any;
}, limit: number, skip: number): Promise<{
items: any[];
executionTime: number;
}>;
create(dbName: string, entityName: string): Promise<any>;
commit(commit: DatabaseCommit): Promise<void>;
}