use serde::{Deserialize, Serialize};
use crate::types::{
order::{OrderType, PositionSide},
other::Filter,
};
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub enum TradeSide {
BUY,
SELL,
}
#[derive(Debug, Clone, Deserialize)]
pub struct Position {
pub symbol: String,
pub initial_margin: String,
pub maint_margin: String,
pub unrealized_profit: String,
pub position_initial_margin: String,
pub open_order_initial_margin: String,
pub leverage: String,
pub isolated: bool,
pub entry_price: String,
pub max_notional: String,
pub position_side: PositionSide,
pub position_amt: String,
pub update_time: u64,
}
#[derive(Debug, Clone, Deserialize)]
pub struct Symbol {
pub symbol: String,
pub status: String,
pub base_asset: String,
pub base_asset_precision: u32,
pub quote_asset: String,
pub quote_precision: u32,
pub quote_asset_precision: u32,
pub order_types: Vec<OrderType>,
pub iceberg_allowed: bool,
pub oco_allowed: bool,
pub quote_order_qty_market_allowed: bool,
pub allow_trailing_stop: bool,
pub cancel_replace_allowed: bool,
pub is_spot_trading_allowed: bool,
pub is_margin_trading_allowed: bool,
pub filters: Vec<Filter>,
pub permissions: Vec<String>,
}