# Generated by ariadne-codegen on 2023-06-06 10:50
# Source: graphql/queries.graphql

from typing import List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetChampionshipQualifications(BaseModel):
    get_championship_qualifications: Optional[
        "GetChampionshipQualificationsGetChampionshipQualifications"
    ] = Field(alias="getChampionshipQualifications")


class GetChampionshipQualificationsGetChampionshipQualifications(BaseModel):
    event_id: Optional[int] = Field(alias="eventId")
    group_by_country: Optional[bool] = Field(alias="groupByCountry")
    entry_number: Optional[int] = Field(alias="entryNumber")
    entry_standard: Optional[str] = Field(alias="entryStandard")
    alternative_entry_standards: Optional[
        List[
            Optional[
                "GetChampionshipQualificationsGetChampionshipQualificationsAlternativeEntryStandards"
            ]
        ]
    ] = Field(alias="alternativeEntryStandards")
    max_competitors_by_coutnry: Optional[int] = Field(alias="maxCompetitorsByCoutnry")
    first_qualification_day: Optional[str] = Field(alias="firstQualificationDay")
    last_qualification_day: Optional[str] = Field(alias="lastQualificationDay")
    rank_date: Optional[str] = Field(alias="rankDate")
    first_ranking_day: Optional[str] = Field(alias="firstRankingDay")
    last_ranking_day: Optional[str] = Field(alias="lastRankingDay")
    number_of_competitors_qualified_by_entry_standard: Optional[int] = Field(
        alias="numberOfCompetitorsQualifiedByEntryStandard"
    )
    number_of_competitors_qualified_by_designated_competition: Optional[int] = Field(
        alias="numberOfCompetitorsQualifiedByDesignatedCompetition"
    )
    number_of_competitors_filled_up_by_world_rankings: Optional[int] = Field(
        alias="numberOfCompetitorsFilledUpByWorldRankings"
    )
    number_of_competitors_qualified_by_top_list: Optional[int] = Field(
        alias="numberOfCompetitorsQualifiedByTopList"
    )
    number_of_competitors_qualified_by_universality_places: Optional[int] = Field(
        alias="numberOfCompetitorsQualifiedByUniversalityPlaces"
    )
    qualifications: Optional[
        List[
            Optional[
                "GetChampionshipQualificationsGetChampionshipQualificationsQualifications"
            ]
        ]
    ]
    events: Optional[
        List[
            Optional["GetChampionshipQualificationsGetChampionshipQualificationsEvents"]
        ]
    ]
    countries: Optional[
        List[
            Optional[
                "GetChampionshipQualificationsGetChampionshipQualificationsCountries"
            ]
        ]
    ]
    qualification_types: Optional[
        List[
            Optional[
                "GetChampionshipQualificationsGetChampionshipQualificationsQualificationTypes"
            ]
        ]
    ] = Field(alias="qualificationTypes")
    discipline_name: Optional[str] = Field(alias="disciplineName")


class GetChampionshipQualificationsGetChampionshipQualificationsAlternativeEntryStandards(
    BaseModel
):
    entry_standard: Optional[str] = Field(alias="entryStandard")
    event: Optional[str]


class GetChampionshipQualificationsGetChampionshipQualificationsQualifications(
    BaseModel
):
    qualified_by: Optional[str] = Field(alias="qualifiedBy")
    qualified: Optional[bool]
    qualification_position: Optional[int] = Field(alias="qualificationPosition")
    country_position: Optional[int] = Field(alias="countryPosition")
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    iaaf_id: Optional[int] = Field(alias="iaafId")
    birth_date: Optional[str] = Field(alias="birthDate")
    competitor_iaaf_id: Optional[int] = Field(alias="competitorIaafId")
    result: Optional[str]
    wind: Optional[str]
    venue: Optional[str]
    date: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    place: Optional[int]
    score: Optional[int]
    calculation_id: Optional[int] = Field(alias="calculationId")
    label: Optional[str]


class GetChampionshipQualificationsGetChampionshipQualificationsEvents(BaseModel):
    gender_code: Optional[str] = Field(alias="genderCode")
    event_id: Optional[str] = Field(alias="eventId")
    discipline_name: Optional[str] = Field(alias="disciplineName")


class GetChampionshipQualificationsGetChampionshipQualificationsCountries(BaseModel):
    shortname: Optional[str]
    name: Optional[str]


class GetChampionshipQualificationsGetChampionshipQualificationsQualificationTypes(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]


GetChampionshipQualifications.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualifications.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualificationsAlternativeEntryStandards.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualificationsQualifications.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualificationsEvents.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualificationsCountries.update_forward_refs()
GetChampionshipQualificationsGetChampionshipQualificationsQualificationTypes.update_forward_refs()
