# 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 GetLatestQualifiedCompetitors(BaseModel):
    get_latest_qualified_competitors: Optional[
        "GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitors"
    ] = Field(alias="getLatestQualifiedCompetitors")


class GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitors(BaseModel):
    module_title: Optional[str] = Field(alias="moduleTitle")
    module_subtitle: Optional[str] = Field(alias="moduleSubtitle")
    competition_name: Optional[str] = Field(alias="competitionName")
    competition_year: Optional[int] = Field(alias="competitionYear")
    columns: Optional[
        List[
            Optional[
                "GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsColumns"
            ]
        ]
    ]
    qualifications: Optional[
        List[
            Optional[
                "GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualifications"
            ]
        ]
    ]


class GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsColumns(BaseModel):
    heading: Optional[str]
    align: Optional[str]
    field: Optional[str]


class GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualifications(
    BaseModel
):
    country_code: Optional[str] = Field(alias="countryCode")
    event_name: Optional[str] = Field(alias="eventName")
    mark: Optional[str]
    date: Optional[Any]
    competitor: Optional[
        "GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitor"
    ]


class GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitor(
    BaseModel
):
    name: Optional[str]
    id: Optional[int]
    url_slug: Optional[str] = Field(alias="urlSlug")
    country_url_slug: Optional[str] = Field(alias="countryUrlSlug")
    birth_date: Optional[Any] = Field(alias="birthDate")
    team_members: Optional[
        List[
            Optional[
                "GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitorTeamMembers"
            ]
        ]
    ] = Field(alias="teamMembers")


class GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitorTeamMembers(
    BaseModel
):
    id: Optional[int]
    name: Optional[str]
    iaaf_id: Optional[int] = Field(alias="iaafId")
    url_slug: Optional[str] = Field(alias="urlSlug")


GetLatestQualifiedCompetitors.update_forward_refs()
GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitors.update_forward_refs()
GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsColumns.update_forward_refs()
GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualifications.update_forward_refs()
GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitor.update_forward_refs()
GetLatestQualifiedCompetitorsGetLatestQualifiedCompetitorsQualificationsCompetitorTeamMembers.update_forward_refs()
