repo tasks count
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from sqlalchemy import select, update
|
from sqlalchemy import func, select, update
|
||||||
from sqlalchemy.orm import selectinload
|
from sqlalchemy.orm import selectinload
|
||||||
|
|
||||||
from src.models import UsersORM
|
from src.models import UsersORM
|
||||||
@@ -59,6 +59,12 @@ class UsersRepo(BaseRepo):
|
|||||||
)
|
)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
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):
|
def _priority(self, priority: str):
|
||||||
priority_map = {"low": 1, "medium": 2, "high": 3, "critical": 4}
|
priority_map = {"low": 1, "medium": 2, "high": 3, "critical": 4}
|
||||||
return priority_map.get(priority, 0)
|
return priority_map.get(priority, 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user