Add source for get_books endpoint

This commit is contained in:
2021-11-21 21:24:48 +03:00
parent cc3ded9a7d
commit dabab0ccdc
2 changed files with 11 additions and 2 deletions

View File

@@ -6,6 +6,11 @@ from app.serializers.author import Author
from app.serializers.orjson_config import ORJSONConfig from app.serializers.orjson_config import ORJSONConfig
class BookSource(BaseModel):
id: int
name: str
class Book(BaseModel): class Book(BaseModel):
id: int id: int
title: str title: str
@@ -19,6 +24,10 @@ class Book(BaseModel):
pass pass
class BookWithSource(Book):
source: BookSource
class CreateBook(BaseModel): class CreateBook(BaseModel):
source: int source: int
remote_id: int remote_id: int

View File

@@ -7,7 +7,7 @@ from fastapi_pagination.ext.ormar import paginate
from app.utils.pagination import CustomPage from app.utils.pagination import CustomPage
from app.models import Book as BookDB, Author as AuthorDB, AuthorAnnotation as AuthorAnnotationDB from app.models import Book as BookDB, Author as AuthorDB, AuthorAnnotation as AuthorAnnotationDB
from app.serializers.book import Book, CreateBook, UpdateBook, CreateRemoteBook from app.serializers.book import Book, BookWithSource, CreateBook, UpdateBook, CreateRemoteBook
from app.services.book import BookTGRMSearchService, BookCreator from app.services.book import BookTGRMSearchService, BookCreator
from app.depends import check_token from app.depends import check_token
@@ -19,7 +19,7 @@ book_router = APIRouter(
) )
@book_router.get("/", response_model=CustomPage[Book], dependencies=[Depends(Params)]) @book_router.get("/", response_model=CustomPage[BookWithSource], dependencies=[Depends(Params)])
async def get_books(): async def get_books():
return await paginate( return await paginate(
BookDB.objects.select_related(["source", "authors"]) BookDB.objects.select_related(["source", "authors"])