dependencies.py 946 B

1234567891011121314151617181920212223242526272829303132
  1. """FastAPI dependencies for the formal cloud workbench."""
  2. from __future__ import annotations
  3. import os
  4. from typing import Iterator
  5. from fastapi import HTTPException
  6. from acquisition.repositories.postgres import PostgresAcquisitionRepository
  7. from core.config import CreationDbConfig
  8. from core.db_session import transaction
  9. def _env_file() -> str:
  10. return os.getenv("CK_ENV_FILE", ".env")
  11. def get_creation_db_config() -> CreationDbConfig:
  12. return CreationDbConfig.from_env(_env_file())
  13. def get_acquisition_repository() -> Iterator[PostgresAcquisitionRepository]:
  14. with transaction(get_creation_db_config()) as conn:
  15. yield PostgresAcquisitionRepository(conn)
  16. def get_decode_repository():
  17. raise HTTPException(status_code=501, detail="decode repository is wired in pipeline Step 7")
  18. def get_pipeline_repository():
  19. raise HTTPException(status_code=501, detail="pipeline repository persistence is wired in Step 7")