cod_types/api/
state_type.rs

1use clap::ValueEnum;
2use serde::{Deserialize, Serialize};
3use strum::{Display, EnumIter, EnumString};
4
5#[derive(Debug, Clone, Copy, Serialize, Deserialize, ValueEnum, Display, EnumIter, EnumString)]
6#[strum(serialize_all = "lowercase")]
7#[serde(rename_all = "lowercase")]
8pub enum StateType {
9    Closed,
10    Open,
11    All,
12}
13
14impl StateType {
15    pub fn available_for_choosing() -> [Self; 2] {
16        use StateType::*;
17        [Closed, Open]
18    }
19
20    pub fn is_done(&self) -> bool {
21        use StateType::*;
22        match self {
23            Closed => true,
24            Open => false,
25            All => false,
26        }
27    }
28}