fix(ui): сохранять подтверждённые данные GRE при отказах
This commit is contained in:
1 parent
6ea3cdad0e
commit
fb009344e1
7 files changed
+183
-104
No files matched your search
@@ -0,0 +1,14 @@
|
||||
import { z } from "zod"
|
||||
import { filtersGreResponseSchema } from "./filters-response"
|
||||
|
||||
export const greResponseSchema = z.object({
|
||||
tunnels: z.array(filtersGreResponseSchema.shape.tunnels.element.extend({
|
||||
ipsec: z.object({
|
||||
secret: z.string(), encAlg: z.enum(["aes-128", "aes-192", "aes-256"]).optional(),
|
||||
authAlg: z.enum(["sha1", "sha256", "sha512"]).optional(),
|
||||
dhGroup: z.enum(["modp1024", "modp2048", "modp4096", "ecp256", "ecp384", "ecp521"]).optional(),
|
||||
ikeVersion: z.enum(["ikev1", "ikev2"]).optional(), lifetime: z.string().optional(), pfs: z.boolean().optional(),
|
||||
}).nullable(),
|
||||
})).refine(rows => new Set(rows.map(t => JSON.stringify([t.serverId, t.id]))).size === rows.length),
|
||||
failures: z.array(z.object({ serverId: z.string().trim().min(1), serverName: z.string().optional(), error: z.string() })).default([]),
|
||||
}).refine(data => new Set(data.failures.map(f => f.serverId)).size === data.failures.length && !data.tunnels.some(t => data.failures.some(f => f.serverId === t.serverId)))
|
||||
Reference in new issue
Block a user