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 #[serde(flatten)]
27 pub provenance: ReportProvenance,
28 pub proposal: SnsProposalRow,
29}
30
31#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
38pub struct SnsProposalsReport {
39 pub schema_version: u32,
40 #[serde(flatten)]
42 pub context: SnsReportContext,
43 pub requested_limit: u32,
44 pub before_proposal_id: Option<u64>,
45 pub status_filter: String,
46 pub topic_filter: String,
47 pub eligibility_filter: String,
48 pub proposer_filter: Option<String>,
49 pub query_filter: Option<String>,
50 pub sort: String,
51 pub sort_direction: String,
52 #[serde(flatten)]
54 pub provenance: ReportProvenance,
55 pub proposal_count: usize,
56 pub proposals: Vec<SnsProposalRow>,
57}