oj_serdes 0.4.0

Serializable API types for OpenJam servers
Documentation
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct ServerEntry {
    pub rank: u64,
    pub game: ServerType,
    pub icon: String,
    pub title: String,
    pub description: String,
    pub domain: String,
    pub client_config: String,
    pub links: Vec<ServerLink>,
    pub version: String,
    pub players_online: u64,
    pub average_online: f64,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub enum ServerType {
    #[serde(alias = "RC")]
    Robocraft,
    #[serde(alias = "RCR")]
    RobocraftRoyale,
    #[serde(alias = "CL")]
    Cardlife,
    #[serde(alias = "RCC")]
    RobocraftChina,
    #[serde(alias = "RCI")]
    RobocraftInfinity,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct ServerLink {
    pub title: String,
    pub link: String,
}