use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct SnsNeuronPermissionRow {
pub principal: String,
pub permission_types: Vec<i32>,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct SnsNeuronDetailReport {
pub schema_version: u32,
#[serde(flatten)]
pub context: crate::sns::SnsReportContext,
pub neuron_id: String,
pub data_source: crate::report::ReportDataSource,
pub neuron: super::SnsNeuronRow,
}
#[must_use]
pub const fn sns_neuron_permission_name(code: i32) -> &'static str {
match code {
0 => "unspecified",
1 => "configure_dissolve_state",
2 => "manage_principals",
3 => "submit_proposal",
4 => "vote",
5 => "disburse",
6 => "split",
7 => "merge_maturity",
8 => "disburse_maturity",
9 => "stake_maturity",
10 => "manage_voting_permission",
_ => "unknown",
}
}