"""Review Note model for timestamped video review notes."""

from datetime import datetime

from pydantic import BaseModel, Field


class ReviewNote(BaseModel):
    """A timestamped note attached to a video asset during review."""

    id: str | None = Field(None, alias="_id")
    job_id: str
    asset_key: str  # e.g., "en", "es", "en_accessible"
    timestamp_seconds: float  # Video timestamp when note was created
    content: str  # Note text content
    user_id: str  # Author's user ID
    user_name: str  # Author's display name (denormalized for display)
    created_at: datetime
    updated_at: datetime | None = None

    class Config:
        populate_by_name = True
        use_enum_values = True
