lightspark/objects/
transaction_status.rs1use serde::{Deserialize, Serialize};
3use serde_json::Value;
4use std::fmt;
5
6#[derive(Debug, Clone, Deserialize, Serialize)]
8pub enum TransactionStatus {
9 #[serde(rename = "SUCCESS")]
12 Success,
13 #[serde(rename = "FAILED")]
16 Failed,
17 #[serde(rename = "PENDING")]
20 Pending,
21 #[serde(rename = "NOT_STARTED")]
24 NotStarted,
25 #[serde(rename = "EXPIRED")]
28 Expired,
29 #[serde(rename = "CANCELLED")]
32 Cancelled,
33}
34
35impl From<TransactionStatus> for Value {
36 fn from(val: TransactionStatus) -> Self {
37 Value::from(val.to_string())
38 }
39}
40
41impl fmt::Display for TransactionStatus {
42 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
43 match self {
44 Self::Success => write!(f, "SUCCESS"),
45 Self::Failed => write!(f, "FAILED"),
46 Self::Pending => write!(f, "PENDING"),
47 Self::NotStarted => write!(f, "NOT_STARTED"),
48 Self::Expired => write!(f, "EXPIRED"),
49 Self::Cancelled => write!(f, "CANCELLED"),
50 }
51 }
52}