routes.py 1.3 KB

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