Add promo management and unified user lookup

This commit is contained in:
Machka Pasla
2025-06-27 20:38:03 +03:00
parent c12958e9a2
commit d196801e2e
10 changed files with 234 additions and 13 deletions
+16
View File
@@ -30,6 +30,22 @@ async def get_user_by_panel_uuid(
return result.scalar_one_or_none()
async def get_user(
session: AsyncSession,
*,
user_id: Optional[int] = None,
username: Optional[str] = None,
panel_uuid: Optional[str] = None,
) -> Optional[User]:
if user_id is not None:
return await get_user_by_id(session, user_id)
if username is not None:
return await get_user_by_username(session, username)
if panel_uuid is not None:
return await get_user_by_panel_uuid(session, panel_uuid)
return None
async def create_user(session: AsyncSession, user_data: Dict[str, Any]) -> User:
if "registration_date" not in user_data: