# Generated by ariadne-codegen
# Source: ./documents

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import ContentTypes, EntityState, FileTypes, ObservableTypes, ViewTypes


class GetView(BaseModel):
    view: Optional["GetViewView"]


class GetViewView(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    relevance: Optional[float]
    owner: "GetViewViewOwner"
    state: EntityState
    type: Optional[ViewTypes]
    filter: Optional["GetViewViewFilter"]
    augmented_filter: Optional["GetViewViewAugmentedFilter"] = Field(
        alias="augmentedFilter"
    )


class GetViewViewOwner(BaseModel):
    id: str


class GetViewViewFilter(BaseModel):
    date_range: Optional["GetViewViewFilterDateRange"] = Field(alias="dateRange")
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional["GetViewViewFilterCreationDateRange"] = Field(
        alias="creationDateRange"
    )
    created_in_last: Optional[Any] = Field(alias="createdInLast")
    types: Optional[List[ContentTypes]]
    file_types: Optional[List[Optional[FileTypes]]] = Field(alias="fileTypes")
    formats: Optional[List[Optional[str]]]
    file_extensions: Optional[List[str]] = Field(alias="fileExtensions")
    file_size_range: Optional["GetViewViewFilterFileSizeRange"] = Field(
        alias="fileSizeRange"
    )
    similar_contents: Optional[List["GetViewViewFilterSimilarContents"]] = Field(
        alias="similarContents"
    )
    contents: Optional[List["GetViewViewFilterContents"]]
    feeds: Optional[List["GetViewViewFilterFeeds"]]
    workflows: Optional[List["GetViewViewFilterWorkflows"]]
    collections: Optional[List["GetViewViewFilterCollections"]]
    users: Optional[List["GetViewViewFilterUsers"]]
    observations: Optional[List["GetViewViewFilterObservations"]]
    or_: Optional[List["GetViewViewFilterOr"]] = Field(alias="or")
    and_: Optional[List["GetViewViewFilterAnd"]] = Field(alias="and")


class GetViewViewFilterDateRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewFilterCreationDateRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewFilterFileSizeRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewFilterSimilarContents(BaseModel):
    id: str


class GetViewViewFilterContents(BaseModel):
    id: str


class GetViewViewFilterFeeds(BaseModel):
    id: str


class GetViewViewFilterWorkflows(BaseModel):
    id: str


class GetViewViewFilterCollections(BaseModel):
    id: str


class GetViewViewFilterUsers(BaseModel):
    id: str


class GetViewViewFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewFilterObservationsObservable(BaseModel):
    id: str


class GetViewViewFilterOr(BaseModel):
    feeds: Optional[List["GetViewViewFilterOrFeeds"]]
    workflows: Optional[List["GetViewViewFilterOrWorkflows"]]
    collections: Optional[List["GetViewViewFilterOrCollections"]]
    users: Optional[List["GetViewViewFilterOrUsers"]]
    observations: Optional[List["GetViewViewFilterOrObservations"]]


class GetViewViewFilterOrFeeds(BaseModel):
    id: str


class GetViewViewFilterOrWorkflows(BaseModel):
    id: str


class GetViewViewFilterOrCollections(BaseModel):
    id: str


class GetViewViewFilterOrUsers(BaseModel):
    id: str


class GetViewViewFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewFilterOrObservationsObservable(BaseModel):
    id: str


class GetViewViewFilterAnd(BaseModel):
    feeds: Optional[List["GetViewViewFilterAndFeeds"]]
    workflows: Optional[List["GetViewViewFilterAndWorkflows"]]
    collections: Optional[List["GetViewViewFilterAndCollections"]]
    users: Optional[List["GetViewViewFilterAndUsers"]]
    observations: Optional[List["GetViewViewFilterAndObservations"]]


class GetViewViewFilterAndFeeds(BaseModel):
    id: str


class GetViewViewFilterAndWorkflows(BaseModel):
    id: str


class GetViewViewFilterAndCollections(BaseModel):
    id: str


class GetViewViewFilterAndUsers(BaseModel):
    id: str


class GetViewViewFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewFilterAndObservationsObservable(BaseModel):
    id: str


class GetViewViewAugmentedFilter(BaseModel):
    date_range: Optional["GetViewViewAugmentedFilterDateRange"] = Field(
        alias="dateRange"
    )
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional["GetViewViewAugmentedFilterCreationDateRange"] = (
        Field(alias="creationDateRange")
    )
    created_in_last: Optional[Any] = Field(alias="createdInLast")
    types: Optional[List[ContentTypes]]
    file_types: Optional[List[Optional[FileTypes]]] = Field(alias="fileTypes")
    formats: Optional[List[Optional[str]]]
    file_extensions: Optional[List[str]] = Field(alias="fileExtensions")
    file_size_range: Optional["GetViewViewAugmentedFilterFileSizeRange"] = Field(
        alias="fileSizeRange"
    )
    similar_contents: Optional[List["GetViewViewAugmentedFilterSimilarContents"]] = (
        Field(alias="similarContents")
    )
    contents: Optional[List["GetViewViewAugmentedFilterContents"]]
    feeds: Optional[List["GetViewViewAugmentedFilterFeeds"]]
    workflows: Optional[List["GetViewViewAugmentedFilterWorkflows"]]
    collections: Optional[List["GetViewViewAugmentedFilterCollections"]]
    users: Optional[List["GetViewViewAugmentedFilterUsers"]]
    observations: Optional[List["GetViewViewAugmentedFilterObservations"]]
    or_: Optional[List["GetViewViewAugmentedFilterOr"]] = Field(alias="or")
    and_: Optional[List["GetViewViewAugmentedFilterAnd"]] = Field(alias="and")


class GetViewViewAugmentedFilterDateRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewAugmentedFilterCreationDateRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewAugmentedFilterFileSizeRange(BaseModel):
    from_: Optional[Any] = Field(alias="from")
    to: Optional[Any]


class GetViewViewAugmentedFilterSimilarContents(BaseModel):
    id: str


class GetViewViewAugmentedFilterContents(BaseModel):
    id: str


class GetViewViewAugmentedFilterFeeds(BaseModel):
    id: str


class GetViewViewAugmentedFilterWorkflows(BaseModel):
    id: str


class GetViewViewAugmentedFilterCollections(BaseModel):
    id: str


class GetViewViewAugmentedFilterUsers(BaseModel):
    id: str


class GetViewViewAugmentedFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewAugmentedFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewAugmentedFilterObservationsObservable(BaseModel):
    id: str


class GetViewViewAugmentedFilterOr(BaseModel):
    feeds: Optional[List["GetViewViewAugmentedFilterOrFeeds"]]
    workflows: Optional[List["GetViewViewAugmentedFilterOrWorkflows"]]
    collections: Optional[List["GetViewViewAugmentedFilterOrCollections"]]
    users: Optional[List["GetViewViewAugmentedFilterOrUsers"]]
    observations: Optional[List["GetViewViewAugmentedFilterOrObservations"]]


class GetViewViewAugmentedFilterOrFeeds(BaseModel):
    id: str


class GetViewViewAugmentedFilterOrWorkflows(BaseModel):
    id: str


class GetViewViewAugmentedFilterOrCollections(BaseModel):
    id: str


class GetViewViewAugmentedFilterOrUsers(BaseModel):
    id: str


class GetViewViewAugmentedFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewAugmentedFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewAugmentedFilterOrObservationsObservable(BaseModel):
    id: str


class GetViewViewAugmentedFilterAnd(BaseModel):
    feeds: Optional[List["GetViewViewAugmentedFilterAndFeeds"]]
    workflows: Optional[List["GetViewViewAugmentedFilterAndWorkflows"]]
    collections: Optional[List["GetViewViewAugmentedFilterAndCollections"]]
    users: Optional[List["GetViewViewAugmentedFilterAndUsers"]]
    observations: Optional[List["GetViewViewAugmentedFilterAndObservations"]]


class GetViewViewAugmentedFilterAndFeeds(BaseModel):
    id: str


class GetViewViewAugmentedFilterAndWorkflows(BaseModel):
    id: str


class GetViewViewAugmentedFilterAndCollections(BaseModel):
    id: str


class GetViewViewAugmentedFilterAndUsers(BaseModel):
    id: str


class GetViewViewAugmentedFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "GetViewViewAugmentedFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class GetViewViewAugmentedFilterAndObservationsObservable(BaseModel):
    id: str


GetView.model_rebuild()
GetViewView.model_rebuild()
GetViewViewFilter.model_rebuild()
GetViewViewFilterObservations.model_rebuild()
GetViewViewFilterOr.model_rebuild()
GetViewViewFilterOrObservations.model_rebuild()
GetViewViewFilterAnd.model_rebuild()
GetViewViewFilterAndObservations.model_rebuild()
GetViewViewAugmentedFilter.model_rebuild()
GetViewViewAugmentedFilterObservations.model_rebuild()
GetViewViewAugmentedFilterOr.model_rebuild()
GetViewViewAugmentedFilterOrObservations.model_rebuild()
GetViewViewAugmentedFilterAnd.model_rebuild()
GetViewViewAugmentedFilterAndObservations.model_rebuild()
