from pydantic import BaseModel
from typing import Optional

class SpeakerBase(BaseModel):
    name: str

class SpeakerCreate(SpeakerBase):
    # For receiving speaker name, file will be handled separately by FastAPI's UploadFile
    pass

class Speaker(SpeakerBase):
    id: str
    sample_path: Optional[str] = None # Path to the speaker's audio sample

    class Config:
        from_attributes = True # Replaces orm_mode = True in Pydantic v2

class SpeakerResponse(SpeakerBase):
    id: str
    message: Optional[str] = None
