# Generated by ariadne-codegen on 2023-06-06 10:50
# Source: graphql/queries.graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetSpikes(BaseModel):
    get_spikes: Optional[List[Optional["GetSpikesGetSpikes"]]] = Field(
        alias="getSpikes"
    )


class GetSpikesGetSpikes(BaseModel):
    id: Optional[str]
    title: Optional[str]
    spikes_language: Optional[int] = Field(alias="spikesLanguage")
    seo_title: Optional[str] = Field(alias="seoTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    meta_description: Optional[str] = Field(alias="metaDescription")
    stand_first: Optional[str] = Field(alias="standFirst")
    body: Optional[str]
    plain_text_body: Optional[str] = Field(alias="plainTextBody")
    article_type: Optional[int] = Field(alias="articleType")
    primary_media_id: Optional[List[Optional[str]]] = Field(alias="primaryMediaId")
    primary_media: Optional[List[Optional["GetSpikesGetSpikesPrimaryMedia"]]] = Field(
        alias="primaryMedia"
    )
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline_type_name_urls_slugs: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineTypeNameUrlsSlugs"
    )
    related_competitor_ids: Optional[List[Optional[int]]] = Field(
        alias="relatedCompetitorIds"
    )
    related_competition_ids: Optional[List[Optional[int]]] = Field(
        alias="relatedCompetitionIds"
    )
    related_tags: Optional[List[Optional["GetSpikesGetSpikesRelatedTags"]]] = Field(
        alias="relatedTags"
    )
    champion_ship: Optional[bool] = Field(alias="championShip")
    featured: Optional[bool]
    featured_order: Optional[int] = Field(alias="featuredOrder")
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[Any] = Field(alias="createdOn")
    updated_by_id: Optional[str] = Field(alias="updatedById")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    tags: Optional[List[Optional[str]]]
    tumblr_url: Optional[str] = Field(alias="tumblrUrl")
    spikes_article_type: Optional[int] = Field(alias="spikesArticleType")
    live_from_day: Optional[int] = Field(alias="liveFromDay")
    live_from_month: Optional[int] = Field(alias="liveFromMonth")
    live_from_year: Optional[int] = Field(alias="liveFromYear")


class GetSpikesGetSpikesPrimaryMedia(BaseModel):
    id: Optional[str]
    title: Optional[str]
    s_e_o_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_m_l_file_name360: 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 GetSpikesGetSpikesRelatedTags(BaseModel):
    id: Optional[str]
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


GetSpikes.update_forward_refs()
GetSpikesGetSpikes.update_forward_refs()
GetSpikesGetSpikesPrimaryMedia.update_forward_refs()
GetSpikesGetSpikesRelatedTags.update_forward_refs()
