diff --git a/schemas/person.py b/schemas/person.py new file mode 100644 index 0000000..122b29b --- /dev/null +++ b/schemas/person.py @@ -0,0 +1,23 @@ +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 \ No newline at end of file