Fundamental_Analysis/backend/app/schemas/config.py
2025-10-28 23:31:28 +08:00

34 lines
938 B
Python

"""
Configuration-related Pydantic schemas
"""
from typing import Dict, Optional, Any
from pydantic import BaseModel, Field
class DatabaseConfig(BaseModel):
url: str = Field(..., description="数据库连接URL")
class GeminiConfig(BaseModel):
api_key: str = Field(..., description="Gemini API Key")
base_url: Optional[str] = None
class DataSourceConfig(BaseModel):
api_key: str = Field(..., description="数据源API Key")
class ConfigResponse(BaseModel):
database: DatabaseConfig
gemini_api: GeminiConfig
data_sources: Dict[str, DataSourceConfig]
class ConfigUpdateRequest(BaseModel):
database: Optional[DatabaseConfig] = None
gemini_api: Optional[GeminiConfig] = None
data_sources: Optional[Dict[str, DataSourceConfig]] = None
class ConfigTestRequest(BaseModel):
config_type: str
config_data: Dict[str, Any]
class ConfigTestResponse(BaseModel):
success: bool
message: str