Skip to main content

ic_query/sns/report/model/reports/proposals/
refresh.rs

1//! Module: sns::report::model::reports::proposals::refresh
2//!
3//! Responsibility: define SNS proposal snapshot refresh report DTOs.
4//! Does not own: live proposal paging, cache replacement, or rendering.
5//! Boundary: carries refresh result metadata for text and JSON output.
6
7use serde::Serialize;
8
9///
10/// SnsProposalsRefreshReport
11///
12/// Serializable report returned after a complete SNS proposal snapshot refresh.
13///
14
15#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
16pub struct SnsProposalsRefreshReport {
17    pub schema_version: u32,
18    pub network: String,
19    pub sns_wasm_canister_id: String,
20    pub fetched_at: String,
21    pub source_endpoint: String,
22    pub fetched_by: String,
23    pub id: usize,
24    pub name: String,
25    pub root_canister_id: String,
26    pub governance_canister_id: String,
27    pub cache_path: String,
28    pub refresh_lock_path: String,
29    pub refresh_attempt_path: String,
30    pub page_size: u32,
31    pub page_count: u32,
32    pub proposal_count: usize,
33    pub complete: bool,
34    pub replaced_existing_cache: bool,
35    pub wrote_cache: bool,
36}