# This file was auto-generated by Fern from our API Definition.

from ...core.pydantic_utilities import UniversalBaseModel
from .ontology_sources_filters import OntologySourcesFilters
import typing
from .ontology_source import OntologySource
from ...core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class GetOntologySourcesResponse(UniversalBaseModel):
    """
    Examples
    --------
    import datetime

    from sayari.ontology import (
        GetOntologySourcesResponse,
        OntologySource,
        OntologySourcesFilters,
    )

    GetOntologySourcesResponse(
        filters=OntologySourcesFilters(
            id=["e85d865943ee6d8369307569d2ad9de0"],
            country=["XXX"],
            source_type=["adverse_media_/_negative_news_data"],
        ),
        data=[
            OntologySource(
                id="e85d865943ee6d8369307569d2ad9de0",
                label="Acuris Risk Intelligence Adverse Media Data",
                description="Contains PDFs and URLs to adverse media reporting for PEPs, SOEs, sanctioned entities, and entities linked to financial regulatory and law enforcement actions. Available for millions of entities from 'Acuris Risk Intelligence KYC6 (3rd Party Data)' in 'Records' section.",
                country="XXX",
                region="international_(multi-region_coverage)",
                date_added=datetime.date.fromisoformat(
                    "2022-04-11",
                ),
                source_type="adverse_media_/_negative_news_data",
                record_type="adverse_media_record",
                structure="unstructured",
                source_url="https://www.acurisriskintelligence.com/",
                pep=False,
                watchlist=False,
            )
        ],
        total_count=1234,
    )
    """

    filters: OntologySourcesFilters
    data: typing.List[OntologySource]
    total_count: int

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
