# 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 UpdateView(BaseModel):
    update_view: Optional["UpdateViewUpdateView"] = Field(alias="updateView")


class UpdateViewUpdateView(BaseModel):
    id: str
    name: str
    state: EntityState
    type: Optional[ViewTypes]
    filter: Optional["UpdateViewUpdateViewFilter"]
    augmented_filter: Optional["UpdateViewUpdateViewAugmentedFilter"] = Field(
        alias="augmentedFilter"
    )


class UpdateViewUpdateViewFilter(BaseModel):
    date_range: Optional["UpdateViewUpdateViewFilterDateRange"] = Field(
        alias="dateRange"
    )
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional["UpdateViewUpdateViewFilterCreationDateRange"] = (
        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["UpdateViewUpdateViewFilterFileSizeRange"] = Field(
        alias="fileSizeRange"
    )
    similar_contents: Optional[List["UpdateViewUpdateViewFilterSimilarContents"]] = (
        Field(alias="similarContents")
    )
    contents: Optional[List["UpdateViewUpdateViewFilterContents"]]
    feeds: Optional[List["UpdateViewUpdateViewFilterFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewFilterWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewFilterCollections"]]
    users: Optional[List["UpdateViewUpdateViewFilterUsers"]]
    observations: Optional[List["UpdateViewUpdateViewFilterObservations"]]
    or_: Optional[List["UpdateViewUpdateViewFilterOr"]] = Field(alias="or")
    and_: Optional[List["UpdateViewUpdateViewFilterAnd"]] = Field(alias="and")


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


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


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


class UpdateViewUpdateViewFilterSimilarContents(BaseModel):
    id: str


class UpdateViewUpdateViewFilterContents(BaseModel):
    id: str


class UpdateViewUpdateViewFilterFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewFilterWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewFilterCollections(BaseModel):
    id: str


class UpdateViewUpdateViewFilterUsers(BaseModel):
    id: str


class UpdateViewUpdateViewFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewFilterObservationsObservable(BaseModel):
    id: str


class UpdateViewUpdateViewFilterOr(BaseModel):
    feeds: Optional[List["UpdateViewUpdateViewFilterOrFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewFilterOrWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewFilterOrCollections"]]
    users: Optional[List["UpdateViewUpdateViewFilterOrUsers"]]
    observations: Optional[List["UpdateViewUpdateViewFilterOrObservations"]]


class UpdateViewUpdateViewFilterOrFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewFilterOrWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewFilterOrCollections(BaseModel):
    id: str


class UpdateViewUpdateViewFilterOrUsers(BaseModel):
    id: str


class UpdateViewUpdateViewFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewFilterOrObservationsObservable(BaseModel):
    id: str


class UpdateViewUpdateViewFilterAnd(BaseModel):
    feeds: Optional[List["UpdateViewUpdateViewFilterAndFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewFilterAndWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewFilterAndCollections"]]
    users: Optional[List["UpdateViewUpdateViewFilterAndUsers"]]
    observations: Optional[List["UpdateViewUpdateViewFilterAndObservations"]]


class UpdateViewUpdateViewFilterAndFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewFilterAndWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewFilterAndCollections(BaseModel):
    id: str


class UpdateViewUpdateViewFilterAndUsers(BaseModel):
    id: str


class UpdateViewUpdateViewFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewFilterAndObservationsObservable(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilter(BaseModel):
    date_range: Optional["UpdateViewUpdateViewAugmentedFilterDateRange"] = Field(
        alias="dateRange"
    )
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional[
        "UpdateViewUpdateViewAugmentedFilterCreationDateRange"
    ] = 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["UpdateViewUpdateViewAugmentedFilterFileSizeRange"] = (
        Field(alias="fileSizeRange")
    )
    similar_contents: Optional[
        List["UpdateViewUpdateViewAugmentedFilterSimilarContents"]
    ] = Field(alias="similarContents")
    contents: Optional[List["UpdateViewUpdateViewAugmentedFilterContents"]]
    feeds: Optional[List["UpdateViewUpdateViewAugmentedFilterFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewAugmentedFilterWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewAugmentedFilterCollections"]]
    users: Optional[List["UpdateViewUpdateViewAugmentedFilterUsers"]]
    observations: Optional[List["UpdateViewUpdateViewAugmentedFilterObservations"]]
    or_: Optional[List["UpdateViewUpdateViewAugmentedFilterOr"]] = Field(alias="or")
    and_: Optional[List["UpdateViewUpdateViewAugmentedFilterAnd"]] = Field(alias="and")


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


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


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


class UpdateViewUpdateViewAugmentedFilterSimilarContents(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterContents(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterCollections(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterUsers(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewAugmentedFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewAugmentedFilterObservationsObservable(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterOr(BaseModel):
    feeds: Optional[List["UpdateViewUpdateViewAugmentedFilterOrFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewAugmentedFilterOrWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewAugmentedFilterOrCollections"]]
    users: Optional[List["UpdateViewUpdateViewAugmentedFilterOrUsers"]]
    observations: Optional[List["UpdateViewUpdateViewAugmentedFilterOrObservations"]]


class UpdateViewUpdateViewAugmentedFilterOrFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterOrWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterOrCollections(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterOrUsers(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewAugmentedFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewAugmentedFilterOrObservationsObservable(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterAnd(BaseModel):
    feeds: Optional[List["UpdateViewUpdateViewAugmentedFilterAndFeeds"]]
    workflows: Optional[List["UpdateViewUpdateViewAugmentedFilterAndWorkflows"]]
    collections: Optional[List["UpdateViewUpdateViewAugmentedFilterAndCollections"]]
    users: Optional[List["UpdateViewUpdateViewAugmentedFilterAndUsers"]]
    observations: Optional[List["UpdateViewUpdateViewAugmentedFilterAndObservations"]]


class UpdateViewUpdateViewAugmentedFilterAndFeeds(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterAndWorkflows(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterAndCollections(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterAndUsers(BaseModel):
    id: str


class UpdateViewUpdateViewAugmentedFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "UpdateViewUpdateViewAugmentedFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class UpdateViewUpdateViewAugmentedFilterAndObservationsObservable(BaseModel):
    id: str


UpdateView.model_rebuild()
UpdateViewUpdateView.model_rebuild()
UpdateViewUpdateViewFilter.model_rebuild()
UpdateViewUpdateViewFilterObservations.model_rebuild()
UpdateViewUpdateViewFilterOr.model_rebuild()
UpdateViewUpdateViewFilterOrObservations.model_rebuild()
UpdateViewUpdateViewFilterAnd.model_rebuild()
UpdateViewUpdateViewFilterAndObservations.model_rebuild()
UpdateViewUpdateViewAugmentedFilter.model_rebuild()
UpdateViewUpdateViewAugmentedFilterObservations.model_rebuild()
UpdateViewUpdateViewAugmentedFilterOr.model_rebuild()
UpdateViewUpdateViewAugmentedFilterOrObservations.model_rebuild()
UpdateViewUpdateViewAugmentedFilterAnd.model_rebuild()
UpdateViewUpdateViewAugmentedFilterAndObservations.model_rebuild()
