31 lines
893 B
Python
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)
|