UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

153 lines 4.55 kB
/** * Главный компонент системы миграций */ import { EventEmitter } from 'events'; import { MigrationManager } from './MigrationManager'; import { MigrationRunner, MigrationRunnerConfig, MigrationExecutionInfo } from './MigrationRunner'; import { MigrationScheduler, MigrationSchedulerConfig, MigrationTask } from './MigrationScheduler'; import { MigrationLogger, MigrationLoggerConfig } from './MigrationLogger'; import { IMigrationStorage, IVersionUtils, IMigration } from '../types/migration-interfaces'; /** * Конфигурация системы миграций */ export interface MigrationSystemConfig { runner?: MigrationRunnerConfig; scheduler?: MigrationSchedulerConfig; logger?: MigrationLoggerConfig; storage?: IMigrationStorage; versionUtils?: IVersionUtils; autoStart?: boolean; integration?: { onInit?: () => Promise<void>; onShutdown?: () => Promise<void>; onError?: (error: Error) => Promise<void>; }; } /** * Статус системы миграций */ export interface MigrationSystemStatus { manager: { initialized: boolean; migrationsCount: number; currentVersion: string; }; runner: { isExecuting: boolean; currentExecution?: MigrationExecutionInfo; }; scheduler: { isRunning: boolean; tasksCount: number; stats: { totalTasks: number; pendingTasks: number; runningTasks: number; completedTasks: number; failedTasks: number; }; }; logger: { totalEntries: number; stats: { totalEntries: number; byLevel: Record<string, number>; bySource: Record<string, number>; }; }; } /** * Главная система миграций */ export declare class MigrationSystem extends EventEmitter { private config; private manager; private runner; private scheduler; private logger; private storage; private versionUtils; private isInitialized; private isShuttingDown; constructor(config?: MigrationSystemConfig); /** * Настройка обработчиков событий */ private setupEventHandlers; /** * Инициализация системы */ initialize(): Promise<void>; /** * Завершение работы системы */ shutdown(): Promise<void>; /** * Регистрация миграции */ registerMigration(migration: IMigration): void; /** * Регистрация множества миграций */ registerMigrations(migrations: IMigration[]): void; /** * Ручной запуск миграций */ runMigrations(): Promise<MigrationExecutionInfo>; /** * Откат миграций */ rollback(targetVersion?: string): Promise<MigrationExecutionInfo>; /** * Планирование задачи миграции */ scheduleTask(): string; /** * Получение статуса системы */ getStatus(): Promise<MigrationSystemStatus>; /** * Получение истории миграций */ getHistory(): Promise<import("../types/migration-interfaces").MigrationRecord[]>; /** * Получение логов */ getLogs(filter?: Parameters<typeof this.logger.getEntries>[0]): import("./MigrationLogger").LogEntry[]; /** * Получение задач планировщика */ getTasks(): MigrationTask[]; /** * Отмена задачи */ cancelTask(taskId: string): Promise<boolean>; /** * Очистка старых задач */ cleanupTasks(olderThan: Date): number; /** * Очистка логов */ clearLogs(): void; /** * Сброс системы (для тестирования) */ reset(): Promise<void>; /** * Проверка инициализации */ isReady(): boolean; /** * Получение компонентов (для расширенного использования) */ getComponents(): { manager: MigrationManager; runner: MigrationRunner; scheduler: MigrationScheduler; logger: MigrationLogger; storage: IMigrationStorage; versionUtils: IVersionUtils; }; } //# sourceMappingURL=MigrationSystem.d.ts.map