"""公共配置 API:/api/config(全局唯一一份费率/滑点/复权口径)。 GET /api/config 读取(未配置过返回带默认值的实例) PUT /api/config 更新(upsert 单例) """ from __future__ import annotations from fastapi import APIRouter from app.api.deps import DbSession, GlobalConfigRepoDep from app.domain.entities.combo import GlobalConfig router = APIRouter(prefix="/config", tags=["config"]) @router.get("", response_model=GlobalConfig, summary="读取公共配置") def get_config(repo: GlobalConfigRepoDep) -> GlobalConfig: return repo.get() @router.put("", response_model=GlobalConfig, summary="更新公共配置") def update_config( config: GlobalConfig, repo: GlobalConfigRepoDep, session: DbSession, ) -> GlobalConfig: saved = repo.save(config) session.commit() return saved