use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccountPositionUpdate {
#[serde(rename = "symbol")]
pub symbol: String,
#[serde(rename = "avgEntryPriceE9")]
pub avg_entry_price_e9: String,
#[serde(rename = "clientSetLeverageE9")]
pub client_set_leverage_e9: String,
#[serde(rename = "liquidationPriceE9")]
pub liquidation_price_e9: String,
#[serde(rename = "markPriceE9")]
pub mark_price_e9: String,
#[serde(rename = "notionalValueE9")]
pub notional_value_e9: String,
#[serde(rename = "sizeE9")]
pub size_e9: String,
#[serde(rename = "unrealizedPnlE9")]
pub unrealized_pnl_e9: String,
#[serde(rename = "side")]
pub side: models::PositionSide,
#[serde(rename = "marginRequiredE9")]
pub margin_required_e9: String,
#[serde(rename = "maintenanceMarginE9")]
pub maintenance_margin_e9: String,
#[serde(rename = "isIsolated")]
pub is_isolated: bool,
#[serde(rename = "isolatedMarginE9")]
pub isolated_margin_e9: String,
#[serde(rename = "updatedAtMillis")]
pub updated_at_millis: i64,
}
impl AccountPositionUpdate {
pub fn new(symbol: String, avg_entry_price_e9: String, client_set_leverage_e9: String, liquidation_price_e9: String, mark_price_e9: String, notional_value_e9: String, size_e9: String, unrealized_pnl_e9: String, side: models::PositionSide, margin_required_e9: String, maintenance_margin_e9: String, is_isolated: bool, isolated_margin_e9: String, updated_at_millis: i64) -> AccountPositionUpdate {
AccountPositionUpdate {
symbol,
avg_entry_price_e9,
client_set_leverage_e9,
liquidation_price_e9,
mark_price_e9,
notional_value_e9,
size_e9,
unrealized_pnl_e9,
side,
margin_required_e9,
maintenance_margin_e9,
is_isolated,
isolated_margin_e9,
updated_at_millis,
}
}
}