diff --git a/fastapi_book_server/app/views/book.py b/fastapi_book_server/app/views/book.py index 19aaa2a..4308ce4 100644 --- a/fastapi_book_server/app/views/book.py +++ b/fastapi_book_server/app/views/book.py @@ -38,6 +38,20 @@ async def get_books( return await BookFilterService.get(book_filter, request.app.state.redis) +@book_router.get("/last", response_model=CustomPage[RemoteBook]) +async def get_last_book(): + book = ( + await BookDB.objects.select_related( + SELECT_RELATED_FIELDS + DETAIL_SELECT_RELATED_FIELDS + ) + .prefetch_related(PREFETCH_RELATED_FIELDS) + .order_by("-id") + .first() + ) + + return book + + @book_router.get("/random", response_model=BookDetail) async def get_random_book( request: Request,