主要变更: - 后端代码从根目录迁移到 app/ 目录 - 前端代码从 frontend/ 重命名为 WebUI/ - 更新所有导入路径以适配新结构 - 提取公共 API 响应函数到 app/api/common.py - 精简验证器服务代码 - 更新启动脚本和文档 测试: - 新增完整测试套件 (tests/) - 单元测试: 模型、仓库层 - 集成测试: 覆盖所有 22+ API 端点 - E2E 测试: 4个完整工作流场景 - 添加 pytest 配置和测试运行脚本
35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
"""设置相关路由"""
|
|
from fastapi import APIRouter
|
|
from app.core.db import get_db
|
|
from app.repositories.settings_repo import SettingsRepository
|
|
from app.models.schemas import SettingsSchema
|
|
from app.api.common import success_response, error_response
|
|
from app.core.log import logger
|
|
|
|
router = APIRouter(prefix="/api/settings", tags=["settings"])
|
|
settings_repo = SettingsRepository()
|
|
|
|
|
|
@router.get("")
|
|
async def get_settings():
|
|
try:
|
|
async with get_db() as db:
|
|
settings = await settings_repo.get_all(db)
|
|
return success_response("获取设置成功", settings)
|
|
except Exception as e:
|
|
logger.error(f"Get settings failed: {e}")
|
|
return error_response("获取设置失败", 500)
|
|
|
|
|
|
@router.post("")
|
|
async def save_settings(request: SettingsSchema):
|
|
try:
|
|
async with get_db() as db:
|
|
success = await settings_repo.save(db, request.model_dump())
|
|
if not success:
|
|
return error_response("保存设置失败", 500)
|
|
return success_response("保存设置成功", request.model_dump())
|
|
except Exception as e:
|
|
logger.error(f"Save settings failed: {e}")
|
|
return error_response(f"保存设置失败: {str(e)}", 500)
|