Spaces:
Sleeping
Sleeping
| """FastAPI dependency injection helpers. | |
| All shared resources (storage, cache, LLM, graph) live on app.state | |
| and are injected into endpoint functions via Depends(). | |
| """ | |
| from __future__ import annotations | |
| from fastapi import Depends, Request | |
| from src.cache import BodhiCache | |
| from src.storage import BodhiStorage | |
| from src.api.auth import require_auth, get_current_user_id # noqa: F401 | |
| from typing import Union | |
| from fastapi import Depends, Request, WebSocket | |
| from src.cache import BodhiCache | |
| from src.storage import BodhiStorage | |
| from src.api.auth import require_auth, get_current_user_id # noqa: F401 | |
| def _get_conn(request: Request = None, websocket: WebSocket = None): | |
| return request or websocket | |
| def get_storage(conn=Depends(_get_conn)) -> BodhiStorage: | |
| return conn.app.state.storage | |
| def get_cache(conn=Depends(_get_conn)) -> BodhiCache | None: | |
| return conn.app.state.cache | |
| def get_graph(conn=Depends(_get_conn)): | |
| return conn.app.state.graph | |
| def get_sarvam_key(conn=Depends(_get_conn)) -> str: | |
| return conn.app.state.sarvam_key | |
| def get_deepgram_key(conn=Depends(_get_conn)) -> str: | |
| return conn.app.state.deepgram_key | |
| def get_llm(conn=Depends(_get_conn)): | |
| return conn.app.state.llm | |