feat(infra): add repository implementations, mappers, FastAPI wiring, and technique indexes

This commit is contained in:
2026-02-18 19:10:50 +01:00
parent 5c55e7c17f
commit 1521005b62
9 changed files with 618 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
"""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)