repo tasks count

This commit is contained in:
IluaAir
2025-08-28 00:36:59 +03:00
parent 45c5492ff8
commit c941b25a90

View File

@@ -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)