edjr 0.1.2

Elite Dangerous Journal Reader
use {crate::elite::crew::CrewRole, serde::Deserialize};

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CrewAssignEvent {
    #[serde(alias = "CrewID")]
    pub crew_id: u64,
    pub name: String,
    pub role: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CrewLaunchFighterEvent {
    pub crew: String,
    #[serde(default)]
    pub telepresense: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CrewMemberJoinsEvent {
    pub crew: String,
    #[serde(default)]
    pub telepresense: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CrewMemberQuitsEvent {
    pub crew: String,
    #[serde(default)]
    pub telepresense: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CrewMemberRoleChangeEvent {
    pub crew: String,
    pub role: CrewRole,
    #[serde(default)]
    pub telepresense: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ChangeCrewRoleEvent {
    pub role: CrewRole,
    #[serde(default)]
    pub telepresence: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct EndCrewSessionEvent {
    pub on_crime: bool,
    #[serde(default)]
    pub telepresence: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct JoinACrewEvent {
    pub captain: String,
    #[serde(default)]
    pub telepresence: bool,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct NpcCrewPaidWageEvent {
    pub amount: u64,
    pub npc_crew_id: u64,
    pub npc_crew_name: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct QuitACrewEvent {
    pub captain: String,
}