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