normalise stale DetectionOnly engine mode on WafFields init

Old DB records may still have mode='DetectionOnly'. The previous
value?.mode ?? 'inherit' would pass that string into state, leaving no
engine mode button selected. Explicitly accept only 'Off'/'On'; anything
else (including legacy DetectionOnly) falls back to 'inherit'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
fuomag9
2026-03-06 17:33:39 +01:00
parent 9bfa86f2fc
commit 7760f2d2c8

View File

@@ -37,7 +37,9 @@ type Props = {
export function WafFields({ value, showModeSelector = true }: Props) {
const [enabled, setEnabled] = useState(value?.enabled ?? false);
const [wafMode, setWafMode] = useState<WafMode>(value?.waf_mode ?? "merge");
const [engineMode, setEngineMode] = useState<EngineMode>(value?.mode ?? "inherit");
const [engineMode, setEngineMode] = useState<EngineMode>(
value?.mode === "Off" || value?.mode === "On" ? value.mode : "inherit"
);
const [loadCrs, setLoadCrs] = useState(value?.load_owasp_crs ?? true);
const [customDirectives, setCustomDirectives] = useState(value?.custom_directives ?? "");
const [showTemplates, setShowTemplates] = useState(false);