gwoe-antragspruefer/app/repositories/__init__.py

45 lines
1.3 KiB
Python
Raw Permalink Normal View History

"""Repository-Pattern für Persistenz-Zugriff (ADR 0008).
Die Repositories kapseln direkte ``database.py``-Aufrufe hinter Protocols,
sodass Tests `InMemory*Repository` verwenden können und Callsites nicht
mehr jedes Schema-Detail kennen müssen.
Die konkreten `Sqlite*Repository`-Implementierungen delegieren heute noch
an die bestehenden Funktionen in ``database.py`` kein Big-Bang-Rewrite.
Schritt für Schritt wandern die direkten DB-Aufrufe in die Repositories.
"""
from .antrag_repository import (
AntragRepository,
SqliteAntragRepository,
InMemoryAntragRepository,
get_antrag_repository,
)
from .bewertung_repository import (
BewertungRepository,
SqliteBewertungRepository,
InMemoryBewertungRepository,
get_bewertung_repository,
)
from .abonnement_repository import (
AbonnementRepository,
SqliteAbonnementRepository,
InMemoryAbonnementRepository,
get_abonnement_repository,
)
__all__ = [
"AntragRepository",
"SqliteAntragRepository",
"InMemoryAntragRepository",
"get_antrag_repository",
"BewertungRepository",
"SqliteBewertungRepository",
"InMemoryBewertungRepository",
"get_bewertung_repository",
"AbonnementRepository",
"SqliteAbonnementRepository",
"InMemoryAbonnementRepository",
"get_abonnement_repository",
]