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
 */

/// EventInsights2017 : Insights for FIRST STEAMWORKS qualification and elimination matches.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct EventInsights2017 {
    /// Average foul score.
    #[serde(rename = "average_foul_score")]
    pub average_foul_score: f32,
    /// Average fuel points scored.
    #[serde(rename = "average_fuel_points")]
    pub average_fuel_points: f32,
    /// Average fuel points scored during auto.
    #[serde(rename = "average_fuel_points_auto")]
    pub average_fuel_points_auto: f32,
    /// Average fuel points scored during teleop.
    #[serde(rename = "average_fuel_points_teleop")]
    pub average_fuel_points_teleop: f32,
    /// Average points scored in the high goal.
    #[serde(rename = "average_high_goals")]
    pub average_high_goals: f32,
    /// Average points scored in the high goal during auto.
    #[serde(rename = "average_high_goals_auto")]
    pub average_high_goals_auto: f32,
    /// Average points scored in the high goal during teleop.
    #[serde(rename = "average_high_goals_teleop")]
    pub average_high_goals_teleop: f32,
    /// Average points scored in the low goal.
    #[serde(rename = "average_low_goals")]
    pub average_low_goals: f32,
    /// Average points scored in the low goal during auto.
    #[serde(rename = "average_low_goals_auto")]
    pub average_low_goals_auto: f32,
    /// Average points scored in the low goal during teleop.
    #[serde(rename = "average_low_goals_teleop")]
    pub average_low_goals_teleop: f32,
    /// Average mobility points scored during auto.
    #[serde(rename = "average_mobility_points_auto")]
    pub average_mobility_points_auto: f32,
    /// Average points scored during auto.
    #[serde(rename = "average_points_auto")]
    pub average_points_auto: f32,
    /// Average points scored during teleop.
    #[serde(rename = "average_points_teleop")]
    pub average_points_teleop: f32,
    /// Average rotor points scored.
    #[serde(rename = "average_rotor_points")]
    pub average_rotor_points: f32,
    /// Average rotor points scored during auto.
    #[serde(rename = "average_rotor_points_auto")]
    pub average_rotor_points_auto: f32,
    /// Average rotor points scored during teleop.
    #[serde(rename = "average_rotor_points_teleop")]
    pub average_rotor_points_teleop: f32,
    /// Average score.
    #[serde(rename = "average_score")]
    pub average_score: f32,
    /// Average takeoff points scored during teleop.
    #[serde(rename = "average_takeoff_points_teleop")]
    pub average_takeoff_points_teleop: f32,
    /// Average margin of victory.
    #[serde(rename = "average_win_margin")]
    pub average_win_margin: f32,
    /// Average winning score.
    #[serde(rename = "average_win_score")]
    pub average_win_score: f32,
    /// An array with three values, kPa scored, match key from the match with the high kPa, and the name of the match
    #[serde(rename = "high_kpa")]
    pub high_kpa: Vec<String>,
    /// An array with three values, high score, match key from the match with the high score, and the name of the match
    #[serde(rename = "high_score")]
    pub high_score: Vec<String>,
    /// An array with three values, number of times kPa bonus achieved, number of opportunities to bonus, and percentage.
    #[serde(rename = "kpa_achieved")]
    pub kpa_achieved: Vec<f32>,
    /// An array with three values, number of times mobility bonus achieved, number of opportunities to bonus, and percentage.
    #[serde(rename = "mobility_counts")]
    pub mobility_counts: Vec<f32>,
    /// An array with three values, number of times rotor 1 engaged, number of opportunities to engage, and percentage.
    #[serde(rename = "rotor_1_engaged")]
    pub rotor_1_engaged: Vec<f32>,
    /// An array with three values, number of times rotor 1 engaged in auto, number of opportunities to engage in auto, and percentage.
    #[serde(rename = "rotor_1_engaged_auto")]
    pub rotor_1_engaged_auto: Vec<f32>,
    /// An array with three values, number of times rotor 2 engaged, number of opportunities to engage, and percentage.
    #[serde(rename = "rotor_2_engaged")]
    pub rotor_2_engaged: Vec<f32>,
    /// An array with three values, number of times rotor 2 engaged in auto, number of opportunities to engage in auto, and percentage.
    #[serde(rename = "rotor_2_engaged_auto")]
    pub rotor_2_engaged_auto: Vec<f32>,
    /// An array with three values, number of times rotor 3 engaged, number of opportunities to engage, and percentage.
    #[serde(rename = "rotor_3_engaged")]
    pub rotor_3_engaged: Vec<f32>,
    /// An array with three values, number of times rotor 4 engaged, number of opportunities to engage, and percentage.
    #[serde(rename = "rotor_4_engaged")]
    pub rotor_4_engaged: Vec<f32>,
    /// An array with three values, number of times takeoff was counted, number of opportunities to takeoff, and percentage.
    #[serde(rename = "takeoff_counts")]
    pub takeoff_counts: Vec<f32>,
    /// An array with three values, number of times a unicorn match (Win + kPa & Rotor Bonuses) occured, number of opportunities to have a unicorn match, and percentage.
    #[serde(rename = "unicorn_matches")]
    pub unicorn_matches: Vec<f32>,
}

impl EventInsights2017 {
    /// Insights for FIRST STEAMWORKS qualification and elimination matches.
    pub fn new(average_foul_score: f32, average_fuel_points: f32, average_fuel_points_auto: f32, average_fuel_points_teleop: f32, average_high_goals: f32, average_high_goals_auto: f32, average_high_goals_teleop: f32, average_low_goals: f32, average_low_goals_auto: f32, average_low_goals_teleop: f32, average_mobility_points_auto: f32, average_points_auto: f32, average_points_teleop: f32, average_rotor_points: f32, average_rotor_points_auto: f32, average_rotor_points_teleop: f32, average_score: f32, average_takeoff_points_teleop: f32, average_win_margin: f32, average_win_score: f32, high_kpa: Vec<String>, high_score: Vec<String>, kpa_achieved: Vec<f32>, mobility_counts: Vec<f32>, rotor_1_engaged: Vec<f32>, rotor_1_engaged_auto: Vec<f32>, rotor_2_engaged: Vec<f32>, rotor_2_engaged_auto: Vec<f32>, rotor_3_engaged: Vec<f32>, rotor_4_engaged: Vec<f32>, takeoff_counts: Vec<f32>, unicorn_matches: Vec<f32>) -> EventInsights2017 {
        EventInsights2017 {
            average_foul_score,
            average_fuel_points,
            average_fuel_points_auto,
            average_fuel_points_teleop,
            average_high_goals,
            average_high_goals_auto,
            average_high_goals_teleop,
            average_low_goals,
            average_low_goals_auto,
            average_low_goals_teleop,
            average_mobility_points_auto,
            average_points_auto,
            average_points_teleop,
            average_rotor_points,
            average_rotor_points_auto,
            average_rotor_points_teleop,
            average_score,
            average_takeoff_points_teleop,
            average_win_margin,
            average_win_score,
            high_kpa,
            high_score,
            kpa_achieved,
            mobility_counts,
            rotor_1_engaged,
            rotor_1_engaged_auto,
            rotor_2_engaged,
            rotor_2_engaged_auto,
            rotor_3_engaged,
            rotor_4_engaged,
            takeoff_counts,
            unicorn_matches,
        }
    }
}