fix(backups): сохранять неизвестный результат восстановления

This commit is contained in:
Denozordec committed 2026-10-01 16:32:06 +07:00
1 parent 39570656c9
commit 6f152c8dfe
11 files changed
+159 -11

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
import { z } from "zod"
import { ApiClientError } from "@/shared/api/http-client"
export const backupRestoreCheckpointSchema = z.object({ backupId: z.string().min(1), serverId: z.number().int().positive().safe(), filename: z.string().min(1), serverName: z.string().min(1), requestedAt: z.string().datetime({ offset: true }) })
export type BackupRestoreCheckpoint = z.infer<typeof backupRestoreCheckpointSchema>
export function readBackupRestoreCheckpoint(value: string | null) { return value ? backupRestoreCheckpointSchema.parse(JSON.parse(value)) : null }
export function backupRestoreStorageKey(backendUrl: string) { return "mmapp:backup-restore:" + backendUrl }
export function restoreWasNotApplied(error: unknown): boolean {
if (!(error instanceof ApiClientError)) return false
if ([403, 404, 405].includes(error.status)) return true
return error.status === 400 && !!error.payload && typeof error.payload === "object" && "outcome" in error.payload && error.payload.outcome === "not-applied"
}