from datetime import date, datetime
from typing import Any

from pydantic import BaseModel


class DrePublicationOut(BaseModel):
    id: str
    company_id: str
    title: str
    summary: str | None
    date: date | None
    type: str | None
    source_url: str | None
    raw_json: dict[str, Any] | None
    created_at: datetime
    relevance: str = "low"
    change_kind: str | None = None
    source: str = "dre"  # 'dre' (RSS) or 'mj' (meu.registo.justica historical)
