use crate::nns::{
data_center::NnsDataCenterRow, node::NnsNodeRow, node_operator::NnsNodeOperatorRow,
registry::NnsRegistryInventoryProvenance,
};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct NnsRegistryInventorySnapshot {
pub schema_version: u32,
#[serde(flatten)]
pub provenance: NnsRegistryInventoryProvenance,
pub nodes: Vec<NnsNodeRow>,
pub node_operators: Vec<NnsNodeOperatorRow>,
pub data_centers: Vec<NnsDataCenterRow>,
}
impl crate::cache_file::JsonCacheReport for NnsRegistryInventorySnapshot {
fn schema_version(&self) -> u32 {
self.schema_version
}
fn network(&self) -> &str {
&self.provenance.network
}
}