from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from core.database import get_db from schemas.book import BookCreate, BookSchema from helpers.book_helpers import create_book router = APIRouter() @router.post("/books", status_code=status.HTTP_201_CREATED, response_model=BookSchema) async def add_book( book_data: BookCreate, db: Session = Depends(get_db) ): """ Add a new book to the database """ new_book = create_book(db=db, book_data=book_data) if not new_book: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail="Could not create book" ) return new_book