use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BaseTaskStatus {
#[serde(rename = "RUNNING")]
Running,
#[serde(rename = "COMPLETED")]
Completed,
#[serde(rename = "FAILED")]
Failed,
#[serde(rename = "CANCELED")]
Canceled,
#[serde(rename = "TERMINATED")]
Terminated,
#[serde(rename = "CONTINUED_AS_NEW")]
ContinuedAsNew,
#[serde(rename = "TIMED_OUT")]
TimedOut,
#[serde(rename = "UNKNOWN")]
Unknown,
}
impl std::fmt::Display for BaseTaskStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Running => write!(f, "RUNNING"),
Self::Completed => write!(f, "COMPLETED"),
Self::Failed => write!(f, "FAILED"),
Self::Canceled => write!(f, "CANCELED"),
Self::Terminated => write!(f, "TERMINATED"),
Self::ContinuedAsNew => write!(f, "CONTINUED_AS_NEW"),
Self::TimedOut => write!(f, "TIMED_OUT"),
Self::Unknown => write!(f, "UNKNOWN"),
}
}
}
impl Default for BaseTaskStatus {
fn default() -> BaseTaskStatus {
Self::Running
}
}