oanda-v20-openapi 0.1.0

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: 0.1.0
 * Contact: jmicoud02@gmail.com
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DependentTradeOrdersResponse {
    /// The ID of the most recent Transaction created for the Account
    #[serde(rename = "lastTransactionID", skip_serializing_if = "Option::is_none")]
    pub last_transaction_id: Option<i32>,
    /// The IDs of all Transactions that were created while satisfying the request.
    #[serde(rename = "relatedTransactionIDs", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub related_transaction_ids: Option<Option<Vec<i32>>>,
    #[serde(rename = "takeProfitOrderCancelTransaction", skip_serializing_if = "Option::is_none")]
    pub take_profit_order_cancel_transaction: Option<Box<models::OrderCancelTransaction>>,
    #[serde(rename = "takeProfitOrderTransaction", skip_serializing_if = "Option::is_none")]
    pub take_profit_order_transaction: Option<Box<models::TakeProfitOrderTransaction>>,
    #[serde(rename = "takeProfitOrderFillTransaction", skip_serializing_if = "Option::is_none")]
    pub take_profit_order_fill_transaction: Option<Box<models::OrderFillTransaction>>,
    #[serde(rename = "takeProfitOrderCreatedCancelTransaction", skip_serializing_if = "Option::is_none")]
    pub take_profit_order_created_cancel_transaction: Option<Box<models::OrderCancelTransaction>>,
    #[serde(rename = "stopLossOrderCancelTransaction", skip_serializing_if = "Option::is_none")]
    pub stop_loss_order_cancel_transaction: Option<Box<models::OrderCancelTransaction>>,
    #[serde(rename = "stopLossOrderTransaction", skip_serializing_if = "Option::is_none")]
    pub stop_loss_order_transaction: Option<Box<models::StopLossOrderTransaction>>,
    #[serde(rename = "stopLossOrderFillTransaction", skip_serializing_if = "Option::is_none")]
    pub stop_loss_order_fill_transaction: Option<Box<models::OrderFillTransaction>>,
    #[serde(rename = "stopLossOrderCreatedCancelTransaction", skip_serializing_if = "Option::is_none")]
    pub stop_loss_order_created_cancel_transaction: Option<Box<models::OrderCancelTransaction>>,
    #[serde(rename = "trailingStopLossOrderCancelTransaction", skip_serializing_if = "Option::is_none")]
    pub trailing_stop_loss_order_cancel_transaction: Option<Box<models::OrderCancelTransaction>>,
    #[serde(rename = "trailingStopLossOrderTransaction", skip_serializing_if = "Option::is_none")]
    pub trailing_stop_loss_order_transaction: Option<Box<models::TrailingStopLossOrderTransaction>>,
}

impl DependentTradeOrdersResponse {
    pub fn new() -> DependentTradeOrdersResponse {
        DependentTradeOrdersResponse {
            last_transaction_id: None,
            related_transaction_ids: None,
            take_profit_order_cancel_transaction: None,
            take_profit_order_transaction: None,
            take_profit_order_fill_transaction: None,
            take_profit_order_created_cancel_transaction: None,
            stop_loss_order_cancel_transaction: None,
            stop_loss_order_transaction: None,
            stop_loss_order_fill_transaction: None,
            stop_loss_order_created_cancel_transaction: None,
            trailing_stop_loss_order_cancel_transaction: None,
            trailing_stop_loss_order_transaction: None,
        }
    }
}