From bd9786c14c61a8ca5d309e64ff0b1a2de1d6ebda Mon Sep 17 00:00:00 2001 From: IluaAir Date: Fri, 29 Aug 2025 22:10:15 +0300 Subject: [PATCH] add to tasks service --- src/api/dependacies/task_dep.py | 4 +++- src/api/v1/tasks.py | 11 +++++++++-- src/services/users.py | 12 +++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/api/dependacies/task_dep.py b/src/api/dependacies/task_dep.py index bf17953..adde0c4 100644 --- a/src/api/dependacies/task_dep.py +++ b/src/api/dependacies/task_dep.py @@ -36,7 +36,9 @@ class Date(BaseModel): @model_validator(mode="after") def check_dates(self): if self.date_from and self.date_to and self.date_to < self.date_from: - raise HTTPException(status_code=422, detail="date_to cannot be less than date_from") + raise HTTPException( + status_code=422, detail="date_to cannot be less than date_from" + ) return self diff --git a/src/api/v1/tasks.py b/src/api/v1/tasks.py index e663ef9..10f422a 100644 --- a/src/api/v1/tasks.py +++ b/src/api/v1/tasks.py @@ -18,9 +18,16 @@ async def get_tasks( user: ActiveUser, page: PaginationTasksDep, status: StatusTaskDep, - date: DateDep, + date_filter: DateDep, ): - result = await UserService(session).get_user_with_tasks(user.id) + result = await UserService(session).get_user_with_tasks( + user_id=user.id, + status=status.status, + limit=page.limit, + offset=page.page, + date_to=date_filter.date_to, + date_from=date_filter.date_from, + ) return result diff --git a/src/services/users.py b/src/services/users.py index 025cad9..242b776 100644 --- a/src/services/users.py +++ b/src/services/users.py @@ -1,3 +1,4 @@ +from datetime import date from fastapi import HTTPException from src.schemas.users import User, UserUpdate, UserWithTasks @@ -39,7 +40,16 @@ class UserService(BaseService): await self.session.commit() return User.model_validate(user) - async def get_user_with_tasks(self, user_id: int): + async def get_user_with_tasks( + self, + user_id: int, + status: str | None, + limit: int | None, + offset: int | None, + date_to: date | None, + date_from: date | None, + ): + print(type(status), status) user = await self.session.user.get_one_with_load(user_id) if user is None: raise HTTPException(status_code=404, detail="User not found.")