From f69c9d3f4bba4800be56f00edf715ce9051a096e Mon Sep 17 00:00:00 2001 From: Baptiste-Ferrand Date: Mon, 8 Sep 2025 21:15:37 +0200 Subject: [PATCH 1/2] update router for create an new endpoint for get one diet --- src/entrypoints/api/routers/diet.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/entrypoints/api/routers/diet.py b/src/entrypoints/api/routers/diet.py index 0347cd8..2518f99 100644 --- a/src/entrypoints/api/routers/diet.py +++ b/src/entrypoints/api/routers/diet.py @@ -57,6 +57,19 @@ async def update_diet(diet_id: UUID, raise HTTPException(status_code=HTTP_404_NOT_FOUND, detail="Diet not found") return DietRead.model_validate(updated) +@router.get( + "/{diet_id}", + response_model=DietRead, + dependencies=[Depends(get_current_user)] +) +async def get_diet(diet_id: UUID): + svc = container.get_diet_service() + try: + diet = await svc.get_diet(diet_id) + except NotFoundError: + raise HTTPException(status_code=HTTP_404_NOT_FOUND, detail="Diet not found") + return DietRead.model_validate(diet) + @router.delete("/{diet_id}/user/{target_user_id}", status_code=status.HTTP_204_NO_CONTENT) async def delete_diet(diet_id: UUID, _=Depends(require_coach_for_user_or_admin)): From 03204b54f28a2cda23e93fdf9f691bb3b4bc2c3b Mon Sep 17 00:00:00 2001 From: Baptiste-Ferrand Date: Mon, 8 Sep 2025 21:16:32 +0200 Subject: [PATCH 2/2] update endpoint for daily checkup for get all daily checkup from an user only for coach or admin --- src/entrypoints/api/routers/daily_checkup.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/entrypoints/api/routers/daily_checkup.py b/src/entrypoints/api/routers/daily_checkup.py index a464a7e..432a961 100644 --- a/src/entrypoints/api/routers/daily_checkup.py +++ b/src/entrypoints/api/routers/daily_checkup.py @@ -6,6 +6,7 @@ from src.container import container from src.entrypoints.api.deps.auth import get_current_user, require_owner_or_admin +from src.entrypoints.api.deps.roles import require_roles from src.entrypoints.api.schemas.daily_checkup import DailyCheckupCreate, DailyCheckupRead from src.domain.exceptions import NotFoundError, ValidationError @@ -75,6 +76,18 @@ async def get_my_daily_checkups(user=Depends(get_current_user)): checkups = await service.get_by_profile_id(UUID(user["sub"])) return [DailyCheckupRead.model_validate(checkup) for checkup in checkups] +@router.get( + "/user/{user_id}", + response_model=List[DailyCheckupRead], + dependencies=[Depends(require_roles("admin", "coach"))] +) +async def get_user_daily_checkups( + user_id: UUID, +): + service = container.get_daily_checkup_service() + checkups = await service.get_by_profile_id(user_id) + return [DailyCheckupRead.model_validate(checkup) for checkup in checkups] + @router.get("/today", response_model=Optional[DailyCheckupRead]) async def get_today_checkup(user=Depends(get_current_user)): service = container.get_daily_checkup_service()