fix: wrap Google OAuth DB connection in try/finally to ensure it is always closed

The system DB connection opened in google_callback is now closed in a
finally block, so it is released even when an exception occurs between
open and close.
This commit is contained in:
ZdenekSrotyr 2026-04-09 18:42:56 +02:00
parent 471982d3f9
commit 7d036760f5

View file

@ -77,13 +77,15 @@ async def google_callback(request: Request):
import uuid
conn = get_system_db()
repo = UserRepository(conn)
user = repo.get_by_email(email)
if not user:
user_id = str(uuid.uuid4())
repo.create(id=user_id, email=email, name=name, role="analyst")
try:
repo = UserRepository(conn)
user = repo.get_by_email(email)
conn.close()
if not user:
user_id = str(uuid.uuid4())
repo.create(id=user_id, email=email, name=name, role="analyst")
user = repo.get_by_email(email)
finally:
conn.close()
# Issue JWT
jwt_token = create_access_token(user["id"], user["email"], user["role"])