"""设置相关路由""" from fastapi import APIRouter from core.db import get_db from repositories.settings_repo import SettingsRepository from models.schemas import SettingsSchema from core.log import logger router = APIRouter(prefix="/api/settings", tags=["settings"]) settings_repo = SettingsRepository() def success_response(message: str, data=None): return {"code": 200, "message": message, "data": data} def error_response(message: str, code: int = 500): return {"code": code, "message": message, "data": None} @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("获取设置失败") @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("保存设置失败") return success_response("保存设置成功", request.model_dump()) except Exception as e: logger.error(f"Save settings failed: {e}") return error_response(f"保存设置失败: {str(e)}")