UNPKG

zumito-db

Version:

Multi-driver database abstraction layer with decorator-based models

30 lines (29 loc) 992 B
import { DatabaseDriver } from './drivers/DriverInterface.js'; import { DatabaseConfig } from './types.js'; import { Repository } from './Repository.js'; import { Migrator } from './migrations/Migrator.js'; export declare class DatabaseManager { private driver; private repositories; private modelMetadata; private migrationRunner; private _migrator; private _config; constructor(); get migrator(): Migrator; connect(config: DatabaseConfig): Promise<void>; disconnect(): Promise<void>; registerModel(modelClass: any): void; getRepository<T>(modelClass: any): Repository<T>; ensureSchemas(): Promise<void>; getDriver(): DatabaseDriver; transaction<T>(fn: (db: DatabaseManager) => Promise<T>): Promise<T>; dropCollection(name: string): Promise<void>; listCollections(): Promise<string[]>; getCollectionMetadata(): { name: string; fields: any[]; relations: any[]; }[]; private loadDriver; }