From c1d26bb274099a6f47ea1d9df64f6576a91356d1 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Thu, 6 Feb 2025 11:57:01 +0200 Subject: [PATCH] fix: email check --- lnbits/core/crud/users.py | 6 ++++++ lnbits/decorators.py | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lnbits/core/crud/users.py b/lnbits/core/crud/users.py index e14b7d324..b44c1bf0d 100644 --- a/lnbits/core/crud/users.py +++ b/lnbits/core/crud/users.py @@ -94,6 +94,8 @@ async def get_accounts( async def get_account( user_id: str, conn: Optional[Connection] = None ) -> Optional[Account]: + if len(user_id) == 0: + return None return await (conn or db).fetchone( "SELECT * FROM accounts WHERE id = :id", {"id": user_id}, @@ -123,6 +125,8 @@ async def delete_accounts_no_wallets( async def get_account_by_username( username: str, conn: Optional[Connection] = None ) -> Optional[Account]: + if len(username) == 0: + return None return await (conn or db).fetchone( "SELECT * FROM accounts WHERE username = :username", {"username": username}, @@ -143,6 +147,8 @@ async def get_account_by_pubkey( async def get_account_by_email( email: str, conn: Optional[Connection] = None ) -> Optional[Account]: + if len(email) == 0: + return None return await (conn or db).fetchone( "SELECT * FROM accounts WHERE email = :email", {"email": email}, diff --git a/lnbits/decorators.py b/lnbits/decorators.py index 5f401ef72..e9bb211f7 100644 --- a/lnbits/decorators.py +++ b/lnbits/decorators.py @@ -303,11 +303,11 @@ async def _get_account_from_jwt_payload( payload: AccessTokenPayload, path: str, method: str ) -> Optional[Account]: account = None - if payload.sub is not None: + if payload.sub: account = await get_account_by_username(payload.sub) - if payload.usr is not None: + elif payload.usr: account = await get_account(payload.usr) - if payload.email is not None: + elif payload.email: account = await get_account_by_email(payload.email) if not account: