# Generated by ariadne-codegen
# Source: graphql/schema.graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class AAapiQuery(BaseModel):
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    gender: Optional[str] = None
    environment: Optional[str] = None
    age_category: Optional[str] = Field(alias="ageCategory", default=None)
    wind_reading: Optional[str] = Field(alias="windReading", default=None)
    category_id: Optional[int] = Field(alias="categoryId", default=None)
    competition_id: Optional[int] = Field(alias="competitionId", default=None)
    event_group: Optional[str] = Field(alias="eventGroup", default=None)
    best_results_only: Optional[bool] = Field(alias="bestResultsOnly", default=None)
    region: Optional[str] = None
    region_type: Optional[str] = Field(alias="regionType", default=None)
    limit: Optional[int] = None
    season: Optional[int] = None
    page: Optional[int] = None
    max_year_available: Optional[int] = Field(alias="maxYearAvailable", default=None)


class ChunkType(BaseModel):
    size: Optional[int] = None
    chunk_order: Optional[int] = Field(alias="chunkOrder", default=None)
    chunk_id: Optional[str] = Field(alias="chunkId", default=None)


class ClientMetadataInput(BaseModel):
    key: Optional[str] = None
    value: Optional[str] = None


class CompetitorInput(BaseModel):
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    old_competitor_id: Optional[int] = Field(alias="oldCompetitorId", default=None)
    first_name: Optional[str] = Field(alias="firstName", default=None)
    last_name: Optional[str] = Field(alias="lastName", default=None)
    birth_date: Optional[str] = Field(alias="birthDate", default=None)
    birth_place: Optional[str] = Field(alias="birthPlace", default=None)
    birth_country_code: Optional[str] = Field(alias="birthCountryCode", default=None)
    birth_place_country_name: Optional[str] = Field(
        alias="birthPlaceCountryName", default=None
    )
    team_name: Optional[str] = Field(alias="teamName", default=None)
    country_name: Optional[str] = Field(alias="countryName", default=None)
    country_code: Optional[str] = Field(alias="countryCode", default=None)
    sex_code: Optional[str] = Field(alias="sexCode", default=None)
    sex_name: Optional[str] = Field(alias="sexName", default=None)
    full_bio: Optional[str] = Field(alias="fullBio", default=None)
    butlers_bio: Optional[str] = Field(alias="butlersBio", default=None)


class CompetitorQueryInput(BaseModel):
    competitor_id: int = Field(alias="competitorId")


class EventInput(BaseModel):
    id: str
    timezone: Optional[str] = None
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)
    hash: Optional[str] = None
    name: Optional[str] = None
    start_date: Optional[Any] = Field(alias="startDate", default=None)
    end_date: Optional[Any] = Field(alias="endDate", default=None)
    venue: Optional[str] = None
    country_code: Optional[str] = Field(alias="countryCode", default=None)
    country_name: Optional[str] = Field(alias="countryName", default=None)
    area_code: Optional[str] = Field(alias="areaCode", default=None)
    area_name: Optional[str] = Field(alias="areaName", default=None)
    age_code: Optional[str] = Field(alias="ageCode", default=None)
    indoor_outdoor: Optional[str] = Field(alias="indoorOutdoor", default=None)
    category_code: Optional[str] = Field(alias="categoryCode", default=None)
    category_name: Optional[str] = Field(alias="categoryName", default=None)
    category_order: Optional[int] = Field(alias="categoryOrder", default=None)
    sub_category_code: Optional[str] = Field(alias="subCategoryCode", default=None)
    sub_category_name: Optional[str] = Field(alias="subCategoryName", default=None)
    sub_category_order: Optional[int] = Field(alias="subCategoryOrder", default=None)
    event_id_wa: Optional[int] = Field(alias="eventId_WA", default=None)
    class_code: Optional[str] = Field(alias="classCode", default=None)
    class_name: Optional[str] = Field(alias="className", default=None)
    class_order: Optional[int] = Field(alias="classOrder", default=None)
    is_published: Optional[bool] = Field(alias="isPublished", default=None)
    has_comp_doc_results: Optional[bool] = Field(
        alias="hasCompDocResults", default=None
    )
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug", default=None)
    start_date_year: Optional[int] = Field(alias="startDateYear", default=None)
    area_name_url_slug: Optional[str] = Field(alias="areaNameUrlSlug", default=None)
    category_name_url_slug: Optional[str] = Field(
        alias="categoryNameUrlSlug", default=None
    )
    sub_category_name_url_slug: Optional[str] = Field(
        alias="subCategoryNameUrlSlug", default=None
    )
    discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="disciplineCodes", default=None
    )


class FlashInterviewInput(BaseModel):
    id: Optional[int] = None
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    phase_date: Optional[Any] = Field(alias="phaseDate", default=None)
    phase_name: Optional[str] = Field(alias="phaseName", default=None)
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    unit_code: Optional[int] = Field(alias="unitCode", default=None)
    unit_type_name: Optional[str] = Field(alias="unitTypeName", default=None)
    unit_name: Optional[str] = Field(alias="unitName", default=None)
    title: Optional[str] = None
    body: Optional[str] = None
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_team_name: Optional[str] = Field(
        alias="competitorTeamName", default=None
    )
    competitor_forename: Optional[str] = Field(alias="competitorForename", default=None)
    competitor_surname: Optional[str] = Field(alias="competitorSurname", default=None)
    competitor_country_code: Optional[str] = Field(
        alias="competitorCountryCode", default=None
    )
    competitor_sex: Optional[str] = Field(alias="competitorSex", default=None)
    competitor_type: Optional[str] = Field(alias="competitorType", default=None)
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)
    event_id: Optional[int] = Field(alias="eventId", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    discipline_name: Optional[str] = Field(alias="disciplineName", default=None)
    discipline_sex_name: Optional[str] = Field(alias="disciplineSexName", default=None)
    flash_interview_order: Optional[int] = Field(
        alias="flashInterviewOrder", default=None
    )
    flash_interview_date: Optional[Any] = Field(
        alias="flashInterviewDate", default=None
    )
    flash_interview_has_time: Optional[bool] = Field(
        alias="flashInterviewHasTime", default=None
    )
    event_store_id: Optional[str] = Field(alias="eventStoreId", default=None)


class LiveCombinedSummaryDetailInput(BaseModel):
    id: Optional[str] = None
    competition_id: Optional[int] = Field(alias="competitionId", default=None)
    phase_id: int = Field(alias="phaseId")
    overall_rank: Optional[int] = Field(alias="overallRank", default=None)
    bib: Optional[str] = None
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_first_name: Optional[str] = Field(
        alias="competitorFirstName", default=None
    )
    competitor_last_name: Optional[str] = Field(
        alias="competitorLastName", default=None
    )
    competitor_country_code: Optional[str] = Field(
        alias="competitorCountryCode", default=None
    )
    competitor_birth_date: Optional[str] = Field(
        alias="competitorBirthDate", default=None
    )
    result_mark: Optional[str] = Field(alias="resultMark", default=None)
    record: Optional[str] = None
    details_disc_order: Optional[int] = Field(alias="detailsDiscOrder", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    discipline_mark: Optional[str] = Field(alias="disciplineMark", default=None)
    detail_wind: Optional[str] = Field(alias="detailWind", default=None)
    overall_points: Optional[int] = Field(alias="overallPoints", default=None)
    overall_order: Optional[int] = Field(alias="overallOrder", default=None)
    detail_combined_rank: Optional[str] = Field(
        alias="detailCombinedRank", default=None
    )
    discipline_rank: Optional[str] = Field(alias="disciplineRank", default=None)
    discipline_points: Optional[str] = Field(alias="disciplinePoints", default=None)
    update_on: Optional[str] = Field(alias="updateOn", default=None)
    combined_type: Optional[str] = Field(alias="combinedType", default=None)


class LivePhaseSummaryInput(BaseModel):
    id: str
    phase_summary_id: Optional[int] = Field(alias="phaseSummaryId", default=None)
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    unit_name: Optional[str] = Field(alias="unitName", default=None)
    unit_type: Optional[str] = Field(alias="unitType", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_team_name: Optional[str] = Field(
        alias="competitorTeamName", default=None
    )
    competitor_forename: Optional[str] = Field(alias="competitorForename", default=None)
    competitor_surname: Optional[str] = Field(alias="competitorSurname", default=None)
    competitor_country_name: Optional[str] = Field(
        alias="competitorCountryName", default=None
    )
    competitor_country_code: Optional[str] = Field(
        alias="competitorCountryCode", default=None
    )
    competitor_sex: Optional[str] = Field(alias="competitorSex", default=None)
    competitor_type: Optional[str] = Field(alias="competitorType", default=None)
    bib: Optional[str] = None
    rank: Optional[str] = None
    mark: Optional[str] = None
    wind: Optional[str] = None
    result_wind: Optional[str] = Field(alias="resultWind", default=None)
    record: Optional[str] = None
    qualified: Optional[str] = None
    combined_points: Optional[str] = Field(alias="combinedPoints", default=None)
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)
    result_rank: Optional[str] = Field(alias="resultRank", default=None)
    phase_summary_order: Optional[int] = Field(alias="phaseSummaryOrder", default=None)
    provisional_qualifier: Optional[bool] = Field(
        alias="provisionalQualifier", default=None
    )
    competition_id: Optional[int] = Field(alias="competitionId", default=None)
    reaction_time: Optional[str] = Field(alias="reactionTime", default=None)
    phase_summary_milliseconds: Optional[str] = Field(
        alias="phaseSummaryMilliseconds", default=None
    )


class LivePhaseSummaryQuery(BaseModel):
    phase_id: Optional[int] = Field(alias="phaseId", default=None)


class LiveResultInput(BaseModel):
    type: Optional[str] = None
    id: str
    phase_id: int = Field(alias="phaseId")
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    unit_name: Optional[str] = Field(alias="unitName", default=None)
    unit_type: Optional[str] = Field(alias="unitType", default=None)
    intermediate_type: Optional[str] = Field(alias="intermediateType", default=None)
    intermediate_id: Optional[int] = Field(alias="intermediateId", default=None)
    split_name: Optional[str] = Field(alias="splitName", default=None)
    intermediate_id_type: Optional[str] = Field(
        alias="intermediateIdType", default=None
    )
    intermediate_result_order: Optional[int] = Field(
        alias="intermediateResultOrder", default=None
    )
    intermediate_order: Optional[int] = Field(alias="intermediateOrder", default=None)
    standing_points: Optional[str] = Field(alias="standingPoints", default=None)
    gap: Optional[str] = None
    result_id: Optional[int] = Field(alias="resultId", default=None)
    no_start: Optional[bool] = Field(alias="noStart", default=None)
    lane: Optional[str] = None
    season_best_mark: Optional[str] = Field(alias="seasonBestMark", default=None)
    personal_best_mark: Optional[str] = Field(alias="personalBestMark", default=None)
    phase_summary_order: Optional[int] = Field(alias="phaseSummaryOrder", default=None)
    result_ranks: Optional[int] = Field(alias="resultRanks", default=None)
    summary_yank: Optional[int] = Field(alias="summaryYank", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_forename: Optional[str] = Field(alias="competitorForename", default=None)
    competitor_surname: Optional[str] = Field(alias="competitorSurname", default=None)
    competitor_team_name: Optional[str] = Field(
        alias="competitorTeamName", default=None
    )
    competitor_country_name: Optional[str] = Field(
        alias="competitorCountryName", default=None
    )
    competitor_country_code: Optional[str] = Field(
        alias="competitorCountryCode", default=None
    )
    competitor_sex: Optional[str] = Field(alias="competitorSex", default=None)
    competitor_type: Optional[str] = Field(alias="competitorType", default=None)
    bib: Optional[str] = None
    rank: Optional[str] = None
    mark: Optional[str] = None
    combined_points: Optional[str] = Field(alias="combinedPoints", default=None)
    reaction_time: Optional[str] = Field(alias="reactionTime", default=None)
    record: Optional[str] = None
    result_order: Optional[int] = Field(alias="resultOrder", default=None)
    start_order: Optional[int] = Field(alias="startOrder", default=None)
    qualified: Optional[str] = None
    next: Optional[bool] = None
    last: Optional[bool] = None
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)
    wind: Optional[str] = None
    team_name: Optional[str] = Field(alias="teamName", default=None)
    team_members: Optional[List[Optional["LiveResultTeamMemberInput"]]] = Field(
        alias="teamMembers", default=None
    )
    competition_id: Optional[int] = Field(alias="competitionId", default=None)
    result_milliseconds: Optional[str] = Field(alias="resultMilliseconds", default=None)
    world_ranking: Optional[str] = Field(alias="worldRanking", default=None)


class LiveResultTeamMemberInput(BaseModel):
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    unit_name: Optional[str] = Field(alias="unitName", default=None)
    live_result_id: Optional[int] = Field(alias="liveResultId", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_forename: Optional[str] = Field(alias="competitorForename", default=None)
    competitor_surname: Optional[str] = Field(alias="competitorSurname", default=None)
    competitor_country_name: Optional[str] = Field(
        alias="competitorCountryName", default=None
    )
    competitor_country_code: Optional[str] = Field(
        alias="competitorCountryCode", default=None
    )


class MedalDetailInput(BaseModel):
    id: Optional[int] = None
    medal_table_id: Optional[int] = Field(alias="medalTableId", default=None)
    type_id: Optional[int] = Field(alias="typeId", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    discipline_name: Optional[str] = Field(alias="disciplineName", default=None)
    sex_code: Optional[str] = Field(alias="sexCode", default=None)
    result_id: Optional[int] = Field(alias="resultId", default=None)
    result_mark: Optional[str] = Field(alias="resultMark", default=None)
    medal_date: Optional[str] = Field(alias="medalDate", default=None)
    details_order: Optional[int] = Field(alias="detailsOrder", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_first_name: Optional[str] = Field(
        alias="competitorFirstName", default=None
    )
    competitor_last_name: Optional[str] = Field(
        alias="competitorLastName", default=None
    )
    event_id: Optional[int] = Field(alias="eventId", default=None)
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)


class MedalInput(BaseModel):
    id: int
    event_id: int = Field(alias="eventId")
    country_code: Optional[str] = Field(alias="countryCode", default=None)
    country_name: Optional[str] = Field(alias="countryName", default=None)
    event_medal_table_order: Optional[int] = Field(
        alias="eventMedalTableOrder", default=None
    )
    event_sub_category_code: Optional[str] = Field(
        alias="eventSubCategoryCode", default=None
    )
    medal_rank: Optional[int] = Field(alias="medalRank", default=None)
    bronze: Optional[int] = None
    silver: Optional[int] = None
    gold: Optional[int] = None
    total: Optional[int] = None
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)


class MedalMutationInput(BaseModel):
    event_id: int = Field(alias="eventId")
    payload: List["MedalInput"]


class PhaseInput(BaseModel):
    id: Optional[int] = None
    phase_code: Optional[str] = Field(alias="phaseCode", default=None)
    discipline_name: Optional[str] = Field(alias="disciplineName", default=None)
    discipline_order: Optional[int] = Field(alias="disciplineOrder", default=None)
    type_name: Optional[str] = Field(alias="typeName", default=None)
    type_code: Optional[str] = Field(alias="typeCode", default=None)
    type_order: Optional[int] = Field(alias="typeOrder", default=None)
    is_combined: Optional[bool] = Field(alias="isCombined", default=None)
    is_indoor: Optional[bool] = Field(alias="isIndoor", default=None)
    is_reaction: Optional[bool] = Field(alias="isReaction", default=None)
    is_outdoor: Optional[bool] = Field(alias="isOutdoor", default=None)
    is_wind: Optional[bool] = Field(alias="isWind", default=None)
    is_valid_iaaf: Optional[bool] = Field(alias="isValidIAAF", default=None)
    is_relay: Optional[bool] = Field(alias="isRelay", default=None)
    is_walk: Optional[bool] = Field(alias="isWalk", default=None)
    is_road: Optional[bool] = Field(alias="isRoad", default=None)
    is_field: Optional[bool] = Field(alias="isField", default=None)
    is_track: Optional[bool] = Field(alias="isTrack", default=None)
    is_in_lane: Optional[bool] = Field(alias="isInLane", default=None)
    has_reaction_times: Optional[bool] = Field(alias="hasReactionTimes", default=None)
    has_wind_measurement: Optional[bool] = Field(
        alias="hasWindMeasurement", default=None
    )
    inout_code: Optional[bool] = Field(alias="inoutCode", default=None)
    has_team_standing: Optional[bool] = Field(alias="hasTeamStanding", default=None)
    disc_code_group: Optional[str] = Field(alias="discCodeGroup", default=None)
    phase_name: Optional[str] = Field(alias="phaseName", default=None)
    event_id: Optional[int] = Field(alias="eventId", default=None)
    event_id_wa: Optional[int] = Field(alias="eventId_WA", default=None)
    phase_date_and_time: Optional[str] = Field(alias="phaseDateAndTime", default=None)
    sex_code: Optional[str] = Field(alias="sexCode", default=None)
    sex_name: Optional[str] = Field(alias="sexName", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    is_startlist_published: Optional[bool] = Field(
        alias="isStartlistPublished", default=None
    )
    is_result_published: Optional[bool] = Field(alias="isResultPublished", default=None)
    is_phase_summary_published: Optional[bool] = Field(
        alias="isPhaseSummaryPublished", default=None
    )
    is_team_standing_published: Optional[bool] = Field(
        alias="isTeamStandingPublished", default=None
    )
    combined_discipline_order: Optional[str] = Field(
        alias="combinedDisciplineOrder", default=None
    )
    phase_order: Optional[int] = Field(alias="phaseOrder", default=None)
    phase_session_order: Optional[int] = Field(alias="phaseSessionOrder", default=None)
    phase_session_name: Optional[str] = Field(alias="phaseSessionName", default=None)
    primary_phase_order: Optional[int] = Field(alias="primaryPhaseOrder", default=None)
    status: Optional[int] = None
    has_time: Optional[int] = Field(alias="hasTime", default=None)
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)
    units: List["UnitInput"]


class PhaseQueryInput(BaseModel):
    competition_id: int = Field(alias="competitionId")
    sex_code: Optional[str] = Field(alias="sexCode", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)


class PlacingTableDetailInput(BaseModel):
    id: int
    placing_table_id: int = Field(alias="placingTableId")
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    discipline_name: Optional[str] = Field(alias="disciplineName", default=None)
    competitor_first_name: Optional[str] = Field(
        alias="competitorFirstName", default=None
    )
    competitor_last_name: Optional[str] = Field(
        alias="competitorLastName", default=None
    )
    sex_code: Optional[str] = Field(alias="sexCode", default=None)
    placing_date: Optional[Any] = Field(alias="placingDate", default=None)
    details_order: Optional[int] = Field(alias="detailsOrder", default=None)
    event_id: Optional[int] = Field(alias="eventId", default=None)
    type_id: Optional[int] = Field(alias="typeId", default=None)
    type_name: Optional[str] = Field(alias="typeName", default=None)
    type_abbreviation: Optional[str] = Field(alias="typeAbbreviation", default=None)
    result_mark: Optional[str] = Field(alias="resultMark", default=None)
    placing_points: Optional[str] = Field(alias="placingPoints", default=None)
    result_id: Optional[int] = Field(alias="resultId", default=None)
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    country_code: Optional[str] = Field(alias="countryCode", default=None)
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)


class PlacingTableInput(BaseModel):
    id: int
    event_id: int = Field(alias="eventId")
    rank: Optional[int] = None
    country_name: Optional[str] = Field(alias="countryName", default=None)
    country_code: Optional[str] = Field(alias="countryCode", default=None)
    gold: Optional[int] = None
    silver: Optional[int] = None
    bronze: Optional[int] = None
    forth: Optional[int] = None
    fifth: Optional[int] = None
    sixth: Optional[int] = None
    seventh: Optional[int] = None
    eighth: Optional[int] = None
    points: Optional[int] = None
    table_order: Optional[int] = Field(alias="tableOrder", default=None)
    sub_category_code: Optional[str] = Field(alias="subCategoryCode", default=None)
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)


class PreviousMedalQuery(BaseModel):
    event_id: Optional[int] = Field(alias="eventId", default=None)
    event_id_wa: Optional[int] = Field(alias="eventId_WA", default=None)
    event_end_date: Optional[str] = Field(alias="eventEndDate", default=None)
    sub_category_code: Optional[str] = Field(alias="subCategoryCode", default=None)
    gender: Optional[str] = None
    discipline_code: Optional[str] = Field(alias="disciplineCode", default=None)
    indoor_out_door: Optional[str] = Field(alias="indoorOutDoor", default=None)


class TeamQuery(BaseModel):
    team_id: Optional[int] = Field(alias="teamId", default=None)
    team_sex: Optional[str] = Field(alias="teamSex", default=None)
    indoor_outdoor: Optional[str] = Field(alias="indoorOutdoor", default=None)


class TeamScoringInput(BaseModel):
    id: str
    team_id: Optional[int] = Field(alias="teamId", default=None)
    team_id_wa: Optional[int] = Field(alias="teamId_WA", default=None)
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    scoring_team_id: Optional[int] = Field(alias="scoringTeamId", default=None)
    result_id: Optional[int] = Field(alias="resultId", default=None)
    old_competitor_id: Optional[int] = Field(alias="oldCompetitorId", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_id_wa: Optional[int] = Field(alias="competitorId_WA", default=None)
    team_name: Optional[str] = Field(alias="teamName", default=None)
    team_country_code: Optional[str] = Field(alias="teamCountryCode", default=None)
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)
    scoring_team_order: Optional[int] = Field(alias="scoringTeamOrder", default=None)
    scoring_team_detail_order: Optional[int] = Field(
        alias="scoringTeamDetailOrder", default=None
    )
    bib: Optional[str] = None
    event_store_id: Optional[str] = Field(alias="eventStoreId", default=None)
    chunk_order: Optional[int] = Field(alias="chunkOrder", default=None)
    chunk_id: Optional[str] = Field(alias="chunkId", default=None)


class TeamStandingsInput(BaseModel):
    id: Optional[int] = None
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    unit_id: Optional[int] = Field(alias="unitId", default=None)
    competition_intermediate_id: Optional[int] = Field(
        alias="competitionIntermediateId", default=None
    )
    competition_intermediate_name: Optional[str] = Field(
        alias="competitionIntermediateName", default=None
    )
    rank: Optional[int] = None
    team_id: Optional[int] = Field(alias="teamId", default=None)
    team_id_wa: Optional[int] = Field(alias="teamId_WA", default=None)
    team_name: Optional[str] = Field(alias="teamName", default=None)
    team_country_code: Optional[str] = Field(alias="teamCountryCode", default=None)
    standing_mark: Optional[str] = Field(alias="standingMark", default=None)
    live_current: Optional[bool] = Field(alias="liveCurrent", default=None)
    updated_on: Optional[Any] = Field(alias="updatedOn", default=None)
    team_standing_id: Optional[int] = Field(alias="teamStandingId", default=None)
    competition_intermediate_order: Optional[int] = Field(
        alias="competitionIntermediateOrder", default=None
    )
    detail_rank: Optional[int] = Field(alias="detailRank", default=None)
    standing_detail_bib: Optional[str] = Field(alias="standingDetailBib", default=None)
    competitor_id: Optional[int] = Field(alias="competitorId", default=None)
    competitor_id_wa: Optional[int] = Field(alias="competitorId_WA", default=None)
    old_competitor_id: Optional[int] = Field(alias="oldCompetitorId", default=None)
    standing_detail_score: Optional[str] = Field(
        alias="standingDetailScore", default=None
    )
    standing_detail_scoring: Optional[str] = Field(
        alias="standingDetailScoring", default=None
    )
    team_standing_order: Optional[int] = Field(alias="teamStandingOrder", default=None)
    team_standing_detail_order: Optional[int] = Field(
        alias="teamStandingDetailOrder", default=None
    )
    chunk_order: Optional[int] = Field(alias="chunkOrder", default=None)
    chunk_id: Optional[str] = Field(alias="chunkId", default=None)


class UnitInput(BaseModel):
    id: Optional[int] = None
    phase_id: Optional[int] = Field(alias="phaseId", default=None)
    unit_name: Optional[str] = Field(alias="unitName", default=None)
    unit_type: Optional[str] = Field(alias="unitType", default=None)
    unit_order: Optional[int] = Field(alias="unitOrder", default=None)
    is_startlist_published: Optional[bool] = Field(
        alias="isStartlistPublished", default=None
    )
    is_result_published: Optional[bool] = Field(alias="isResultPublished", default=None)
    is_phase_summary_published: Optional[bool] = Field(
        alias="isPhaseSummaryPublished", default=None
    )
    is_team_standing_published: Optional[bool] = Field(
        alias="isTeamStandingPublished", default=None
    )
    combined_discipline_order: Optional[str] = Field(
        alias="combinedDisciplineOrder", default=None
    )
    status: Optional[str] = None
    qualification_rule_code: Optional[str] = Field(
        alias="qualificationRuleCode", default=None
    )
    updated_on: Optional[str] = Field(alias="updatedOn", default=None)
    start_date: Optional[str] = Field(alias="startDate", default=None)
    start_time: Optional[str] = Field(alias="startTime", default=None)
    start_date_time: Optional[str] = Field(alias="startDateTime", default=None)
    wind: Optional[str] = None


LiveResultInput.model_rebuild()
MedalMutationInput.model_rebuild()
PhaseInput.model_rebuild()
