libfj 0.10.0

An unofficial collection of APIs used in FreeJam games and mods
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone)]
pub struct EmailUserAuthenticationPayload {
    #[serde(rename = "DisplayName")]
    pub display_name: Option<String>,
    #[serde(rename = "EmailAddress")]
    pub email_address: String,
    #[serde(rename = "Password")]
    pub password: String,
    #[serde(rename = "MacAddress")]
    pub mac_address: Option<String>,
    #[serde(rename = "Target")]
    pub target: String,
}

#[derive(Serialize, Deserialize, Clone)]
pub struct SteamAuthenticationPayload {
    #[serde(rename = "SteamTicket")]
    pub steam_ticket: String,
    #[serde(rename = "MacAddress")]
    pub mac_address: Option<String>,
    #[serde(rename = "Target")]
    pub target: String,
}

#[derive(Serialize, Deserialize, Clone)]
pub struct ErrorInfo {
    #[serde(rename = "ErrorMsg")]
    pub error_message: String,
    #[serde(rename = "ErrorCode")]
    pub error_code: String, // number as string
    // 302: Unconfirmed account
    // 301: Account blocked temp
    // 203: Account password invalid
    // 204: Account bad username or password
    // 202: Account blocked
    // others: Unknown error
}

#[derive(Serialize, Deserialize, Clone)]
pub struct TokenPayload {
    #[serde(rename = "PublicId")]
    pub public_id: String,
    #[serde(rename = "DisplayName")]
    pub display_name: String,
    #[serde(rename = "RobocraftName")]
    pub robocraft_name: String,
    #[serde(rename = "EmailAddress")]
    pub email_address: String,
    #[serde(rename = "EmailVerified")]
    pub email_verified: bool,
    #[serde(rename = "Flags")]
    pub flags: Vec<String>,
}