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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetWhereToWatch(BaseModel):
    get_where_to_watch: Optional[
        List[Optional["GetWhereToWatchGetWhereToWatch"]]
    ] = Field(alias="getWhereToWatch")


class GetWhereToWatchGetWhereToWatch(BaseModel):
    id: Optional[int]
    intro_text: Optional[str] = Field(alias="introText")
    bottom_text: Optional[str] = Field(alias="bottomText")
    banner_strapline: Optional[str] = Field(alias="bannerStrapline")
    desktop_banner_id: Optional[str] = Field(alias="desktopBannerId")
    desktop_banner_image_edited: Optional[str] = Field(alias="desktopBannerImageEdited")
    mobile_banner_id: Optional[str] = Field(alias="mobileBannerId")
    mobile_banner_image_edited: Optional[str] = Field(alias="mobileBannerImageEdited")
    banner_url: Optional[str] = Field(alias="bannerUrl")
    is_live: Optional[bool] = Field(alias="isLive")
    event_days_count: Optional[int] = Field(alias="eventDaysCount")
    event_days_filled_count: Optional[int] = Field(alias="eventDaysFilledCount")
    end_date: Optional[str] = Field(alias="endDate")
    event_level_general_channels: Optional[
        List[Optional["GetWhereToWatchGetWhereToWatchEventLevelGeneralChannels"]]
    ] = Field(alias="eventLevelGeneralChannels")


class GetWhereToWatchGetWhereToWatchEventLevelGeneralChannels(BaseModel):
    category: Optional[str]
    channel_id: Optional[str] = Field(alias="channelId")
    logo_id: Optional[str] = Field(alias="logoId")
    logo_file_name: Optional[str] = Field(alias="logoFileName")
    title: Optional[str]
    days: Optional[
        List[Optional["GetWhereToWatchGetWhereToWatchEventLevelGeneralChannelsDays"]]
    ]


class GetWhereToWatchGetWhereToWatchEventLevelGeneralChannelsDays(BaseModel):
    day: Optional[int]
    date: Optional[Any]
    session_first_url: Optional[str] = Field(alias="sessionFirstUrl")
    session_second_url: Optional[str] = Field(alias="sessionSecondUrl")
    countries: Optional[List[Optional[str]]]


GetWhereToWatch.model_rebuild()
GetWhereToWatchGetWhereToWatch.model_rebuild()
GetWhereToWatchGetWhereToWatchEventLevelGeneralChannels.model_rebuild()
