use crate::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BatchItemState {
#[serde(rename = "PENDING")]
Pending,
#[serde(rename = "VALIDATED")]
Validated,
#[serde(rename = "VALIDATION_FAILED")]
ValidationFailed,
#[serde(rename = "STARTED")]
Started,
#[serde(rename = "RETRYING")]
Retrying,
#[serde(rename = "COMPLETED")]
Completed,
#[serde(rename = "COMPLETED_WITH_ERRORS")]
CompletedWithErrors,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for BatchItemState {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Pending => write!(f, "PENDING"),
Self::Validated => write!(f, "VALIDATED"),
Self::ValidationFailed => write!(f, "VALIDATION_FAILED"),
Self::Started => write!(f, "STARTED"),
Self::Retrying => write!(f, "RETRYING"),
Self::Completed => write!(f, "COMPLETED"),
Self::CompletedWithErrors => write!(f, "COMPLETED_WITH_ERRORS"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for BatchItemState {
fn default() -> BatchItemState {
Self::Pending
}
}