"""FastAPI dependencies for the formal cloud workbench.""" from __future__ import annotations import os from typing import Iterator from fastapi import HTTPException from acquisition.repositories.postgres import PostgresAcquisitionRepository from core.config import CreationDbConfig from core.db_session import transaction def _env_file() -> str: return os.getenv("CK_ENV_FILE", ".env") def get_creation_db_config() -> CreationDbConfig: return CreationDbConfig.from_env(_env_file()) def get_acquisition_repository() -> Iterator[PostgresAcquisitionRepository]: with transaction(get_creation_db_config()) as conn: yield PostgresAcquisitionRepository(conn) def get_decode_repository(): raise HTTPException(status_code=501, detail="decode repository is wired in pipeline Step 7") def get_pipeline_repository(): raise HTTPException(status_code=501, detail="pipeline repository persistence is wired in Step 7")