Skip to main content

oanda_v20_openapi/models/
account_changes.rs

1/*
2 * OANDA v20 API
3 *
4 * The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
5 *
6 * The version of the OpenAPI document: 0.2.1
7 * Contact: jmicoud02@gmail.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// 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.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AccountChanges {
17    /// The Orders created. These Orders may have been filled, cancelled or triggered in the same period.
18    #[serde(rename = "ordersCreated", skip_serializing_if = "Option::is_none")]
19    pub orders_created: Option<Vec<models::Order>>,
20    /// The Orders cancelled.
21    #[serde(rename = "ordersCancelled", skip_serializing_if = "Option::is_none")]
22    pub orders_cancelled: Option<Vec<models::Order>>,
23    /// The Orders filled.
24    #[serde(rename = "ordersFilled", skip_serializing_if = "Option::is_none")]
25    pub orders_filled: Option<Vec<models::Order>>,
26    /// The Orders triggered.
27    #[serde(rename = "ordersTriggered", skip_serializing_if = "Option::is_none")]
28    pub orders_triggered: Option<Vec<models::Order>>,
29    /// The Trades opened.
30    #[serde(rename = "tradesOpened", skip_serializing_if = "Option::is_none")]
31    pub trades_opened: Option<Vec<models::TradeSummary>>,
32    /// The Trades reduced.
33    #[serde(rename = "tradesReduced", skip_serializing_if = "Option::is_none")]
34    pub trades_reduced: Option<Vec<models::TradeSummary>>,
35    /// The Trades closed.
36    #[serde(rename = "tradesClosed", skip_serializing_if = "Option::is_none")]
37    pub trades_closed: Option<Vec<models::TradeSummary>>,
38    /// The Positions changed.
39    #[serde(rename = "positions", skip_serializing_if = "Option::is_none")]
40    pub positions: Option<Vec<models::Position>>,
41    /// The Transactions that have been generated.
42    #[serde(rename = "transactions", skip_serializing_if = "Option::is_none")]
43    pub transactions: Option<Vec<models::Transaction>>,
44}
45
46impl AccountChanges {
47    /// 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.
48    pub fn new() -> AccountChanges {
49        AccountChanges {
50            orders_created: None,
51            orders_cancelled: None,
52            orders_filled: None,
53            orders_triggered: None,
54            trades_opened: None,
55            trades_reduced: None,
56            trades_closed: None,
57            positions: None,
58            transactions: None,
59        }
60    }
61}
62