edjr 0.1.1

Elite Dangerous Journal Reader
Documentation
use {
    crate::elite::rank::{EmpireRank, FederationRank, Rank},
    serde::Deserialize,
};

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ProgressEvent {
    #[serde(alias = "CQC")]
    cqc: u64,
    combat: u64,
    empire: u64,
    exobiologist: u64,
    explore: u64,
    federation: u64,
    soldier: u64,
    trade: u64,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct PromotionEvent {
    combat: Option<Rank>,
    soldier: Option<Rank>,
    empire: Option<EmpireRank>,
    explore: Option<Rank>,
    exobiologist: Option<Rank>,
    federation: Option<FederationRank>,
    trade: Option<Rank>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct RankEvent {
    #[serde(alias = "CQC")]
    cqc: Rank,
    combat: Rank,
    empire: Rank,
    exobiologist: Rank,
    explore: Rank,
    federation: Rank,
    soldier: Rank,
    trade: Rank,
}