tba-openapi-rust 3.8.2

# Overview Information and statistics about FIRST Robotics Competition teams and events. # Authentication All endpoints require an Auth Key to be passed in the header `X-TBA-Auth-Key`. If you do not have an auth key yet, you can obtain one from your [Account Page](/account).
Documentation
/*
 * The Blue Alliance API v3
 *
 * # Overview    Information and statistics about FIRST Robotics Competition teams and events.   # Authentication   All endpoints require an Auth Key to be passed in the header `X-TBA-Auth-Key`. If you do not have an auth key yet, you can obtain one from your [Account Page](/account).
 *
 * The version of the OpenAPI document: 3.8.2
 * 
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct MatchScoreBreakdown2016Alliance {
    #[serde(rename = "autoPoints", skip_serializing_if = "Option::is_none")]
    pub auto_points: Option<i32>,
    #[serde(rename = "teleopPoints", skip_serializing_if = "Option::is_none")]
    pub teleop_points: Option<i32>,
    #[serde(rename = "breachPoints", skip_serializing_if = "Option::is_none")]
    pub breach_points: Option<i32>,
    #[serde(rename = "foulPoints", skip_serializing_if = "Option::is_none")]
    pub foul_points: Option<i32>,
    #[serde(rename = "capturePoints", skip_serializing_if = "Option::is_none")]
    pub capture_points: Option<i32>,
    #[serde(rename = "adjustPoints", skip_serializing_if = "Option::is_none")]
    pub adjust_points: Option<i32>,
    #[serde(rename = "totalPoints", skip_serializing_if = "Option::is_none")]
    pub total_points: Option<i32>,
    #[serde(rename = "robot1Auto", skip_serializing_if = "Option::is_none")]
    pub robot1_auto: Option<Robot1Auto>,
    #[serde(rename = "robot2Auto", skip_serializing_if = "Option::is_none")]
    pub robot2_auto: Option<Robot2Auto>,
    #[serde(rename = "robot3Auto", skip_serializing_if = "Option::is_none")]
    pub robot3_auto: Option<Robot3Auto>,
    #[serde(rename = "autoReachPoints", skip_serializing_if = "Option::is_none")]
    pub auto_reach_points: Option<i32>,
    #[serde(rename = "autoCrossingPoints", skip_serializing_if = "Option::is_none")]
    pub auto_crossing_points: Option<i32>,
    #[serde(rename = "autoBouldersLow", skip_serializing_if = "Option::is_none")]
    pub auto_boulders_low: Option<i32>,
    #[serde(rename = "autoBouldersHigh", skip_serializing_if = "Option::is_none")]
    pub auto_boulders_high: Option<i32>,
    #[serde(rename = "autoBoulderPoints", skip_serializing_if = "Option::is_none")]
    pub auto_boulder_points: Option<i32>,
    #[serde(rename = "teleopCrossingPoints", skip_serializing_if = "Option::is_none")]
    pub teleop_crossing_points: Option<i32>,
    #[serde(rename = "teleopBouldersLow", skip_serializing_if = "Option::is_none")]
    pub teleop_boulders_low: Option<i32>,
    #[serde(rename = "teleopBouldersHigh", skip_serializing_if = "Option::is_none")]
    pub teleop_boulders_high: Option<i32>,
    #[serde(rename = "teleopBoulderPoints", skip_serializing_if = "Option::is_none")]
    pub teleop_boulder_points: Option<i32>,
    #[serde(rename = "teleopDefensesBreached", skip_serializing_if = "Option::is_none")]
    pub teleop_defenses_breached: Option<bool>,
    #[serde(rename = "teleopChallengePoints", skip_serializing_if = "Option::is_none")]
    pub teleop_challenge_points: Option<i32>,
    #[serde(rename = "teleopScalePoints", skip_serializing_if = "Option::is_none")]
    pub teleop_scale_points: Option<i32>,
    #[serde(rename = "teleopTowerCaptured", skip_serializing_if = "Option::is_none")]
    pub teleop_tower_captured: Option<i32>,
    #[serde(rename = "towerFaceA", skip_serializing_if = "Option::is_none")]
    pub tower_face_a: Option<String>,
    #[serde(rename = "towerFaceB", skip_serializing_if = "Option::is_none")]
    pub tower_face_b: Option<String>,
    #[serde(rename = "towerFaceC", skip_serializing_if = "Option::is_none")]
    pub tower_face_c: Option<String>,
    #[serde(rename = "towerEndStrength", skip_serializing_if = "Option::is_none")]
    pub tower_end_strength: Option<i32>,
    #[serde(rename = "techFoulCount", skip_serializing_if = "Option::is_none")]
    pub tech_foul_count: Option<i32>,
    #[serde(rename = "foulCount", skip_serializing_if = "Option::is_none")]
    pub foul_count: Option<i32>,
    #[serde(rename = "position2", skip_serializing_if = "Option::is_none")]
    pub position2: Option<String>,
    #[serde(rename = "position3", skip_serializing_if = "Option::is_none")]
    pub position3: Option<String>,
    #[serde(rename = "position4", skip_serializing_if = "Option::is_none")]
    pub position4: Option<String>,
    #[serde(rename = "position5", skip_serializing_if = "Option::is_none")]
    pub position5: Option<String>,
    #[serde(rename = "position1crossings", skip_serializing_if = "Option::is_none")]
    pub position1crossings: Option<i32>,
    #[serde(rename = "position2crossings", skip_serializing_if = "Option::is_none")]
    pub position2crossings: Option<i32>,
    #[serde(rename = "position3crossings", skip_serializing_if = "Option::is_none")]
    pub position3crossings: Option<i32>,
    #[serde(rename = "position4crossings", skip_serializing_if = "Option::is_none")]
    pub position4crossings: Option<i32>,
    #[serde(rename = "position5crossings", skip_serializing_if = "Option::is_none")]
    pub position5crossings: Option<i32>,
}

impl MatchScoreBreakdown2016Alliance {
    pub fn new() -> MatchScoreBreakdown2016Alliance {
        MatchScoreBreakdown2016Alliance {
            auto_points: None,
            teleop_points: None,
            breach_points: None,
            foul_points: None,
            capture_points: None,
            adjust_points: None,
            total_points: None,
            robot1_auto: None,
            robot2_auto: None,
            robot3_auto: None,
            auto_reach_points: None,
            auto_crossing_points: None,
            auto_boulders_low: None,
            auto_boulders_high: None,
            auto_boulder_points: None,
            teleop_crossing_points: None,
            teleop_boulders_low: None,
            teleop_boulders_high: None,
            teleop_boulder_points: None,
            teleop_defenses_breached: None,
            teleop_challenge_points: None,
            teleop_scale_points: None,
            teleop_tower_captured: None,
            tower_face_a: None,
            tower_face_b: None,
            tower_face_c: None,
            tower_end_strength: None,
            tech_foul_count: None,
            foul_count: None,
            position2: None,
            position3: None,
            position4: None,
            position5: None,
            position1crossings: None,
            position2crossings: None,
            position3crossings: None,
            position4crossings: None,
            position5crossings: None,
        }
    }
}

/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot1Auto {
    #[serde(rename = "Crossed")]
    Crossed,
    #[serde(rename = "Reached")]
    Reached,
    #[serde(rename = "None")]
    None,
}

impl Default for Robot1Auto {
    fn default() -> Robot1Auto {
        Self::Crossed
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot2Auto {
    #[serde(rename = "Crossed")]
    Crossed,
    #[serde(rename = "Reached")]
    Reached,
    #[serde(rename = "None")]
    None,
}

impl Default for Robot2Auto {
    fn default() -> Robot2Auto {
        Self::Crossed
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot3Auto {
    #[serde(rename = "Crossed")]
    Crossed,
    #[serde(rename = "Reached")]
    Reached,
    #[serde(rename = "None")]
    None,
}

impl Default for Robot3Auto {
    fn default() -> Robot3Auto {
        Self::Crossed
    }
}