From 9cc2a285dc01b593ed8cf2bab55cd334066695c4 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 31 Jan 2026 20:12:25 +0300 Subject: [PATCH] Update user.py --- app/database/crud/user.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/database/crud/user.py b/app/database/crud/user.py index fe6cb873..e8b94d06 100644 --- a/app/database/crud/user.py +++ b/app/database/crud/user.py @@ -686,6 +686,7 @@ async def get_users_list( offset: int = 0, limit: int = 50, search: str | None = None, + email: str | None = None, status: UserStatus | None = None, order_by_balance: bool = False, order_by_traffic: bool = False, @@ -722,6 +723,9 @@ async def get_users_list( query = query.where(or_(*conditions)) + if email: + query = query.where(User.email.ilike(f'%{email}%')) + sort_flags = [ order_by_balance, order_by_traffic, @@ -777,7 +781,9 @@ async def get_users_list( return users -async def get_users_count(db: AsyncSession, status: UserStatus | None = None, search: str | None = None) -> int: +async def get_users_count( + db: AsyncSession, status: UserStatus | None = None, search: str | None = None, email: str | None = None +) -> int: query = select(func.count(User.id)) if status: @@ -803,6 +809,9 @@ async def get_users_count(db: AsyncSession, status: UserStatus | None = None, se query = query.where(or_(*conditions)) + if email: + query = query.where(User.email.ilike(f'%{email}%')) + result = await db.execute(query) return result.scalar()