dpp/group/
group_action_status.rs

1use anyhow::bail;
2
3#[derive(Debug, PartialEq, PartialOrd, Clone, Copy, Eq)]
4#[cfg_attr(
5    feature = "serde-conversion",
6    derive(serde::Serialize, serde::Deserialize),
7    serde(rename_all = "camelCase")
8)]
9pub enum GroupActionStatus {
10    ActionActive,
11    ActionClosed,
12}
13
14impl TryFrom<u8> for GroupActionStatus {
15    type Error = anyhow::Error;
16    fn try_from(value: u8) -> Result<Self, Self::Error> {
17        match value {
18            0 => Ok(Self::ActionActive),
19            1 => Ok(Self::ActionClosed),
20            value => bail!("unrecognized action status: {}", value),
21        }
22    }
23}
24
25impl TryFrom<i32> for GroupActionStatus {
26    type Error = anyhow::Error;
27    fn try_from(value: i32) -> Result<Self, Self::Error> {
28        match value {
29            0 => Ok(Self::ActionActive),
30            1 => Ok(Self::ActionClosed),
31            value => bail!("unrecognized action status: {}", value),
32        }
33    }
34}