use crate::{
snapshot_cache::SnapshotRefreshAttempt, sns::report::cache_attempt::SnsRefreshAttemptMetadata,
};
use serde::Serialize;
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsRefreshAttemptStatus {
pub network: String,
pub source_endpoint: String,
pub governance_canister_id: String,
#[serde(flatten)]
pub lifecycle: crate::cache::SnapshotRefreshAttemptStatus,
}
impl SnsRefreshAttemptStatus {
pub(in crate::sns::report) fn from_validated(
attempt: SnapshotRefreshAttempt<SnsRefreshAttemptMetadata>,
) -> Self {
Self {
network: attempt.network.clone(),
source_endpoint: attempt.source_endpoint.clone(),
governance_canister_id: attempt.metadata.governance_canister_id.clone(),
lifecycle: attempt.into(),
}
}
}