use crate::sns::report::{SnsListSort, SnsNeuronsSort, SnsProposalStatusFilter};
use clap::ValueEnum;
#[derive(Clone, Copy, Debug, Eq, PartialEq, ValueEnum)]
pub(in crate::sns::commands) enum SnsListSortArg {
Id,
Name,
}
impl From<SnsListSortArg> for SnsListSort {
fn from(value: SnsListSortArg) -> Self {
match value {
SnsListSortArg::Id => Self::Id,
SnsListSortArg::Name => Self::Name,
}
}
}
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, ValueEnum)]
pub(in crate::sns::commands) enum SnsNeuronsSortArg {
#[default]
Api,
Id,
Stake,
Maturity,
Created,
}
impl From<SnsNeuronsSortArg> for SnsNeuronsSort {
fn from(value: SnsNeuronsSortArg) -> Self {
match value {
SnsNeuronsSortArg::Api => Self::Api,
SnsNeuronsSortArg::Id => Self::Id,
SnsNeuronsSortArg::Stake => Self::Stake,
SnsNeuronsSortArg::Maturity => Self::Maturity,
SnsNeuronsSortArg::Created => Self::Created,
}
}
}
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, ValueEnum)]
pub(in crate::sns::commands) enum SnsProposalStatusArg {
#[default]
Any,
Open,
Rejected,
Adopted,
Executed,
Failed,
}
impl From<SnsProposalStatusArg> for SnsProposalStatusFilter {
fn from(value: SnsProposalStatusArg) -> Self {
match value {
SnsProposalStatusArg::Any => Self::Any,
SnsProposalStatusArg::Open => Self::Open,
SnsProposalStatusArg::Rejected => Self::Rejected,
SnsProposalStatusArg::Adopted => Self::Adopted,
SnsProposalStatusArg::Executed => Self::Executed,
SnsProposalStatusArg::Failed => Self::Failed,
}
}
}