From baed65c95037f98ea6a616532297ee163e55efa1 Mon Sep 17 00:00:00 2001 From: Nikita Yakovlev Date: Mon, 9 Feb 2026 14:34:09 +0300 Subject: [PATCH 1/3] fix delete method --- backend/backlog_app/api/crud.py | 8 +++----- backend/backlog_app/api/view/movie_view.py | 6 +++--- backend/backlog_app/schemas/movie.py | 5 +++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/backend/backlog_app/api/crud.py b/backend/backlog_app/api/crud.py index 8097dd7..ceb5a45 100644 --- a/backend/backlog_app/api/crud.py +++ b/backend/backlog_app/api/crud.py @@ -20,7 +20,7 @@ async def create_movie( await db.commit() await db.refresh(movie) - logger.info("Movie has been created.") + logger.info("Movie <%s> has been created.", movie.id) return MovieRead( id=movie.id, @@ -153,7 +153,7 @@ async def delete_movie( db: AsyncSession, movie_id: int, user: User, -) -> Movie | None: +) -> None: result = await db.execute(select(Movie).where(Movie.id == movie_id)) movie = result.scalars().first() if not movie: @@ -164,9 +164,7 @@ async def delete_movie( await db.delete(movie) await db.commit() - logger.info("Movie has been deleted.") - - return movie + logger.info("Movie <%s> has been deleted.", movie_id) def check_movie_ownership(movie: Movie, user: User) -> None: diff --git a/backend/backlog_app/api/view/movie_view.py b/backend/backlog_app/api/view/movie_view.py index f2a8d9e..a90ce5a 100644 --- a/backend/backlog_app/api/view/movie_view.py +++ b/backend/backlog_app/api/view/movie_view.py @@ -1,6 +1,6 @@ from typing import Annotated, List -from fastapi import APIRouter, Depends +from fastapi import APIRouter, Depends, status from sqlalchemy.ext.asyncio import AsyncSession from backlog_app.api import crud @@ -14,7 +14,7 @@ router = APIRouter(prefix="/movies", tags=["Movies"]) -@router.post("/", response_model=MovieRead) +@router.post("/", response_model=MovieRead, status_code=status.HTTP_201_CREATED) async def add_movie( movie_create: MovieCreate, db: Annotated[AsyncSession, Depends(get_async_session)], @@ -66,7 +66,7 @@ async def partial_update_movie( return await crud.partial_update_movie(db, movie_id, movie_update) -@router.delete("/{movie_id}", response_model=MovieRead) +@router.delete("/{movie_id}", status_code=status.HTTP_204_NO_CONTENT,) async def delete_movie( movie_id: int, db: Annotated[AsyncSession, Depends(get_async_session)], diff --git a/backend/backlog_app/schemas/movie.py b/backend/backlog_app/schemas/movie.py index 22f8674..b7a3405 100644 --- a/backend/backlog_app/schemas/movie.py +++ b/backend/backlog_app/schemas/movie.py @@ -1,5 +1,6 @@ from datetime import datetime from typing import Annotated +from .user import UserRead from annotated_types import Len from pydantic import BaseModel, Field @@ -14,6 +15,8 @@ class MovieBase(BaseModel): kp_id: int | None = None imdb_id: int | None = None + model_config = {"from_attributes": True} + class MovieCreate(MovieBase): description: Annotated[str, Len(min_length=20, max_length=1000)] | None = None @@ -37,5 +40,3 @@ class MovieRead(MovieBase): watched: bool rating: float | None created_at: datetime - - model_config = {"from_attributes": True} From 6ab303f9f1bc40ff75ae87dc8804ed4b57583d16 Mon Sep 17 00:00:00 2001 From: Nikita Yakovlev Date: Tue, 10 Feb 2026 12:51:14 +0300 Subject: [PATCH 2/3] fix lint --- backend/backlog_app/api/view/movie_view.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/backlog_app/api/view/movie_view.py b/backend/backlog_app/api/view/movie_view.py index a90ce5a..8a8cc2d 100644 --- a/backend/backlog_app/api/view/movie_view.py +++ b/backend/backlog_app/api/view/movie_view.py @@ -66,7 +66,10 @@ async def partial_update_movie( return await crud.partial_update_movie(db, movie_id, movie_update) -@router.delete("/{movie_id}", status_code=status.HTTP_204_NO_CONTENT,) +@router.delete( + "/{movie_id}", + status_code=status.HTTP_204_NO_CONTENT, +) async def delete_movie( movie_id: int, db: Annotated[AsyncSession, Depends(get_async_session)], From e1cb66465729fc5cbd86cb42c5a1820fcb68cad6 Mon Sep 17 00:00:00 2001 From: Nikita Yakovlev Date: Tue, 10 Feb 2026 12:52:05 +0300 Subject: [PATCH 3/3] fix isort --- backend/backlog_app/schemas/movie.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/backlog_app/schemas/movie.py b/backend/backlog_app/schemas/movie.py index b7a3405..84559f7 100644 --- a/backend/backlog_app/schemas/movie.py +++ b/backend/backlog_app/schemas/movie.py @@ -1,10 +1,11 @@ from datetime import datetime from typing import Annotated -from .user import UserRead from annotated_types import Len from pydantic import BaseModel, Field +from .user import UserRead + class MovieBase(BaseModel): title: Annotated[str, Len(min_length=3, max_length=255)]