fix(ui): защитить экспорт WireGuard от устаревших ответов
This commit is contained in:
1 parent
d3ae2598fb
commit
4aa4726c6b
6 files changed
+105
-8
No files matched your search
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user