@re-shell/cli
Version:
Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja
86 lines (85 loc) • 2.6 kB
TypeScript
export interface BackupMetadata {
id: string;
name: string;
description: string;
createdAt: string;
size: number;
type: 'full' | 'global' | 'project' | 'workspace' | 'selective';
version: string;
contents: {
global?: boolean;
project?: boolean;
workspaces?: string[];
templates?: boolean;
environments?: boolean;
};
checksum: string;
tags: string[];
}
export interface BackupData {
metadata: BackupMetadata;
configurations: {
global?: any;
project?: any;
workspaces?: Record<string, any>;
templates?: any[];
environments?: any[];
};
}
export interface RestoreOptions {
force?: boolean;
selective?: {
global?: boolean;
project?: boolean;
workspaces?: string[];
templates?: boolean;
environments?: boolean;
};
createBackupBeforeRestore?: boolean;
dryRun?: boolean;
mergeStrategy?: 'replace' | 'merge' | 'skip-existing';
}
export interface BackupStats {
totalBackups: number;
totalSize: number;
oldestBackup?: BackupMetadata;
newestBackup?: BackupMetadata;
backupsByType: Record<string, number>;
averageSize: number;
}
export declare class ConfigBackupManager {
private backupDir;
private metadataFile;
private backups;
constructor(backupDir?: string);
initialize(): Promise<void>;
createFullBackup(name: string, description?: string, tags?: string[]): Promise<string>;
createSelectiveBackup(name: string, options: {
global?: boolean;
project?: boolean;
workspaces?: string[];
templates?: boolean;
environments?: boolean;
}, description?: string, tags?: string[]): Promise<string>;
listBackups(): Promise<BackupMetadata[]>;
getBackup(backupId: string): Promise<BackupData | null>;
deleteBackup(backupId: string): Promise<void>;
restoreFromBackup(backupId: string, options?: RestoreOptions): Promise<void>;
getBackupStats(): Promise<BackupStats>;
cleanup(options?: {
keepCount?: number;
keepDays?: number;
keepTypes?: string[];
dryRun?: boolean;
}): Promise<string[]>;
exportBackup(backupId: string, outputPath: string): Promise<void>;
importBackup(filePath: string): Promise<string>;
private saveBackup;
private loadMetadata;
private saveMetadata;
private rebuildMetadata;
private generateBackupId;
private performRestore;
private showRestorePreview;
}
export declare const configBackupManager: ConfigBackupManager;