Files
MikrotikManager/backend/src/services/backup-restore.ts
T

12 lines
975 B
TypeScript

export class BackupRestoreUnknownError extends Error {
constructor(options?: ErrorOptions) { super("Результат импорта неизвестен. Проверьте конфигурацию роутера перед повтором.", options); this.name = "BackupRestoreUnknownError" }
}
export function assertRestorableBackupScript(script: string): void {
if (/^#\s*synthetic export generated by MikrotikManager\b/i.test(script.trimStart())) {
throw new Error("Этот файл создан старым частичным экспортом MikroTik Manager. Его нельзя использовать для восстановления конфигурации; создайте новую нативную резервную копию.")
}
}
export async function importBackupOnce(file: string, apply: (file: string) => Promise<unknown>): Promise<void> {
try { await apply(file) } catch (cause) { throw new BackupRestoreUnknownError({ cause }) }
}