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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetAvailableTeams(BaseModel):
    teams: "GetAvailableTeamsTeams"


class GetAvailableTeamsTeams(BaseModel):
    total_count: int = Field(alias="totalCount")
    edges: List["GetAvailableTeamsTeamsEdges"]
    page_info: "GetAvailableTeamsTeamsPageInfo" = Field(alias="pageInfo")


class GetAvailableTeamsTeamsEdges(BaseModel):
    node: "GetAvailableTeamsTeamsEdgesNode"


class GetAvailableTeamsTeamsEdgesNode(BaseModel):
    id: str
    color_primary: Any = Field(alias="colorPrimary")
    color_secondary: Any = Field(alias="colorSecondary")
    logo_url: Any = Field(alias="logoUrl")
    name: str
    name_shortened: Optional[str] = Field(alias="nameShortened")
    external_links: List["GetAvailableTeamsTeamsEdgesNodeExternalLinks"] = Field(
        alias="externalLinks"
    )


class GetAvailableTeamsTeamsEdgesNodeExternalLinks(BaseModel):
    external_entity: "GetAvailableTeamsTeamsEdgesNodeExternalLinksExternalEntity" = (
        Field(alias="externalEntity")
    )
    data_provider: "GetAvailableTeamsTeamsEdgesNodeExternalLinksDataProvider" = Field(
        alias="dataProvider"
    )


class GetAvailableTeamsTeamsEdgesNodeExternalLinksExternalEntity(BaseModel):
    id: str


class GetAvailableTeamsTeamsEdgesNodeExternalLinksDataProvider(BaseModel):
    description: Optional[str]
    name: str


class GetAvailableTeamsTeamsPageInfo(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")


GetAvailableTeams.model_rebuild()
GetAvailableTeamsTeams.model_rebuild()
GetAvailableTeamsTeamsEdges.model_rebuild()
GetAvailableTeamsTeamsEdgesNode.model_rebuild()
GetAvailableTeamsTeamsEdgesNodeExternalLinks.model_rebuild()
