12 lines
975 B
TypeScript
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 }) }
|
|
}
|