routes.py 1.3 KB

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