dev-njjuc8/endpoints/books.post.py
2025-04-11 06:04:00 +00:00

18 lines
614 B
Python

from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from models.book import Book
from schemas.book import BookSchema, BookCreate
from helpers.book_helpers import create_book
from core.database import get_db
router = APIRouter()
@router.post("/books", status_code=status.HTTP_201_CREATED, response_model=BookSchema)
async def create_new_book(
book: BookCreate,
db: Session = Depends(get_db)
):
new_book = create_book(db=db, book=book)
if not new_book:
raise HTTPException(status_code=400, detail="Book could not be created")
return new_book