From c72a525b0a3a6ac9949ad0ec485703b721965226 Mon Sep 17 00:00:00 2001 From: fuhlving Date: Thu, 11 Dec 2025 10:07:42 +0100 Subject: [PATCH] patched code so database sessions would get released --- 2025/project/app/api/v1/user.py | 7 ++++--- 2025/project/app/db/schema.py | 7 +++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/2025/project/app/api/v1/user.py b/2025/project/app/api/v1/user.py index 565afbd..eb819e9 100644 --- a/2025/project/app/api/v1/user.py +++ b/2025/project/app/api/v1/user.py @@ -1,14 +1,15 @@ from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.orm import Session -from app.db.schema import SessionLocal +from app.db.schema import get_db from app.models.user import UserCreate, UserRead from app.services.user_service import UserService router = APIRouter() -def get_user_service() -> UserService: - return UserService(session=SessionLocal()) +def get_user_service(session: Session = Depends(get_db)) -> UserService: + return UserService(session=session) @router.get("/users", response_model=list[UserRead]) diff --git a/2025/project/app/db/schema.py b/2025/project/app/db/schema.py index 830d39e..20d4150 100644 --- a/2025/project/app/db/schema.py +++ b/2025/project/app/db/schema.py @@ -16,3 +16,10 @@ class User(Base): id: Mapped[int] = mapped_column(primary_key=True) name: Mapped[str] = mapped_column(String, index=True) + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() \ No newline at end of file