mirror of
https://github.com/wowlikon/LibraryAPI.git
synced 2025-12-11 21:30:46 +00:00
Created genre table and added links and endpoints for it.
This commit is contained in:
@@ -3,13 +3,13 @@ from sqlmodel import Session, select
|
||||
from typing import List, Dict
|
||||
|
||||
from library_service.settings import get_session
|
||||
from library_service.models.db import Book, Author, AuthorBookLink
|
||||
from library_service.models.dto import AuthorRead, BookRead
|
||||
from library_service.models.db import Author, Book, Genre, AuthorBookLink, GenreBookLink
|
||||
from library_service.models.dto import AuthorRead, BookRead, GenreRead
|
||||
|
||||
router = APIRouter(tags=["relations"])
|
||||
|
||||
# Add author to book
|
||||
@router.post("/relationships", response_model=AuthorBookLink)
|
||||
@router.post("/relationships/author-book", response_model=AuthorBookLink)
|
||||
def add_author_to_book(author_id: int, book_id: int, session: Session = Depends(get_session)):
|
||||
author = session.get(Author, author_id)
|
||||
if not author:
|
||||
@@ -35,7 +35,7 @@ def add_author_to_book(author_id: int, book_id: int, session: Session = Depends(
|
||||
return link
|
||||
|
||||
# Remove author from book
|
||||
@router.delete("/relationships", response_model=Dict[str, str])
|
||||
@router.delete("/relationships/author-book", response_model=Dict[str, str])
|
||||
def remove_author_from_book(author_id: int, book_id: int, session: Session = Depends(get_session)):
|
||||
link = session.exec(
|
||||
select(AuthorBookLink)
|
||||
@@ -51,7 +51,7 @@ def remove_author_from_book(author_id: int, book_id: int, session: Session = Dep
|
||||
return {"message": "Relationship removed successfully"}
|
||||
|
||||
# Get relationships
|
||||
@router.get("/relationships", response_model=List[AuthorBookLink])
|
||||
@router.get("/relationships/author-book", response_model=List[AuthorBookLink])
|
||||
def get_relationships(session: Session = Depends(get_session)):
|
||||
relationships = session.exec(select(AuthorBookLink)).all()
|
||||
return relationships
|
||||
|
||||
Reference in New Issue
Block a user