2025-03-26 16:44:53 +01:00

19 lines
608 B
Python

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