use super::SnsRefreshAttemptStatus;
use serde::Serialize;
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsCacheListReport {
pub schema_version: u32,
pub network: String,
pub cache_root: String,
pub cache_count: usize,
pub caches: Vec<SnsCacheSummary>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsCacheStatusReport {
pub schema_version: u32,
pub network: String,
pub cache_root: String,
pub input: String,
pub found: bool,
pub cache: Option<SnsCacheSummary>,
pub expected_cache_path: Option<String>,
pub refresh_attempt_path: Option<String>,
pub latest_attempt: Option<SnsRefreshAttemptStatus>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsCacheSummary {
pub id: usize,
pub name: String,
pub root_canister_id: String,
pub governance_canister_id: String,
pub cache_status: String,
pub cache_error: Option<String>,
pub complete: bool,
pub row_count: usize,
pub page_count: u32,
pub page_size: u32,
pub fetched_at: String,
pub source_endpoint: String,
pub cache_path: String,
pub refresh_attempt_path: String,
pub latest_attempt: Option<SnsRefreshAttemptStatus>,
}