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
44
45
46
47
48
49
50
51
52
use derive_getters::Getters;
use serde::Deserialize;

use crate::enums::{MapSize, Gamemode, Region, DayNight, AntiCheat};

/// Struct for the data of a single server  
/// `BBApi::server_list()` returns a Vec of these.
#[allow(dead_code)]
#[derive(Deserialize, Debug, Getters)]
pub struct ServerData {
    #[serde(rename = "Name")]
    name: String,

    #[serde(rename = "Map")]
    map: String,

    #[serde(rename = "MapSize")]
    map_size: MapSize,

    #[serde(rename = "Gamemode")]
    gamemode: Gamemode,

    #[serde(rename = "Region")]
    region: Region,

    #[serde(rename = "Players")]
    player_count: u8,

    #[serde(rename = "QueuePlayers")]
    queued_player_count: u8,

    #[serde(rename = "MaxPlayers")]
    max_players: u8,

    #[serde(rename = "Hz")]
    hz: u8,

    #[serde(rename = "DayNight")]
    day_night: DayNight,

    #[serde(rename = "IsOfficial")]
    is_official: bool,

    #[serde(rename = "HasPassword")]
    has_password: bool,

    #[serde(rename = "AntiCheat")]
    anti_cheat: AntiCheat,

    #[serde(rename = "Build")]
    build: String,
}