# 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 CreateView(BaseModel):
    create_view: Optional["CreateViewCreateView"] = Field(alias="createView")


class CreateViewCreateView(BaseModel):
    id: str
    name: str
    state: EntityState
    type: Optional[ViewTypes]
    filter: Optional["CreateViewCreateViewFilter"]
    augmented_filter: Optional["CreateViewCreateViewAugmentedFilter"] = Field(
        alias="augmentedFilter"
    )


class CreateViewCreateViewFilter(BaseModel):
    date_range: Optional["CreateViewCreateViewFilterDateRange"] = Field(
        alias="dateRange"
    )
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional["CreateViewCreateViewFilterCreationDateRange"] = (
        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["CreateViewCreateViewFilterFileSizeRange"] = Field(
        alias="fileSizeRange"
    )
    similar_contents: Optional[List["CreateViewCreateViewFilterSimilarContents"]] = (
        Field(alias="similarContents")
    )
    contents: Optional[List["CreateViewCreateViewFilterContents"]]
    feeds: Optional[List["CreateViewCreateViewFilterFeeds"]]
    workflows: Optional[List["CreateViewCreateViewFilterWorkflows"]]
    collections: Optional[List["CreateViewCreateViewFilterCollections"]]
    users: Optional[List["CreateViewCreateViewFilterUsers"]]
    observations: Optional[List["CreateViewCreateViewFilterObservations"]]
    or_: Optional[List["CreateViewCreateViewFilterOr"]] = Field(alias="or")
    and_: Optional[List["CreateViewCreateViewFilterAnd"]] = Field(alias="and")


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


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


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


class CreateViewCreateViewFilterSimilarContents(BaseModel):
    id: str


class CreateViewCreateViewFilterContents(BaseModel):
    id: str


class CreateViewCreateViewFilterFeeds(BaseModel):
    id: str


class CreateViewCreateViewFilterWorkflows(BaseModel):
    id: str


class CreateViewCreateViewFilterCollections(BaseModel):
    id: str


class CreateViewCreateViewFilterUsers(BaseModel):
    id: str


class CreateViewCreateViewFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewFilterObservationsObservable(BaseModel):
    id: str


class CreateViewCreateViewFilterOr(BaseModel):
    feeds: Optional[List["CreateViewCreateViewFilterOrFeeds"]]
    workflows: Optional[List["CreateViewCreateViewFilterOrWorkflows"]]
    collections: Optional[List["CreateViewCreateViewFilterOrCollections"]]
    users: Optional[List["CreateViewCreateViewFilterOrUsers"]]
    observations: Optional[List["CreateViewCreateViewFilterOrObservations"]]


class CreateViewCreateViewFilterOrFeeds(BaseModel):
    id: str


class CreateViewCreateViewFilterOrWorkflows(BaseModel):
    id: str


class CreateViewCreateViewFilterOrCollections(BaseModel):
    id: str


class CreateViewCreateViewFilterOrUsers(BaseModel):
    id: str


class CreateViewCreateViewFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewFilterOrObservationsObservable(BaseModel):
    id: str


class CreateViewCreateViewFilterAnd(BaseModel):
    feeds: Optional[List["CreateViewCreateViewFilterAndFeeds"]]
    workflows: Optional[List["CreateViewCreateViewFilterAndWorkflows"]]
    collections: Optional[List["CreateViewCreateViewFilterAndCollections"]]
    users: Optional[List["CreateViewCreateViewFilterAndUsers"]]
    observations: Optional[List["CreateViewCreateViewFilterAndObservations"]]


class CreateViewCreateViewFilterAndFeeds(BaseModel):
    id: str


class CreateViewCreateViewFilterAndWorkflows(BaseModel):
    id: str


class CreateViewCreateViewFilterAndCollections(BaseModel):
    id: str


class CreateViewCreateViewFilterAndUsers(BaseModel):
    id: str


class CreateViewCreateViewFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewFilterAndObservationsObservable(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilter(BaseModel):
    date_range: Optional["CreateViewCreateViewAugmentedFilterDateRange"] = Field(
        alias="dateRange"
    )
    in_last: Optional[Any] = Field(alias="inLast")
    creation_date_range: Optional[
        "CreateViewCreateViewAugmentedFilterCreationDateRange"
    ] = 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["CreateViewCreateViewAugmentedFilterFileSizeRange"] = (
        Field(alias="fileSizeRange")
    )
    similar_contents: Optional[
        List["CreateViewCreateViewAugmentedFilterSimilarContents"]
    ] = Field(alias="similarContents")
    contents: Optional[List["CreateViewCreateViewAugmentedFilterContents"]]
    feeds: Optional[List["CreateViewCreateViewAugmentedFilterFeeds"]]
    workflows: Optional[List["CreateViewCreateViewAugmentedFilterWorkflows"]]
    collections: Optional[List["CreateViewCreateViewAugmentedFilterCollections"]]
    users: Optional[List["CreateViewCreateViewAugmentedFilterUsers"]]
    observations: Optional[List["CreateViewCreateViewAugmentedFilterObservations"]]
    or_: Optional[List["CreateViewCreateViewAugmentedFilterOr"]] = Field(alias="or")
    and_: Optional[List["CreateViewCreateViewAugmentedFilterAnd"]] = Field(alias="and")


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


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


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


class CreateViewCreateViewAugmentedFilterSimilarContents(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterContents(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterFeeds(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterWorkflows(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterCollections(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterUsers(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewAugmentedFilterObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewAugmentedFilterObservationsObservable(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterOr(BaseModel):
    feeds: Optional[List["CreateViewCreateViewAugmentedFilterOrFeeds"]]
    workflows: Optional[List["CreateViewCreateViewAugmentedFilterOrWorkflows"]]
    collections: Optional[List["CreateViewCreateViewAugmentedFilterOrCollections"]]
    users: Optional[List["CreateViewCreateViewAugmentedFilterOrUsers"]]
    observations: Optional[List["CreateViewCreateViewAugmentedFilterOrObservations"]]


class CreateViewCreateViewAugmentedFilterOrFeeds(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterOrWorkflows(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterOrCollections(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterOrUsers(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterOrObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewAugmentedFilterOrObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewAugmentedFilterOrObservationsObservable(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterAnd(BaseModel):
    feeds: Optional[List["CreateViewCreateViewAugmentedFilterAndFeeds"]]
    workflows: Optional[List["CreateViewCreateViewAugmentedFilterAndWorkflows"]]
    collections: Optional[List["CreateViewCreateViewAugmentedFilterAndCollections"]]
    users: Optional[List["CreateViewCreateViewAugmentedFilterAndUsers"]]
    observations: Optional[List["CreateViewCreateViewAugmentedFilterAndObservations"]]


class CreateViewCreateViewAugmentedFilterAndFeeds(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterAndWorkflows(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterAndCollections(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterAndUsers(BaseModel):
    id: str


class CreateViewCreateViewAugmentedFilterAndObservations(BaseModel):
    type: ObservableTypes
    observable: "CreateViewCreateViewAugmentedFilterAndObservationsObservable"
    states: Optional[List[Optional[EntityState]]]


class CreateViewCreateViewAugmentedFilterAndObservationsObservable(BaseModel):
    id: str


CreateView.model_rebuild()
CreateViewCreateView.model_rebuild()
CreateViewCreateViewFilter.model_rebuild()
CreateViewCreateViewFilterObservations.model_rebuild()
CreateViewCreateViewFilterOr.model_rebuild()
CreateViewCreateViewFilterOrObservations.model_rebuild()
CreateViewCreateViewFilterAnd.model_rebuild()
CreateViewCreateViewFilterAndObservations.model_rebuild()
CreateViewCreateViewAugmentedFilter.model_rebuild()
CreateViewCreateViewAugmentedFilterObservations.model_rebuild()
CreateViewCreateViewAugmentedFilterOr.model_rebuild()
CreateViewCreateViewAugmentedFilterOrObservations.model_rebuild()
CreateViewCreateViewAugmentedFilterAnd.model_rebuild()
CreateViewCreateViewAugmentedFilterAndObservations.model_rebuild()
