use serde::{Deserialize, Serialize};
use strum::{Display, EnumString};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Display, EnumString)]
#[serde(rename_all = "camelCase")]
#[strum(serialize_all = "camelCase")]
pub enum TransactionStatus {
Completed,
Failed,
Unprocessed,
Sending,
Unproven,
Unsigned,
Nosend,
Nonfinal,
Unfail,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Display, EnumString)]
#[serde(rename_all = "camelCase")]
#[strum(serialize_all = "camelCase")]
pub enum ProvenTxReqStatus {
Sending,
Unsent,
Nosend,
Unknown,
Nonfinal,
Unprocessed,
Unmined,
Callback,
Unconfirmed,
Completed,
Invalid,
DoubleSpend,
Unfail,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Display, EnumString)]
#[serde(rename_all = "camelCase")]
#[strum(serialize_all = "camelCase")]
pub enum SyncStatus {
Success,
Error,
Identified,
Updated,
Unknown,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Display, EnumString)]
#[serde(rename_all = "camelCase")]
#[strum(serialize_all = "camelCase")]
pub enum OutputStatus {
Unspent,
Spent,
}
#[cfg(any(feature = "sqlite", feature = "mysql", feature = "postgres"))]
impl_sqlx_string_enum!(TransactionStatus);
#[cfg(any(feature = "sqlite", feature = "mysql", feature = "postgres"))]
impl_sqlx_string_enum!(ProvenTxReqStatus);
#[cfg(any(feature = "sqlite", feature = "mysql", feature = "postgres"))]
impl_sqlx_string_enum!(SyncStatus);
#[cfg(any(feature = "sqlite", feature = "mysql", feature = "postgres"))]
impl_sqlx_string_enum!(OutputStatus);