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 import uuid
conn = get_system_db() conn = get_system_db()
repo = UserRepository(conn) try:
user = repo.get_by_email(email) repo = UserRepository(conn)
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) 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 # Issue JWT
jwt_token = create_access_token(user["id"], user["email"], user["role"]) jwt_token = create_access_token(user["id"], user["email"], user["role"])