Files
ovirt-api-simulator/app/ovirt/deps.py
T
inecs cbd0adca91 Initial release of the oVirt/RHV Engine API simulator.
Stateful FastAPI lab with contract packs, Compose/Helm, Docker Hub release
targets, and Pulumi coverage across all Engine series (GET/POST/PUT/DELETE/HEAD).
2026-07-18 04:49:28 +03:00

23 lines
703 B
Python

"""FastAPI dependencies for oVirt routes."""
from __future__ import annotations
from fastapi import Request
from app.db.pool import AsyncpgDatabase
from app.ovirt.auth import AuthContext, resolve_request_auth
from app.ovirt.errors import OVirtError
def get_db(request: Request) -> AsyncpgDatabase:
db = getattr(request.app.state, "database", None)
if db is None:
raise OVirtError("ServiceUnavailable", "Database not ready", status_code=503)
return db # type: ignore[return-value]
async def require_auth(request: Request) -> AuthContext:
db = get_db(request)
async with db.pool.acquire() as conn:
return await resolve_request_auth(conn, dict(request.headers))