Files
Aegis/backend/app/dependencies/repositories.py

31 lines
893 B
Python

"""FastAPI dependency providers for repositories.
Wiring lives ONLY in the presentation layer — use cases and services
never know which concrete repository implementation they receive.
"""
from fastapi import Depends
from sqlalchemy.orm import Session
from app.database import get_db
from app.infrastructure.persistence.repositories.sa_technique_repository import (
SATechniqueRepository,
)
from app.infrastructure.persistence.repositories.sa_test_repository import (
SATestRepository,
)
def get_technique_repository(
db: Session = Depends(get_db),
) -> SATechniqueRepository:
"""Provide a TechniqueRepository backed by the current DB session."""
return SATechniqueRepository(db)
def get_test_repository(
db: Session = Depends(get_db),
) -> SATestRepository:
"""Provide a TestRepository backed by the current DB session."""
return SATestRepository(db)