use serde::Deserialize;
#[derive(Deserialize)]
pub struct BoostersResponse {
pub boosters: Vec<Booster>
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Booster {
pub purchaser_uuid: String,
pub amount: f32,
pub original_length: usize,
pub length: usize,
pub game_type: usize,
pub date_activated: usize
}
#[derive(Deserialize)]
pub struct PlayerCountResponse {
pub games: PlayerDistribution,
#[serde(rename = "playerCount")]
pub player_count: usize
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub struct PlayerDistribution {
pub main_lobby: PlayerDistInfo,
pub tournament_lobby: PlayerDistInfo,
pub smp: PlayerDistInfo,
pub legacy: PlayerDistInfo,
pub uhc: PlayerDistInfo,
pub survival_games: PlayerDistInfo,
pub arcade: PlayerDistInfo,
pub speed_uhc: PlayerDistInfo,
pub replay: PlayerDistInfo,
pub duels: PlayerDistInfo,
pub battleground: PlayerDistInfo,
pub housing: PlayerDistInfo,
pub skywars: PlayerDistInfo,
pub prototype: PlayerDistInfo,
pub tntgames: PlayerDistInfo,
pub walls3: PlayerDistInfo,
pub build_battle: PlayerDistInfo,
pub wool_games: PlayerDistInfo,
pub super_smash: PlayerDistInfo,
pub skyblock: PlayerDistInfo,
pub murder_mystery: PlayerDistInfo,
pub bedwars: PlayerDistInfo,
pub mcgo: PlayerDistInfo,
pub pit: PlayerDistInfo,
pub limbo: PlayerDistInfo,
pub idle: PlayerDistInfo,
pub queue: PlayerDistInfo
}
#[derive(Debug, Deserialize)]
pub struct PlayerDistInfo {
pub players: usize,
pub modes: Option<serde_json::Value>
}
#[derive(Deserialize)]
pub struct LeaderboardsResponse {
pub leaderboards: Leaderboards
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub struct Leaderboards {
pub quakecraft: Vec<Leaderboard>,
pub walls: Vec<Leaderboard>,
pub tntgames: Vec<Leaderboard>,
pub gingerbread: Vec<Leaderboard>,
pub vampirez: Vec<Leaderboard>,
pub battleground: Vec<Leaderboard>,
pub speed_uhc: Vec<Leaderboard>,
pub mcgo: Vec<Leaderboard>,
pub paintball: Vec<Leaderboard>,
pub murder_mystery: Vec<Leaderboard>,
pub bedwars: Vec<Leaderboard>,
pub build_battle: Vec<Leaderboard>,
pub arcade: Vec<Leaderboard>,
pub true_combat: Vec<Leaderboard>,
pub survival_games: Vec<Leaderboard>,
pub skyclash: Vec<Leaderboard>,
pub super_smash: Vec<Leaderboard>,
pub arena: Vec<Leaderboard>,
pub uhc: Vec<Leaderboard>,
pub skywars: Vec<Leaderboard>,
pub wool_games: Vec<Leaderboard>,
pub walls3: Vec<Leaderboard>,
pub duels: Vec<Leaderboard>
}
#[derive(Debug, Deserialize)]
pub struct Leaderboard {
pub prefix: String,
pub title: String,
pub leaders: Vec<String>
}
#[derive(Debug, Deserialize)]
pub struct PunishmentStats {
#[serde(rename = "watchdog_lastMinute")]
pub wd_past_minute: usize,
#[serde(rename = "staff_rollingDaily")]
pub staff_daily: usize,
#[serde(rename = "watchdog_total")]
pub wd_total: usize,
#[serde(rename = "watchdog_rollingDaily")]
pub wd_daily: usize,
pub staff_total: usize
}