use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TransactionStatus {
#[serde(rename = "FAILED")]
Failed,
#[serde(rename = "FAILED_CREDITS_APPLIED")]
FailedCreditsApplied,
#[serde(rename = "INITIATED")]
Initiated,
#[serde(rename = "IN_PROGRESS")]
InProgress,
#[serde(rename = "PAYEE_UNDER_REVIEW")]
PayeeUnderReview,
#[serde(rename = "SUCCESSFUL")]
Successful,
}
impl std::fmt::Display for TransactionStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Failed => write!(f, "FAILED"),
Self::FailedCreditsApplied => write!(f, "FAILED_CREDITS_APPLIED"),
Self::Initiated => write!(f, "INITIATED"),
Self::InProgress => write!(f, "IN_PROGRESS"),
Self::PayeeUnderReview => write!(f, "PAYEE_UNDER_REVIEW"),
Self::Successful => write!(f, "SUCCESSFUL"),
}
}
}
impl Default for TransactionStatus {
fn default() -> TransactionStatus {
Self::Failed
}
}