use {
crate::models,
serde::{Deserialize, Serialize},
};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OrderStatus {
#[serde(rename = "CREATED")]
Created,
#[serde(rename = "PENDING_USER_ACTION")]
PendingUserAction,
#[serde(rename = "PROCESSING")]
Processing,
#[serde(rename = "CANCELED")]
Canceled,
#[serde(rename = "COMPLETED")]
Completed,
#[serde(rename = "FAILED")]
Failed,
}
impl std::fmt::Display for OrderStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Created => write!(f, "CREATED"),
Self::PendingUserAction => write!(f, "PENDING_USER_ACTION"),
Self::Processing => write!(f, "PROCESSING"),
Self::Canceled => write!(f, "CANCELED"),
Self::Completed => write!(f, "COMPLETED"),
Self::Failed => write!(f, "FAILED"),
}
}
}
impl Default for OrderStatus {
fn default() -> OrderStatus {
Self::Created
}
}