UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

89 lines 3.2 kB
import type { CloudDatabaseDto, ICloudDatabase } from "../entities/CloudDatabase"; import type { ICloudDatabaseBackup } from "../entities/CloudDatabaseBackup"; import type { CronjobRepeat, CronjonRepeatCondition } from "../entities/Cronjob"; import type { IQueryFilter, IQueryOptions, IQueryPagination } from "../interfaces"; import type { CloudDatabaseType, Ownership } from "../interfaces/SystemTypes"; import BaseService from "./BaseService"; export type DatabaseConnectionInfo = { type: CloudDatabaseType; host: string; port?: string; /** * @default root */ user?: string; pass: string; }; export type DatabaseBackupParams = DatabaseConnectionInfo & { /** * @default all-databases */ dbName?: string; /** * For MongoDB only * @default admin */ authDb?: string; /** * Output directory */ outDir?: string; }; export type DatabaseRestoreParams = { /** * @default all-databases */ dbName?: string; /** * For MongoDB only * @default admin */ authDb?: string; /** * Backup path */ path?: string; }; export declare class CloudDatabaseService extends BaseService<ICloudDatabase> { constructor(ownership?: Ownership); create(data: CloudDatabaseDto): Promise<ICloudDatabase>; find(filter?: IQueryFilter<ICloudDatabase>, options?: IQueryOptions & IQueryPagination, pagination?: IQueryPagination): Promise<ICloudDatabase[]>; update(filter: IQueryFilter<ICloudDatabase>, data: any, options?: IQueryOptions): Promise<ICloudDatabase[]>; updateOne(filter: IQueryFilter<ICloudDatabase>, data: any, options?: IQueryOptions): Promise<ICloudDatabase>; delete(filter?: IQueryFilter<ICloudDatabase>, options?: IQueryOptions): Promise<{ ok: boolean; affected: number; }>; softDelete(filter?: IQueryFilter<ICloudDatabase>, options?: IQueryOptions): Promise<{ ok: boolean; affected: number; }>; checkHealthById(id: string): Promise<boolean>; checkHealth(db: ICloudDatabase): Promise<boolean>; backupById(id: string): Promise<ICloudDatabaseBackup>; backup(db: ICloudDatabase, options?: { dbName?: string; authDb?: string; }): Promise<ICloudDatabaseBackup>; restoreFromBackupId(backupId: string, dbId: string): Promise<import("../interfaces").ResponseData | { name: string; path: string; }>; restoreFromBackup(backup: ICloudDatabaseBackup, db: ICloudDatabase): Promise<import("../interfaces").ResponseData | { name: string; path: string; }>; restoreById(options: DatabaseRestoreParams, id: string): Promise<import("../interfaces").ResponseData | { name: string; path: string; }>; restore(options: DatabaseRestoreParams, toDatabase: ICloudDatabase): Promise<import("../interfaces").ResponseData | { name: string; path: string; }>; scheduleAutoBackup(id: string, repeat: CronjobRepeat, condition?: CronjonRepeatCondition, ownership?: { owner: string; workspace: string; }): Promise<ICloudDatabase>; } //# sourceMappingURL=CloudDatabaseService.d.ts.map