23 lines
745 B
Python
23 lines
745 B
Python
from pydantic import BaseModel, Field, EmailStr
|
|
|
|
class PersonBase(BaseModel):
|
|
first_name: str = Field(..., description="Person's first name")
|
|
last_name: str = Field(..., description="Person's last name")
|
|
email: EmailStr = Field(..., description="Person's email address")
|
|
phone_number: str | None = Field(None, description="Person's phone number")
|
|
|
|
class PersonCreate(PersonBase):
|
|
class Config:
|
|
schema_extra = {
|
|
"example": {
|
|
"first_name": "John",
|
|
"last_name": "Doe",
|
|
"email": "john.doe@example.com",
|
|
"phone_number": "+1234567890"
|
|
}
|
|
}
|
|
|
|
class PersonResponse(PersonBase):
|
|
id: int
|
|
class Config:
|
|
orm_mode = True |