refactoring

This commit is contained in:
Alexander Kalinovsky
2025-01-09 13:11:10 +01:00
parent 7793a0cb77
commit 3898a333fa
29 changed files with 1065 additions and 381 deletions

View File

@@ -1,4 +1,4 @@
from sqlmodel import BIGINT, Field, select, func
from sqlmodel import BIGINT, Field, select, func, column
from sqlmodel.ext.asyncio.session import AsyncSession
@@ -20,11 +20,14 @@ class OwnedBotEntity(BotEntity, table = False):
async def get_multi_by_user(cls, *,
session: AsyncSession | None = None,
user_id: int,
filter: str = None,
order_by = None,
skip: int = 0,
limit: int = None):
select_statement = select(cls).where(cls.user_id == user_id).offset(skip)
if filter:
select_statement = select_statement.where(column("name").ilike(f"%{filter}%"))
if limit:
select_statement = select_statement.limit(limit)
if order_by:
@@ -36,9 +39,11 @@ class OwnedBotEntity(BotEntity, table = False):
@session_dep
async def get_count_by_user(cls, *,
session: AsyncSession | None = None,
user_id: int):
user_id: int,
filter: str = None) -> int:
return await session.scalar(
select(func.count()).
select_from(cls).
where(cls.user_id == user_id))
select_statement = select(func.count()).select_from(cls).where(cls.user_id == user_id)
if filter:
select_statement = select_statement.where(column("name").ilike(f"%{filter}%"))
return await session.scalar(select_statement)