added all missing endpoints
This commit is contained in:
@@ -168,6 +168,36 @@ api_router.include_router(
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
publisher.router,
|
||||
prefix="/bookshelf",
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
book.router,
|
||||
prefix="/bookshelf",
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
author.router,
|
||||
prefix="/bookshelf",
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
articleauthor.router,
|
||||
prefix="/bookshelf",
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
bookauthor.router,
|
||||
prefix="/bookshelf",
|
||||
tags=["bookshelf"],
|
||||
dependencies=[Depends(get_current_user_from_token)],
|
||||
)
|
||||
api_router.include_router(
|
||||
profile.router,
|
||||
prefix="/user",
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from src.db.models.bookshelf import ArticleAuthor
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.bookshelf.articleauthor import ArticleAuthorResponse, to_response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/articleauthors", response_model=List[ArticleAuthorResponse])
|
||||
def get_all_artists(db: SessionDep) -> List[ArticleAuthorResponse]:
|
||||
results: List[ArticleAuthorResponse] = []
|
||||
articleauthors = db.query(ArticleAuthor).all()
|
||||
for articleauthor in articleauthors:
|
||||
response = to_response(articleauthor)
|
||||
results.append(response)
|
||||
return results
|
||||
@@ -0,0 +1,19 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from src.db.models.bookshelf import Author
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.bookshelf.author import AuthorResponse, to_response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/authors", response_model=List[AuthorResponse])
|
||||
def get_all_artists(db: SessionDep) -> List[AuthorResponse]:
|
||||
results: List[AuthorResponse] = []
|
||||
authors = db.query(Author).all()
|
||||
for author in authors:
|
||||
response = to_response(author)
|
||||
results.append(response)
|
||||
return results
|
||||
@@ -0,0 +1,19 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from src.db.models.bookshelf import Book
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.bookshelf.book import BookResponse, to_response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/books", response_model=List[BookResponse])
|
||||
def get_all_artists(db: SessionDep) -> List[BookResponse]:
|
||||
results: List[BookResponse] = []
|
||||
books = db.query(Book).all()
|
||||
for book in books:
|
||||
response = to_response(book)
|
||||
results.append(response)
|
||||
return results
|
||||
@@ -0,0 +1,19 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from src.db.models.bookshelf import BookAuthor
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.bookshelf.bookauthor import BookAuthorResponse, to_response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/bookauthors", response_model=List[BookAuthorResponse])
|
||||
def get_all_artists(db: SessionDep) -> List[BookAuthorResponse]:
|
||||
results: List[BookAuthorResponse] = []
|
||||
bookauthors = db.query(BookAuthor).all()
|
||||
for bookauthor in bookauthors:
|
||||
response = to_response(bookauthor)
|
||||
results.append(response)
|
||||
return results
|
||||
@@ -0,0 +1,19 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from src.db.models.bookshelf import BookshelfPublisher
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.bookshelf.publisher import PublisherResponse, to_response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/publishers", response_model=List[PublisherResponse])
|
||||
def get_all_artists(db: SessionDep) -> List[PublisherResponse]:
|
||||
results: List[PublisherResponse] = []
|
||||
publishers = db.query(BookshelfPublisher).all()
|
||||
for publisher in publishers:
|
||||
response = to_response(publisher)
|
||||
results.append(response)
|
||||
return results
|
||||
@@ -0,0 +1,25 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.bookshelf import ArticleAuthor
|
||||
|
||||
|
||||
class ArticleAuthorResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
article_id: str
|
||||
author_id: str
|
||||
|
||||
def to_response(articleauthor: ArticleAuthor) -> ArticleAuthorResponse:
|
||||
response: ArticleAuthorResponse = ArticleAuthorResponse(
|
||||
id=articleauthor.id,
|
||||
created_date=articleauthor.created_date,
|
||||
last_modified_date=articleauthor.last_modified_date,
|
||||
version=articleauthor.version,
|
||||
article_id=articleauthor.article_id,
|
||||
author_id=articleauthor.author_id
|
||||
)
|
||||
return response
|
||||
@@ -0,0 +1,25 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.bookshelf import Author
|
||||
|
||||
|
||||
class AuthorResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
first_name: str
|
||||
last_name: str
|
||||
|
||||
def to_response(author: Author) -> AuthorResponse:
|
||||
response: AuthorResponse = AuthorResponse(
|
||||
id=author.id,
|
||||
created_date=author.created_date,
|
||||
last_modified_date=author.last_modified_date,
|
||||
version=author.version,
|
||||
first_name=author.first_name,
|
||||
last_name=author.last_name
|
||||
)
|
||||
return response
|
||||
@@ -0,0 +1,29 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.bookshelf import Book
|
||||
|
||||
|
||||
class BookResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
isbn: str
|
||||
title: str
|
||||
year: int
|
||||
publisher_id: str
|
||||
|
||||
def to_response(book: Book) -> BookResponse:
|
||||
response: BookResponse = BookResponse(
|
||||
id=book.id,
|
||||
created_date=book.created_date,
|
||||
last_modified_date=book.last_modified_date,
|
||||
version=book.version,
|
||||
isbn=book.isbn,
|
||||
title=book.title,
|
||||
year=book.year,
|
||||
publisher_id=book.publisher_id
|
||||
)
|
||||
return response
|
||||
@@ -0,0 +1,25 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.bookshelf import BookAuthor
|
||||
|
||||
|
||||
class BookAuthorResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
author_id: str
|
||||
book_id: str
|
||||
|
||||
def to_response(bookauthor: BookAuthor) -> BookAuthorResponse:
|
||||
response: BookAuthorResponse = BookAuthorResponse(
|
||||
id=bookauthor.id,
|
||||
created_date=bookauthor.created_date,
|
||||
last_modified_date=bookauthor.last_modified_date,
|
||||
version=bookauthor.version,
|
||||
author_id=bookauthor.author_id,
|
||||
book_id=bookauthor.book_id
|
||||
)
|
||||
return response
|
||||
@@ -0,0 +1,23 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.bookshelf import BookshelfPublisher
|
||||
|
||||
|
||||
class PublisherResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
name: str
|
||||
|
||||
def to_response(publisher: BookshelfPublisher) -> PublisherResponse:
|
||||
response: PublisherResponse = PublisherResponse(
|
||||
id=publisher.id,
|
||||
created_date=publisher.created_date,
|
||||
last_modified_date=publisher.last_modified_date,
|
||||
version=publisher.version,
|
||||
name=publisher.name
|
||||
)
|
||||
return response
|
||||
Reference in New Issue
Block a user