refactoring
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user