primary email change functionality
Build LinkLog Development Image / development-image (push) Successful in 12s
Build LinkLog Development Image / development-image (push) Successful in 12s
This commit is contained in:
@@ -7,7 +7,15 @@ from backend.app.database import get_connection, hash_password, verify_password
|
||||
|
||||
def authenticate_user(email: str, password: str):
|
||||
with get_connection() as conn:
|
||||
row = conn.execute('SELECT * FROM users WHERE email = ?', (email,)).fetchone()
|
||||
row = conn.execute(
|
||||
'''SELECT * FROM users WHERE email = ?
|
||||
UNION ALL
|
||||
SELECT users.* FROM users JOIN user_email_addresses
|
||||
ON user_email_addresses.user_id = users.id
|
||||
WHERE user_email_addresses.email = ? AND user_email_addresses.verified = 1
|
||||
LIMIT 1''',
|
||||
(email, email),
|
||||
).fetchone()
|
||||
if row is None or not verify_password(password, row['password_hash']):
|
||||
return None
|
||||
user = dict(row)
|
||||
@@ -26,4 +34,11 @@ def authenticate_user(email: str, password: str):
|
||||
def find_user(email: str):
|
||||
with get_connection() as conn:
|
||||
row = conn.execute('SELECT * FROM users WHERE email = ?', (email,)).fetchone()
|
||||
if row is None:
|
||||
row = conn.execute(
|
||||
'''SELECT users.* FROM users JOIN user_email_addresses
|
||||
ON user_email_addresses.user_id = users.id
|
||||
WHERE user_email_addresses.email = ?''',
|
||||
(email,),
|
||||
).fetchone()
|
||||
return dict(row) if row else None
|
||||
|
||||
Reference in New Issue
Block a user