import uuid from datetime import datetime from typing import Optional from pydantic import BaseModel, ConfigDict, Field class SiteCreate(BaseModel): name: str = Field(min_length=1) city: Optional[str] = None pi_name: Optional[str] = None contact: Optional[str] = None is_active: bool = True class SiteUpdate(BaseModel): name: Optional[str] = None city: Optional[str] = None pi_name: Optional[str] = None contact: Optional[str] = None is_active: Optional[bool] = None class SiteRead(BaseModel): id: uuid.UUID study_id: uuid.UUID name: str city: Optional[str] pi_name: Optional[str] contact: Optional[str] is_active: bool created_at: datetime model_config = ConfigDict(from_attributes=True)