diff --git a/src/api/v1/users.py b/src/api/v1/users.py index ea48990..9091579 100644 --- a/src/api/v1/users.py +++ b/src/api/v1/users.py @@ -1,7 +1,8 @@ -from fastapi import APIRouter, Body +from fastapi import APIRouter, Body, HTTPException from src.api.dependacies.db_dep import sessionDep from src.api.dependacies.user_dep import ( + ActiveUser, AdminUser, OwnerDep, ) @@ -24,6 +25,16 @@ async def get_user_by_id(session: sessionDep, id: int, _: OwnerDep): return user +@router.get("/{id}/tasks") +async def get_user_tasks(session: sessionDep, id: int, user: ActiveUser): + if user.id != id and user.is_superuser is False: + raise HTTPException(status_code=403, detail="Forbidden") + tasks = await UserService(session).get_user_with_tasks( + user_id=id, status=None, limit=None, offset=None, date_to=None, date_from=None + ) + return tasks.tasks + + @router.patch("/{id}") async def patch_user( session: sessionDep,