implemented postgres support in repositories

This commit is contained in:
Brian Bjarke Jensen
2025-11-11 18:52:19 +01:00
parent 65655db034
commit e7ed89e04e
31 changed files with 364 additions and 236 deletions
+22 -16
View File
@@ -9,17 +9,15 @@ from baby_monitor.models.diaper_change import (
DiaperChangeResponse,
)
from baby_monitor.routers.auth import verify_token
from baby_monitor.repositories.diaper_change.sqlite_diaper_change import (
SQLiteDiaperChangeRepository,
from baby_monitor.repositories.interfaces import (
DiaperChangeRepositoryInterface,
ChildRepositoryInterface,
)
from baby_monitor.repositories.dependencies.get_diaper_change_repository import ( # noqa: E501
from baby_monitor.repositories.dependencies import (
get_diaper_change_repository,
)
from baby_monitor.repositories.child.sqlite_child import SQLiteChildRepository
from baby_monitor.repositories.dependencies.get_child_repository import (
get_child_repository,
)
from baby_monitor.utils.access_control import verify_child_access
from baby_monitor.utils.verify_child_access import verify_child_access
router = APIRouter(prefix="/api/diaper-changes", tags=["diaper-changes"])
@@ -29,9 +27,11 @@ def create_diaper_change(
request: CreateDiaperChangeRequest,
user_id: Annotated[int, Depends(verify_token)],
diaper_repo: Annotated[
SQLiteDiaperChangeRepository, Depends(get_diaper_change_repository)
DiaperChangeRepositoryInterface, Depends(get_diaper_change_repository)
],
child_repo: Annotated[
ChildRepositoryInterface, Depends(get_child_repository)
],
child_repo: Annotated[SQLiteChildRepository, Depends(get_child_repository)],
) -> DiaperChangeResponse:
"""Create a new diaper change log entry."""
# Verify the child belongs to the authenticated user
@@ -53,7 +53,7 @@ def create_diaper_change(
def get_user_diaper_changes(
user_id: Annotated[int, Depends(verify_token)],
diaper_repo: Annotated[
SQLiteDiaperChangeRepository, Depends(get_diaper_change_repository)
DiaperChangeRepositoryInterface, Depends(get_diaper_change_repository)
],
) -> list[DiaperChangeResponse]:
"""Get all diaper change logs for the authenticated user's children."""
@@ -66,9 +66,11 @@ def get_diaper_change(
diaper_change_id: int,
user_id: Annotated[int, Depends(verify_token)],
diaper_repo: Annotated[
SQLiteDiaperChangeRepository, Depends(get_diaper_change_repository)
DiaperChangeRepositoryInterface, Depends(get_diaper_change_repository)
],
child_repo: Annotated[
ChildRepositoryInterface, Depends(get_child_repository)
],
child_repo: Annotated[SQLiteChildRepository, Depends(get_child_repository)],
) -> DiaperChangeResponse:
"""Get a specific diaper change log by ID."""
diaper_change = diaper_repo.get_by_id(diaper_change_id)
@@ -88,9 +90,11 @@ def update_diaper_change(
request: UpdateDiaperChangeRequest,
user_id: Annotated[int, Depends(verify_token)],
diaper_repo: Annotated[
SQLiteDiaperChangeRepository, Depends(get_diaper_change_repository)
DiaperChangeRepositoryInterface, Depends(get_diaper_change_repository)
],
child_repo: Annotated[
ChildRepositoryInterface, Depends(get_child_repository)
],
child_repo: Annotated[SQLiteChildRepository, Depends(get_child_repository)],
) -> DiaperChangeResponse:
"""Update an existing diaper change log."""
diaper_change = diaper_repo.get_by_id(diaper_change_id)
@@ -123,9 +127,11 @@ def delete_diaper_change(
diaper_change_id: int,
user_id: Annotated[int, Depends(verify_token)],
diaper_repo: Annotated[
SQLiteDiaperChangeRepository, Depends(get_diaper_change_repository)
DiaperChangeRepositoryInterface, Depends(get_diaper_change_repository)
],
child_repo: Annotated[
ChildRepositoryInterface, Depends(get_child_repository)
],
child_repo: Annotated[SQLiteChildRepository, Depends(get_child_repository)],
) -> None:
"""Delete a diaper change log."""
diaper_change = diaper_repo.get_by_id(diaper_change_id)