"""设置相关路由""" 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)