"""Pydantic schemas for Notification endpoints."""

import uuid
from datetime import datetime

from pydantic import BaseModel, ConfigDict


class NotificationOut(BaseModel):
    """Notification returned by the API."""

    id: uuid.UUID
    user_id: uuid.UUID
    type: str
    title: str
    message: str | None = None
    entity_type: str | None = None
    entity_id: uuid.UUID | None = None
    read: bool = False
    created_at: datetime | None = None

    model_config = ConfigDict(from_attributes=True)


class UnreadCountOut(BaseModel):
    """Simple counter response."""

    unread_count: int
