add date_to date_from endpoints
This commit is contained in:
@@ -31,7 +31,9 @@ class UsersRepo(BaseRepo):
|
||||
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)
|
||||
tasks_subquery = self._tasks_subquary(
|
||||
date_from=date_from, date_to=date_to, user_id=user_id
|
||||
)
|
||||
|
||||
if tasks_limit is not None:
|
||||
tasks_subquery = tasks_subquery.limit(tasks_limit)
|
||||
@@ -59,17 +61,21 @@ class UsersRepo(BaseRepo):
|
||||
)
|
||||
return obj
|
||||
|
||||
async def get_tasks_count(self, date_from: date | None, date_to: date | None, **filter_by) -> int:
|
||||
async def get_tasks_count(
|
||||
self, date_from: date | None, date_to: date | None, **filter_by
|
||||
) -> int:
|
||||
subq = self._tasks_subquary(date_from, date_to, **filter_by).subquery()
|
||||
stmt = select(func.count()).select_from(subq)
|
||||
result = await self.session.execute(stmt)
|
||||
return result.scalar_one()
|
||||
|
||||
|
||||
def _priority(self, priority: str):
|
||||
priority_map = {"low": 1, "medium": 2, "high": 3, "critical": 4}
|
||||
return priority_map.get(priority, 0)
|
||||
|
||||
def _tasks_subquary(self, date_from: date | None, date_to: date | None, **filter_by):
|
||||
def _tasks_subquary(
|
||||
self, date_from: date | None, date_to: date | None, **filter_by
|
||||
):
|
||||
subq = select(TasksORM.id).filter_by(**filter_by)
|
||||
if date_from is not None:
|
||||
subq = subq.filter(TasksORM.due_date >= date_from)
|
||||
|
||||
Reference in New Issue
Block a user