25 lines
808 B
Python

from pydantic import BaseModel, Field, EmailStr
from typing import Optional
from datetime import datetime
import uuid
class PersonBase(BaseModel):
name: str = Field(..., description="Person's name")
email: EmailStr = Field(..., description="Person's email address")
phone_number: Optional[str] = Field(None, description="Person's phone number")
class PersonCreate(PersonBase):
pass
class PersonUpdate(PersonBase):
name: Optional[str] = Field(None, description="Person's name")
email: Optional[EmailStr] = Field(None, description="Person's email address")
phone_number: Optional[str] = Field(None, description="Person's phone number")
class PersonSchema(PersonBase):
id: uuid.UUID
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True