routes.py 1.5 KB

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