fix(ui): защитить экспорт WireGuard от устаревших ответов

This commit is contained in:
Denozordec committed 2026-09-29 08:37:53 +07:00
1 parent d3ae2598fb
commit 4aa4726c6b
6 files changed
+105 -8

No files matched your search

+7 -2
View File
@@ -1,4 +1,4 @@
import { wgIfaceDtoSchema, wgImportResponseSchema } from "@mmapp/contracts/wireguard"
import { wgIfaceDtoSchema, wgImportResponseSchema, wgExportResponseSchema } from "@mmapp/contracts/wireguard"
import type {
WgCreateInterface,
WgCreatePeerRequest,
@@ -116,8 +116,13 @@ export async function exportWireGuard(
baseUrl: string,
payload: WgExportRequest,
): Promise<WgExportResponse> {
return requestJson(baseUrl, "/api/wireguard/export", {
const response = await requestJson<unknown>(baseUrl, "/api/wireguard/export", {
method: "POST",
body: JSON.stringify(payload),
})
const parsed = wgExportResponseSchema.safeParse(response)
if (!parsed.success || parsed.data.format !== payload.format) {
throw new Error("Некорректный ответ экспорта WireGuard")
}
return parsed.data
}