use crate::gen::task_automation::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TaskState {
#[serde(rename = "Scheduled")]
Scheduled,
#[serde(rename = "Rescheduled")]
Rescheduled,
#[serde(rename = "Selecting")]
Selecting,
#[serde(rename = "Accepted")]
Accepted,
#[serde(rename = "Rejected")]
Rejected,
#[serde(rename = "Assigned")]
Assigned,
#[serde(rename = "Processing")]
Processing,
#[serde(rename = "Pending")]
Pending,
#[serde(rename = "Completed")]
Completed,
#[serde(rename = "Canceled")]
Canceled,
#[serde(rename = "Failed")]
Failed,
}
impl std::fmt::Display for TaskState {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Scheduled => write!(f, "Scheduled"),
Self::Rescheduled => write!(f, "Rescheduled"),
Self::Selecting => write!(f, "Selecting"),
Self::Accepted => write!(f, "Accepted"),
Self::Rejected => write!(f, "Rejected"),
Self::Assigned => write!(f, "Assigned"),
Self::Processing => write!(f, "Processing"),
Self::Pending => write!(f, "Pending"),
Self::Completed => write!(f, "Completed"),
Self::Canceled => write!(f, "Canceled"),
Self::Failed => write!(f, "Failed"),
}
}
}
impl Default for TaskState {
fn default() -> TaskState {
Self::Scheduled
}
}