"""전체 설정 조회/저장.""" from __future__ import annotations from fastapi import APIRouter from pydantic import BaseModel, Field from config_io import load_config, save_config router = APIRouter() class ProxyConfig(BaseModel): listen_port: int = Field(ge=1, le=65535) enabled: bool class BackendConfig(BaseModel): host: str port: int = Field(ge=1, le=65535) class DomainEntry(BaseModel): domain: str enabled: bool = True note: str = "" class FullConfig(BaseModel): proxy: ProxyConfig backend: BackendConfig allowed_domains: list[DomainEntry] @router.get("/config") def get_config() -> dict: return load_config() @router.put("/config") def put_config(body: FullConfig) -> dict: save_config(body.model_dump()) return load_config()