# Generated by ariadne-codegen
# Source: queries/series-state

from typing import List, Literal, Optional

from pydantic import Field

from .base_model import BaseModel


class SeriesDraftSummary(BaseModel):
    series_state: Optional["SeriesDraftSummarySeriesState"] = Field(alias="seriesState")


class SeriesDraftSummarySeriesState(BaseModel):
    id: str
    finished: bool
    valid: bool
    games: List["SeriesDraftSummarySeriesStateGames"]


class SeriesDraftSummarySeriesStateGames(BaseModel):
    id: str
    draft_actions: List["SeriesDraftSummarySeriesStateGamesDraftActions"] = Field(
        alias="draftActions"
    )
    sequence_number: int = Field(alias="sequenceNumber")
    teams: List["SeriesDraftSummarySeriesStateGamesTeams"]


class SeriesDraftSummarySeriesStateGamesDraftActions(BaseModel):
    id: str
    type: str
    sequence_number: str = Field(alias="sequenceNumber")
    drafter: "SeriesDraftSummarySeriesStateGamesDraftActionsDrafter"
    draftable: "SeriesDraftSummarySeriesStateGamesDraftActionsDraftable"


class SeriesDraftSummarySeriesStateGamesDraftActionsDrafter(BaseModel):
    id: str
    type: str


class SeriesDraftSummarySeriesStateGamesDraftActionsDraftable(BaseModel):
    id: str
    type: str
    name: str


class SeriesDraftSummarySeriesStateGamesTeams(BaseModel):
    typename__: Literal[
        "GameTeamState",
        "GameTeamStateCs2",
        "GameTeamStateCsgo",
        "GameTeamStateDefault",
        "GameTeamStateDota",
        "GameTeamStateLol",
        "GameTeamStatePubg",
        "GameTeamStateR6",
        "GameTeamStateValorant",
    ] = Field(alias="__typename")
    id: str
    name: str
    side: str
    won: bool
    players: List["SeriesDraftSummarySeriesStateGamesTeamsPlayers"]


class SeriesDraftSummarySeriesStateGamesTeamsPlayers(BaseModel):
    typename__: Literal[
        "GamePlayerState",
        "GamePlayerStateCs2",
        "GamePlayerStateCsgo",
        "GamePlayerStateDefault",
        "GamePlayerStateDota",
        "GamePlayerStateLol",
        "GamePlayerStatePubg",
        "GamePlayerStateR6",
        "GamePlayerStateValorant",
    ] = Field(alias="__typename")
    id: str
    name: str
    character: Optional["SeriesDraftSummarySeriesStateGamesTeamsPlayersCharacter"]


class SeriesDraftSummarySeriesStateGamesTeamsPlayersCharacter(BaseModel):
    id: str
    name: str


SeriesDraftSummary.model_rebuild()
SeriesDraftSummarySeriesState.model_rebuild()
SeriesDraftSummarySeriesStateGames.model_rebuild()
SeriesDraftSummarySeriesStateGamesDraftActions.model_rebuild()
SeriesDraftSummarySeriesStateGamesTeams.model_rebuild()
SeriesDraftSummarySeriesStateGamesTeamsPlayers.model_rebuild()
