use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MarketOrderReason {
#[serde(rename = "CLIENT_ORDER")]
ClientOrder,
#[serde(rename = "TRADE_CLOSE")]
TradeClose,
#[serde(rename = "POSITION_CLOSEOUT")]
PositionCloseout,
#[serde(rename = "MARGIN_CLOSEOUT")]
MarginCloseout,
#[serde(rename = "DELAYED_TRADE_CLOSE")]
DelayedTradeClose,
}
impl std::fmt::Display for MarketOrderReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::ClientOrder => write!(f, "CLIENT_ORDER"),
Self::TradeClose => write!(f, "TRADE_CLOSE"),
Self::PositionCloseout => write!(f, "POSITION_CLOSEOUT"),
Self::MarginCloseout => write!(f, "MARGIN_CLOSEOUT"),
Self::DelayedTradeClose => write!(f, "DELAYED_TRADE_CLOSE"),
}
}
}
impl Default for MarketOrderReason {
fn default() -> MarketOrderReason {
Self::ClientOrder
}
}