hayai-db
Version:
⚡ Instantly create and manage local databases with one command
52 lines (51 loc) • 2.16 kB
TypeScript
import { DatabaseInstance, DatabaseTemplate } from './types.js';
export declare class DockerManager {
private static instance;
private instances;
private composeFile;
private dockerVerified;
private constructor();
static getInstance(): DockerManager;
private checkDockerInstallation;
private showDockerInstallationInstructions;
private verifyDockerSetup;
private pathExists;
initialize(): Promise<void>;
createDatabase(name: string, template: DatabaseTemplate, options?: {
port?: number;
adminDashboard?: boolean;
customEnv?: Record<string, string>;
}): Promise<DatabaseInstance>;
removeDatabase(name: string): Promise<void>;
startDatabase(name: string): Promise<void>;
stopDatabase(name: string): Promise<void>;
private executeDockerCompose;
startAllDatabases(): Promise<void>;
stopAllDatabases(): Promise<void>;
getInstance(name: string): DatabaseInstance | undefined;
getAllInstances(): DatabaseInstance[];
getRunningInstances(): DatabaseInstance[];
getStoppedInstances(): DatabaseInstance[];
private updateComposeFile;
private loadExistingInstances;
private saveInstances;
private loadComposeFile;
private generateConnectionUri;
private getImageForEngine;
private getDefaultPortForEngine;
private getDefaultVolumeForEngine;
private getHealthcheckForEngine;
getComposeFileContent(): Promise<string>;
updateEnvironmentFile(envFilePath?: string): Promise<void>;
}
export declare const getDockerManager: () => DockerManager;
export declare const createDatabase: (name: string, template: DatabaseTemplate, options?: {
port?: number;
adminDashboard?: boolean;
customEnv?: Record<string, string>;
}) => Promise<DatabaseInstance>;
export declare const removeDatabase: (name: string) => Promise<void>;
export declare const startDatabase: (name: string) => Promise<void>;
export declare const stopDatabase: (name: string) => Promise<void>;
export declare const getAllDatabases: () => Promise<DatabaseInstance[]>;
export declare function executeDockerCommand(args: string[]): Promise<string>;