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
class BookSource(BaseModel):
id: int
name: str
class Book(BaseModel):
id: int
title: str
@@ -19,6 +24,10 @@ class Book(BaseModel):
pass
class BookWithSource(Book):
source: BookSource
class CreateBook(BaseModel):
source: 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.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.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():
return await paginate(
BookDB.objects.select_related(["source", "authors"])