From e0e4545946c42193c675924b5ba4a84ae342ab77 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 26 Mar 2025 16:44:53 +0100 Subject: [PATCH] Add Book schema --- schemas/book.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 schemas/book.py diff --git a/schemas/book.py b/schemas/book.py new file mode 100644 index 0000000..ba06f2c --- /dev/null +++ b/schemas/book.py @@ -0,0 +1,19 @@ +from pydantic import BaseModel, Field +from typing import Optional + +# Base schema +class BookBase(BaseModel): + title: str = Field(..., description="Book title") + author: str = Field(..., description="Book author") + description: Optional[str] = Field(None, description="Book description") + pages: Optional[int] = Field(None, ge=1, description="Number of pages") + published_year: Optional[int] = Field(None, ge=1900, le=2023, description="Year of publication") + +# Create schema +class BookCreate(BookBase): + pass + +# Response schema +class Book(BookBase): + class Config: + orm_mode = True \ No newline at end of file