# Generated by ariadne-codegen
# Source: graphql/queries.graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetLegacyPage(BaseModel):
    get_legacy_page: Optional["GetLegacyPageGetLegacyPage"] = Field(
        alias="getLegacyPage"
    )


class GetLegacyPageGetLegacyPage(BaseModel):
    id: Optional[str]
    url: Optional[str] = Field(alias="Url")
    seo_title: Optional[str] = Field(alias="SEOTitle")
    meta_description: Optional[str] = Field(alias="MetaDescription")
    content: Optional[List[Optional["GetLegacyPageGetLegacyPageContent"]]] = Field(
        alias="Content"
    )
    template: Optional["GetLegacyPageGetLegacyPageTemplate"] = Field(alias="Template")
    status: Optional[int] = Field(alias="Status")
    order: Optional[int] = Field(alias="Order")


class GetLegacyPageGetLegacyPageContent(BaseModel):
    id: Optional[str]
    type: Optional[str]
    text: Optional[str] = Field(alias="Text")
    group_id: Optional[str] = Field(alias="GroupId")
    section_id: Optional[str] = Field(alias="SectionId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    related_media: Optional[
        List[Optional["GetLegacyPageGetLegacyPageContentRelatedMedia"]]
    ] = Field(alias="relatedMedia")
    document_ids: Optional[List[Optional[str]]] = Field(alias="DocumentIds")
    legacy_document: Optional[
        List[Optional["GetLegacyPageGetLegacyPageContentLegacyDocument"]]
    ] = Field(alias="legacyDocument")


class GetLegacyPageGetLegacyPageContentRelatedMedia(BaseModel):
    id: Optional[str]
    title: Optional[str]
    s_eo_title: Optional[str] = Field(alias="sEOTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    credit: Optional[str]
    show_in_media: Optional[bool] = Field(alias="showInMedia")
    complete: Optional[bool]
    file_name: Optional[str] = Field(alias="fileName")
    remote_item_code: Optional[str] = Field(alias="remoteItemCode")
    x_ml_file_name_360: Optional[str] = Field(alias="xMLFileName360")
    file_name_url: Optional[str] = Field(alias="fileNameUrl")
    type: Optional[int]
    format: Optional[int]
    hosting: Optional[int]
    related_links: Optional[List[Optional[str]]] = Field(alias="relatedLinks")
    source_width: Optional[int] = Field(alias="sourceWidth")
    source_height: Optional[int] = Field(alias="sourceHeight")
    available_ratios: Optional[List[Optional[int]]] = Field(alias="availableRatios")
    related_sex_codes: Optional[List[Optional[int]]] = Field(alias="relatedSexCodes")
    related_age_groups: Optional[List[Optional[int]]] = Field(alias="relatedAgeGroups")
    related_event_phases: Optional[List[Optional[int]]] = Field(
        alias="relatedEventPhases"
    )
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[str] = Field(alias="createdOn")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    created_by_id: Optional[str] = Field(alias="createdById")
    updated_by_id: Optional[str] = Field(alias="updatedById")


class GetLegacyPageGetLegacyPageContentLegacyDocument(BaseModel):
    id: Optional[str]
    title: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    description: Optional[str]
    format: Optional[int]
    order: Optional[int]
    files: Optional[
        List[Optional["GetLegacyPageGetLegacyPageContentLegacyDocumentFiles"]]
    ]


class GetLegacyPageGetLegacyPageContentLegacyDocumentFiles(BaseModel):
    language: Optional[int]
    file_name: Optional[str] = Field(alias="fileName")
    order: Optional[int]
    show: Optional[bool]


class GetLegacyPageGetLegacyPageTemplate(BaseModel):
    id: Optional[str]
    display_name: Optional[str] = Field(alias="DisplayName")
    view_name: Optional[str] = Field(alias="ViewName")
    description: Optional[str] = Field(alias="Description")
    show_sort: Optional[bool] = Field(alias="showSort")
    show_filter: Optional[bool] = Field(alias="showFilter")
    filter_text: Optional[str] = Field(alias="FilterText")


GetLegacyPage.model_rebuild()
GetLegacyPageGetLegacyPage.model_rebuild()
GetLegacyPageGetLegacyPageContent.model_rebuild()
GetLegacyPageGetLegacyPageContentLegacyDocument.model_rebuild()
