robotevents/schema/
skill.rs

1use super::IdInfo;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct Skill {
6    pub id: i32,
7    pub event: IdInfo,
8    pub team: IdInfo,
9    #[serde(rename = "type")]
10    pub skill_type: SkillType,
11    pub season: IdInfo,
12    pub division: IdInfo,
13    pub rank: i32,
14    pub score: i32,
15    pub attempts: i32,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19#[serde(rename_all = "snake_case")]
20pub enum SkillType {
21    Driver,
22    Programming,
23    PackageDeliveryTime,
24}
25
26impl std::fmt::Display for SkillType {
27    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
28        f.write_str(match self {
29            Self::Driver => "driver",
30            Self::Programming => "programming",
31            Self::PackageDeliveryTime => "package_delivery_time",
32        })
33    }
34}