use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CmmnPlanItemState {
#[serde(rename = "available")]
Available,
#[serde(rename = "enabled")]
Enabled,
#[serde(rename = "disabled")]
Disabled,
#[serde(rename = "active")]
Active,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "terminated")]
Terminated,
#[serde(rename = "failed")]
Failed,
#[serde(rename = "suspended")]
Suspended,
#[serde(rename = "unavailable")]
Unavailable,
#[serde(rename = "waiting-for-repetition")]
WaitingForRepetition,
#[serde(rename = "async-active")]
AsyncActive,
#[serde(rename = "async-active-leave")]
AsyncActiveLeave,
}
impl std::fmt::Display for CmmnPlanItemState {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Available => write!(f, "available"),
Self::Enabled => write!(f, "enabled"),
Self::Disabled => write!(f, "disabled"),
Self::Active => write!(f, "active"),
Self::Completed => write!(f, "completed"),
Self::Terminated => write!(f, "terminated"),
Self::Failed => write!(f, "failed"),
Self::Suspended => write!(f, "suspended"),
Self::Unavailable => write!(f, "unavailable"),
Self::WaitingForRepetition => write!(f, "waiting-for-repetition"),
Self::AsyncActive => write!(f, "async-active"),
Self::AsyncActiveLeave => write!(f, "async-active-leave"),
}
}
}
impl Default for CmmnPlanItemState {
fn default() -> CmmnPlanItemState {
Self::Available
}
}