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

from typing import List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetPhases(BaseModel):
    get_phases: Optional[List[Optional["GetPhasesGetPhases"]]] = Field(
        alias="getPhases"
    )


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


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


GetPhases.update_forward_refs()
GetPhasesGetPhases.update_forward_refs()
GetPhasesGetPhasesUnits.update_forward_refs()
