from pydantic import BaseModel, EmailStr, Field from typing import Optional from datetime import datetime import uuid class ContactFormSubmissionBase(BaseModel): name: str = Field(..., description="Name of the submitter") email: EmailStr = Field(..., description="Email of the submitter") message: str = Field(..., description="Message from the submitter") class ContactFormSubmissionCreate(ContactFormSubmissionBase): pass class ContactFormSubmissionUpdate(ContactFormSubmissionBase): name: Optional[str] = Field(None, description="Name of the submitter") email: Optional[EmailStr] = Field(None, description="Email of the submitter") message: Optional[str] = Field(None, description="Message from the submitter") class ContactFormSubmissionSchema(ContactFormSubmissionBase): id: uuid.UUID created_at: datetime updated_at: datetime class Config: orm_mode = True