1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Queries and mutations to the RCOS API for meeting data.

pub mod authorization_for;
pub mod creation;
pub mod delete;
pub mod edit;
pub mod get;
pub mod get_by_id;
pub mod get_host;

/// List of all existing meeting type variants.
pub const ALL_MEETING_TYPES: [MeetingType; 8] = [
    MeetingType::LargeGroup,
    MeetingType::SmallGroup,
    MeetingType::Presentations,
    MeetingType::BonusSession,
    MeetingType::Grading,
    MeetingType::Mentors,
    MeetingType::Coordinators,
    MeetingType::Other,
];

/// The type of a meeting.
#[derive(Serialize, Deserialize, Copy, Clone, Debug, Eq, PartialEq, Display)]
#[serde(rename_all = "snake_case")]
pub enum MeetingType {
    #[display(fmt = "Large Group")]
    LargeGroup,
    #[display(fmt = "Small Group")]
    SmallGroup,
    #[display(fmt = "Presentation")]
    Presentations,
    #[display(fmt = "Bonus Session")]
    BonusSession,
    #[display(fmt = "Grading Meeting")]
    Grading,
    #[display(fmt = "Mentor Meeting")]
    Mentors,
    #[display(fmt = "Coordinator Meeting")]
    Coordinators,
    #[display(fmt = "Uncategorized Meeting")]
    Other,
}