routes.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from __future__ import annotations
  2. from quart import Blueprint
  3. from app.api.v1.utils import ApiDependencies
  4. from app.api.v1.endpoints import (
  5. create_abtest_bp,
  6. create_health_bp,
  7. create_tasks_bp,
  8. create_tokens_bp,
  9. create_monitor_bp,
  10. create_rank_log_bp,
  11. # create_mcp_bp
  12. )
  13. from app.core.config import GlobalConfigSettings
  14. from app.core.database import DatabaseManager
  15. from app.core.observability import LogService
  16. def register_v1_blueprints(deps: ApiDependencies) -> Blueprint:
  17. """
  18. v1 路由统一注册入口(按领域拆分)。
  19. - /api/get_cover
  20. - /api/run_task
  21. - /api/tasks
  22. - /api/save_token
  23. - /api/health
  24. """
  25. api = Blueprint("api", __name__, url_prefix="/api")
  26. api.register_blueprint(create_health_bp())
  27. api.register_blueprint(create_tasks_bp(deps))
  28. api.register_blueprint(create_tokens_bp(deps))
  29. api.register_blueprint(create_abtest_bp(deps))
  30. api.register_blueprint(create_monitor_bp(deps))
  31. api.register_blueprint(create_rank_log_bp(deps))
  32. # api.register_blueprint(create_mcp_bp(deps))
  33. return api
  34. def server_routes(
  35. pools: DatabaseManager, log_service: LogService, config: GlobalConfigSettings
  36. ) -> Blueprint:
  37. """
  38. 兼容旧入口:保留 server_routes 签名,内部转为新的 deps + 统一注册。
  39. """
  40. deps = ApiDependencies(db=pools, log=log_service, config=config)
  41. return register_v1_blueprints(deps)