use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OrderCancellationFailureReason {
#[serde(rename = "ORDER_NOT_FOUND")]
OrderNotFound,
#[serde(rename = "MARKET_NOT_FOUND")]
MarketNotFound,
#[serde(rename = "ACCOUNT_NOT_FOUND")]
AccountNotFound,
#[serde(rename = "NO_OPEN_ORDERS_ON_MARKET")]
NoOpenOrdersOnMarket,
#[serde(rename = "NO_FAILURE")]
NoFailure,
#[serde(rename = "UNSPECIFIED")]
Unspecified,
}
impl std::fmt::Display for OrderCancellationFailureReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::OrderNotFound => write!(f, "ORDER_NOT_FOUND"),
Self::MarketNotFound => write!(f, "MARKET_NOT_FOUND"),
Self::AccountNotFound => write!(f, "ACCOUNT_NOT_FOUND"),
Self::NoOpenOrdersOnMarket => write!(f, "NO_OPEN_ORDERS_ON_MARKET"),
Self::NoFailure => write!(f, "NO_FAILURE"),
Self::Unspecified => write!(f, "UNSPECIFIED"),
}
}
}
impl Default for OrderCancellationFailureReason {
fn default() -> OrderCancellationFailureReason {
Self::OrderNotFound
}
}