fix(waf): TS-Fehler in WAF-Page beheben

- Badge-Import entfernt (unused)
- fetchWafConfig: r.data.data korrekt gecastet
- WafFormValues-Interface für Form (rule_exclusions_str, trusted_proxies_str)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-06-02 22:04:11 +02:00
parent 4f887df658
commit 4d81d31022

View File

@@ -1,6 +1,6 @@
import { useState } from 'react'
import {
Alert, Badge, Button, Card, Col, Drawer, Form, Input, Row,
Alert, Button, Card, Col, Drawer, Form, Input, Row,
Select, Space, Switch, Tag, Tooltip, Typography, message,
} from 'antd'
import {
@@ -52,7 +52,7 @@ async function fetchWafConfigs(): Promise<WafConfig[]> {
async function fetchWafConfig(domainId: number): Promise<WafConfig> {
const r = await apiClient.get(`/waf/configs/${domainId}`)
if (isEnvelope(r.data)) return r.data.data.config as WafConfig
if (isEnvelope(r.data)) return (r.data.data as { config: WafConfig }).config
return defaultConfig(domainId)
}
@@ -68,6 +68,15 @@ function defaultConfig(domainId: number): WafConfig {
}
}
interface WafFormValues {
enabled: boolean
mode: 'detection' | 'blocking'
paranoia_level: number
rule_exclusions_str: string
trusted_proxies_str: string
custom_rules: string
}
// ---------- Config Drawer ---------------------------------------------------
interface ConfigDrawerProps {
@@ -80,7 +89,7 @@ function ConfigDrawer({ domainName, domainId, onClose }: ConfigDrawerProps) {
const { t } = useTranslation()
const qc = useQueryClient()
const isViewer = useAuthStore((s) => s.user?.role) === 'viewer'
const [form] = Form.useForm<WafConfig>()
const [form] = Form.useForm<WafFormValues>()
const { data: cfg, isLoading } = useQuery({
queryKey: ['waf', 'config', domainId],
@@ -129,9 +138,9 @@ function ConfigDrawer({ domainName, domainId, onClose }: ConfigDrawerProps) {
trusted_proxies_str: (cfg.trusted_proxies ?? []).join(', '),
}}
onFinish={(vals) => {
const exclusions = (vals.rule_exclusions_str as unknown as string ?? '')
const exclusions = (vals.rule_exclusions_str ?? '')
.split(',').map((s: string) => s.trim()).filter(Boolean)
const proxies = (vals.trusted_proxies_str as unknown as string ?? '')
const proxies = (vals.trusted_proxies_str ?? '')
.split(',').map((s: string) => s.trim()).filter(Boolean)
save.mutate({
domain_id: domainId!,