# Generated by ariadne-codegen
# Source: queries/central-data

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetAvailablePlayers(BaseModel):
    players: "GetAvailablePlayersPlayers"


class GetAvailablePlayersPlayers(BaseModel):
    edges: List["GetAvailablePlayersPlayersEdges"]
    page_info: "GetAvailablePlayersPlayersPageInfo" = Field(alias="pageInfo")
    total_count: int = Field(alias="totalCount")


class GetAvailablePlayersPlayersEdges(BaseModel):
    node: "GetAvailablePlayersPlayersEdgesNode"


class GetAvailablePlayersPlayersEdgesNode(BaseModel):
    id: str
    nickname: str
    external_links: List["GetAvailablePlayersPlayersEdgesNodeExternalLinks"] = Field(
        alias="externalLinks"
    )
    team: Optional["GetAvailablePlayersPlayersEdgesNodeTeam"]


class GetAvailablePlayersPlayersEdgesNodeExternalLinks(BaseModel):
    data_provider: "GetAvailablePlayersPlayersEdgesNodeExternalLinksDataProvider" = (
        Field(alias="dataProvider")
    )
    external_entity: (
        "GetAvailablePlayersPlayersEdgesNodeExternalLinksExternalEntity"
    ) = Field(alias="externalEntity")


class GetAvailablePlayersPlayersEdgesNodeExternalLinksDataProvider(BaseModel):
    name: str


class GetAvailablePlayersPlayersEdgesNodeExternalLinksExternalEntity(BaseModel):
    id: str


class GetAvailablePlayersPlayersEdgesNodeTeam(BaseModel):
    id: str


class GetAvailablePlayersPlayersPageInfo(BaseModel):
    end_cursor: Optional[Any] = Field(alias="endCursor")
    has_next_page: bool = Field(alias="hasNextPage")
    has_previous_page: bool = Field(alias="hasPreviousPage")
    start_cursor: Optional[Any] = Field(alias="startCursor")


GetAvailablePlayers.model_rebuild()
GetAvailablePlayersPlayers.model_rebuild()
GetAvailablePlayersPlayersEdges.model_rebuild()
GetAvailablePlayersPlayersEdgesNode.model_rebuild()
GetAvailablePlayersPlayersEdgesNodeExternalLinks.model_rebuild()
