add status to user with loads

This commit is contained in:
IluaAir
2025-08-31 23:27:02 +03:00
parent bd9786c14c
commit a9fc764c38
3 changed files with 15 additions and 5 deletions

View File

@@ -26,18 +26,19 @@ class UsersRepo(BaseRepo):
async def get_one_with_load(
self,
user_id: int,
status: str | None = None,
tasks_limit: Optional[int] = None,
tasks_offset: int = 0,
tasks_offset: Optional[int] = 0,
date_to: Optional[date] = None,
date_from: Optional[date] = None,
) -> UsersORM | None:
tasks_subquery = self._tasks_subquary(
date_from=date_from, date_to=date_to, user_id=user_id
date_from=date_from, date_to=date_to, user_id=user_id, status=status
)
if tasks_limit is not None:
tasks_subquery = tasks_subquery.limit(tasks_limit)
if tasks_offset > 0:
if tasks_offset is not None and tasks_offset > 0:
tasks_subquery = tasks_subquery.offset(tasks_offset)
query = (
select(self.model)
@@ -46,7 +47,7 @@ class UsersRepo(BaseRepo):
selectinload(
self.model.tasks.and_(TasksORM.id.in_(tasks_subquery))
).load_only(
TasksORM.id, TasksORM.title, TasksORM.due_date, TasksORM.priority
TasksORM.id, TasksORM.title, TasksORM.due_date, TasksORM.priority, TasksORM.status
)
)
)