routes.py 1.2 KB

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