deriv_api_schema/
mt5_login_list_item.rs

1
2// Generated automatically by schema_generator.rs - DO NOT EDIT.
3// Source: ./deriv-api-docs/config/v3/mt5_login_list/receive.json
4
5// Use direct crate names for imports within generated files
6use serde::{Deserialize, Serialize}; 
7use serde_json::Value;
8
9
10
11// Import shared types from the *same* crate
12use crate::sub_account_category::SubAccountCategory; 
13use crate::product::Product; 
14use crate::sub_account_type::SubAccountType; 
15use crate::server_info::ServerInfo; 
16use crate::error::Error; 
17use crate::white_label_links::WhiteLabelLinks; 
18use crate::client_kyc_status::ClientKycStatus; 
19use crate::landing_company_short::LandingCompanyShort; 
20use crate::market_type::MarketType; 
21use crate::account_type::AccountType; 
22use crate::rights::Rights; 
23
24// It's a struct
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(rename_all = "snake_case")]
27pub struct Mt5LoginListItem {
28    /// Account type.\n
29    // Correct serde attribute construction - Use helper
30    #[serde(skip_serializing_if = "Option::is_none")] 
31    pub account_type: Option<AccountType>,
32    /// Balance of the MT5 account.\n
33    // Correct serde attribute construction - Use helper
34    #[serde(skip_serializing_if = "Option::is_none")] 
35    pub balance: Option<f64>,
36    /// [Optional] Pertains to client KYC. Returned only if the client fails to meet the requirements, including proof of identity (POI), validity of the tax identification number (TIN), and proof of address (POA).\n
37    // Correct serde attribute construction - Use helper
38    #[serde(skip_serializing_if = "Option::is_none")] 
39    pub client_kyc_status: Option<ClientKycStatus>,
40    /// Residence of the MT5 account.\n
41    // Correct serde attribute construction - Use helper
42    #[serde(skip_serializing_if = "Option::is_none")] 
43    pub country: Option<String>,
44    /// Currency of the MT5 account.\n
45    // Correct serde attribute construction - Use helper
46    #[serde(skip_serializing_if = "Option::is_none")] 
47    pub currency: Option<String>,
48    /// Account balance, formatted to appropriate decimal places.\n
49    // Correct serde attribute construction - Use helper
50    #[serde(skip_serializing_if = "Option::is_none")] 
51    pub display_balance: Option<String>,
52    /// [Optional] Determines the eligibility status for migrating a client account based on verification and account type.\n
53    // Correct serde attribute construction - Use helper
54    #[serde(skip_serializing_if = "Option::is_none")] 
55    pub eligible_to_migrate: Option<Value>,
56    /// Email address of the MT5 account.\n
57    // Correct serde attribute construction - Use helper
58    #[serde(skip_serializing_if = "Option::is_none")] 
59    pub email: Option<String>,
60    /// Error in MT5 account details.\n
61    // Correct serde attribute construction - Use helper
62    #[serde(skip_serializing_if = "Option::is_none")] 
63    pub error: Option<Error>,
64    /// Group type of the MT5 account, e.g. `demo\svg_financial`\n
65    // Correct serde attribute construction - Use helper
66    #[serde(skip_serializing_if = "Option::is_none")] 
67    pub group: Option<String>,
68    /// Indicate if the account is a main agent - an IB account\n
69    // Correct serde attribute construction - Use helper
70    #[serde(skip_serializing_if = "Option::is_none")] 
71    pub is_main_agent: Option<bool>,
72    /// Broker name\n
73    // Correct serde attribute construction - Use helper
74    #[serde(skip_serializing_if = "Option::is_none")] 
75    pub landing_company: Option<String>,
76    /// Landing company shortcode of the MT5 account.\n
77    // Correct serde attribute construction - Use helper
78    #[serde(skip_serializing_if = "Option::is_none")] 
79    pub landing_company_short: Option<LandingCompanyShort>,
80    /// Leverage of the MT5 account (1 to 1000).\n
81    // Correct serde attribute construction - Use helper
82    #[serde(skip_serializing_if = "Option::is_none")] 
83    pub leverage: Option<f64>,
84    /// Login of MT5 account.\n
85    // Correct serde attribute construction - Use helper
86    #[serde(skip_serializing_if = "Option::is_none")] 
87    pub login: Option<String>,
88    /// Market type\n
89    // Correct serde attribute construction - Use helper
90    #[serde(skip_serializing_if = "Option::is_none")] 
91    pub market_type: Option<MarketType>,
92    /// Name of the owner of the MT5 account.\n
93    // Correct serde attribute construction - Use helper
94    #[serde(skip_serializing_if = "Option::is_none")] 
95    pub name: Option<String>,
96    /// Product name that Deriv offer\n
97    // Correct serde attribute construction - Use helper
98    #[serde(skip_serializing_if = "Option::is_none")] 
99    pub product: Option<Product>,
100    /// Timestamp of the latest MT5 request.\n
101    // Correct serde attribute construction - Use helper
102    #[serde(skip_serializing_if = "Option::is_none")] 
103    pub request_timestamp: Option<i64>,
104    /// Rights assigned to the MT5 account.\n
105    // Correct serde attribute construction - Use helper
106    #[serde(skip_serializing_if = "Option::is_none")] 
107    pub rights: Option<Rights>,
108    /// Trade server name of the MT5 account.\n
109    // Correct serde attribute construction - Use helper
110    #[serde(skip_serializing_if = "Option::is_none")] 
111    pub server: Option<String>,
112    /// Trade server information.\n
113    // Correct serde attribute construction - Use helper
114    #[serde(skip_serializing_if = "Option::is_none")] 
115    pub server_info: Option<ServerInfo>,
116    /// MT5 account status.\n
117    // Correct serde attribute construction - Use helper
118    #[serde(skip_serializing_if = "Option::is_none")] 
119    pub status: Option<Value>,
120    /// Sub account category refer to the additional risk management\n
121    // Correct serde attribute construction - Use helper
122    #[serde(skip_serializing_if = "Option::is_none")] 
123    pub sub_account_category: Option<SubAccountCategory>,
124    /// Sub account type refer to different offerings that we have for mt5\n
125    // Correct serde attribute construction - Use helper
126    #[serde(skip_serializing_if = "Option::is_none")] 
127    pub sub_account_type: Option<SubAccountType>,
128    /// MT5 webtrader url for each mt5 platform\n
129    // Correct serde attribute construction - Use helper
130    #[serde(skip_serializing_if = "Option::is_none")] 
131    pub webtrader_url: Option<String>,
132    /// Links to access MT5 application for different platforms.\n
133    // Correct serde attribute construction - Use helper
134    #[serde(skip_serializing_if = "Option::is_none")] 
135    pub white_label_links: Option<WhiteLabelLinks>,
136}
137