@wocker/pgsql-plugin
Version:
PostgreSQL plugin for wocker
41 lines (40 loc) • 2.2 kB
TypeScript
import { AppConfigService, DockerService, FileSystem, PluginConfigService, ProxyService, LogService } from "@wocker/core";
import { Config, AdminConfig } from "../makes/Config";
import { Service, ServiceProps } from "../makes/Service";
export declare class PgSqlService {
protected readonly appConfigService: AppConfigService;
protected readonly pluginConfigService: PluginConfigService;
protected readonly dockerService: DockerService;
protected readonly proxyService: ProxyService;
protected readonly logService: LogService;
protected adminContainerName: string;
protected _config?: Config;
constructor(appConfigService: AppConfigService, pluginConfigService: PluginConfigService, dockerService: DockerService, proxyService: ProxyService, logService: LogService);
get config(): Config;
get services(): Service[];
get fs(): FileSystem;
get dbFs(): FileSystem;
query<T = unknown>(service: Service, query: string, headers?: boolean): Promise<T[]>;
getServiceDatabase(service: Service): (import("drizzle-orm/node-postgres").NodePgDatabase<Record<string, never>> & {
$client: import("pg").Pool;
}) | import("drizzle-orm/pg-proxy").PgRemoteDatabase<Record<string, never>>;
getTables(service: Service): Promise<{
table: string;
}[]>;
dbPath(service: string): string;
init(admin: Partial<AdminConfig>): Promise<void>;
create(serviceProps?: Partial<ServiceProps>): Promise<void>;
upgrade(serviceProps: Partial<ServiceProps>): Promise<void>;
destroy(name: string, yes?: boolean, force?: boolean): Promise<void>;
listTable(): Promise<string>;
start(name?: string, restart?: boolean): Promise<void>;
stop(name?: string): Promise<void>;
pgsql(name?: string): Promise<void>;
dump(name?: string, database?: string): Promise<void>;
backup(name?: string, database?: string, filename?: string): Promise<void>;
deleteBackup(name?: string, database?: string, filename?: string): Promise<void>;
restore(name?: string, database?: string, filename?: string): Promise<void>;
admin(): Promise<void>;
setDefault(name: string): Promise<void>;
getServices(): Promise<string[]>;
}