oanda-v20-openapi 3.0.25

The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
Documentation
/*
 * OANDA v20 API
 *
 * The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
 *
 * The version of the OpenAPI document: 3.0.25
 * Contact: api@oanda.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// AccountChanges : An AccountChanges Object is used to represent the changes to an Account's Orders, Trades and Positions since a specified Account TransactionID in the past.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccountChanges {
    /// The Orders created. These Orders may have been filled, cancelled or triggered in the same period.
    #[serde(rename = "ordersCreated", skip_serializing_if = "Option::is_none")]
    pub orders_created: Option<Vec<models::Order>>,
    /// The Orders cancelled.
    #[serde(rename = "ordersCancelled", skip_serializing_if = "Option::is_none")]
    pub orders_cancelled: Option<Vec<models::Order>>,
    /// The Orders filled.
    #[serde(rename = "ordersFilled", skip_serializing_if = "Option::is_none")]
    pub orders_filled: Option<Vec<models::Order>>,
    /// The Orders triggered.
    #[serde(rename = "ordersTriggered", skip_serializing_if = "Option::is_none")]
    pub orders_triggered: Option<Vec<models::Order>>,
    /// The Trades opened.
    #[serde(rename = "tradesOpened", skip_serializing_if = "Option::is_none")]
    pub trades_opened: Option<Vec<models::TradeSummary>>,
    /// The Trades reduced.
    #[serde(rename = "tradesReduced", skip_serializing_if = "Option::is_none")]
    pub trades_reduced: Option<Vec<models::TradeSummary>>,
    /// The Trades closed.
    #[serde(rename = "tradesClosed", skip_serializing_if = "Option::is_none")]
    pub trades_closed: Option<Vec<models::TradeSummary>>,
    /// The Positions changed.
    #[serde(rename = "positions", skip_serializing_if = "Option::is_none")]
    pub positions: Option<Vec<models::Position>>,
    /// The Transactions that have been generated.
    #[serde(rename = "transactions", skip_serializing_if = "Option::is_none")]
    pub transactions: Option<Vec<models::Transaction>>,
}

impl AccountChanges {
    /// An AccountChanges Object is used to represent the changes to an Account's Orders, Trades and Positions since a specified Account TransactionID in the past.
    pub fn new() -> AccountChanges {
        AccountChanges {
            orders_created: None,
            orders_cancelled: None,
            orders_filled: None,
            orders_triggered: None,
            trades_opened: None,
            trades_reduced: None,
            trades_closed: None,
            positions: None,
            transactions: None,
        }
    }
}