import uuid from datetime import datetime from pydantic import BaseModel, ConfigDict # Note: email is a plain str for now (no email-validator dependency yet); the # auth slice can tighten this to EmailStr. class UserCreate(BaseModel): email: str display_name: str | None = None class UserRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: uuid.UUID email: str display_name: str | None email_verified_at: datetime | None self_person_id: uuid.UUID | None = None created_at: datetime class UserSelfPersonUpdate(BaseModel): # null clears the link; otherwise the Person that represents this account. self_person_id: uuid.UUID | None = None