ic_query/sns/report/model/reports/proposals/
report.rs1use super::row::SnsProposalRow;
8use crate::report::ReportProvenance;
9use crate::sns::report::SnsReportContext;
10use serde::Serialize;
11
12#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
19pub struct SnsProposalReport {
20 pub schema_version: u32,
21 #[serde(flatten)]
23 pub context: SnsReportContext,
24 pub proposal_id: u64,
25 pub verbose: bool,
26 pub show_ballots: bool,
27 #[serde(flatten)]
29 pub provenance: ReportProvenance,
30 pub proposal: SnsProposalRow,
31}
32
33#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
40pub struct SnsProposalsReport {
41 pub schema_version: u32,
42 #[serde(flatten)]
44 pub context: SnsReportContext,
45 pub requested_limit: u32,
46 pub before_proposal_id: Option<u64>,
47 pub status_filter: String,
48 pub topic_filter: String,
49 pub eligibility_filter: String,
50 pub proposer_filter: Option<String>,
51 pub query_filter: Option<String>,
52 pub sort: String,
53 pub sort_direction: String,
54 pub verbose: bool,
55 #[serde(flatten)]
57 pub provenance: ReportProvenance,
58 pub proposal_count: usize,
59 pub proposals: Vec<SnsProposalRow>,
60}