use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HotswapManifest {
pub version: String,
pub sequence: u64,
pub url: String,
pub signature: String,
pub min_binary_version: String,
#[serde(default)]
pub notes: Option<String>,
#[serde(default)]
pub pub_date: Option<String>,
#[serde(default)]
pub mandatory: Option<bool>,
#[serde(default)]
pub bundle_size: Option<u64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HotswapMeta {
pub version: String,
pub sequence: u64,
pub min_binary_version: String,
pub confirmed: bool,
#[serde(default)]
pub unconfirmed_launch_count: u32,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HotswapCheckResult {
pub available: bool,
pub version: Option<String>,
pub sequence: Option<u64>,
pub notes: Option<String>,
pub mandatory: Option<bool>,
pub bundle_size: Option<u64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HotswapVersionInfo {
pub version: Option<String>,
pub sequence: u64,
pub binary_version: String,
pub active: bool,
}