from pydantic import BaseModel from typing import Optional, Any, List from datetime import datetime class ConfigItem(BaseModel): key: str value: Any type: str category: str description: Optional[str] = None updated_at: Optional[datetime] = None class Config: from_attributes = True class ConfigUpdate(BaseModel): key: str value: Any class ConfigBatchUpdate(BaseModel): configs: List[ConfigUpdate] class ConfigHistoryItem(BaseModel): id: int config_key: str old_value: Optional[str] = None new_value: str updated_by: Optional[int] = None updated_at: datetime class Config: from_attributes = True class ConfigResponse(BaseModel): code: int = 0 message: str = "success" data: Any class ConfigListResponse(BaseModel): code: int = 0 message: str = "success" data: dict # 按category分组的配置项