tinkoff_api/models/
portfolio_position.rs

1/*
2 * OpenAPI
3 *
4 * tinkoff.ru/invest OpenAPI.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * Contact: al.a.volkov@tinkoff.ru
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PortfolioPosition {
16    #[serde(rename = "figi")]
17    pub figi: String,
18    #[serde(rename = "ticker", skip_serializing_if = "Option::is_none")]
19    pub ticker: Option<String>,
20    #[serde(rename = "isin", skip_serializing_if = "Option::is_none")]
21    pub isin: Option<String>,
22    #[serde(rename = "instrumentType")]
23    pub instrument_type: crate::models::InstrumentType,
24    #[serde(rename = "balance")]
25    pub balance: f64,
26    #[serde(rename = "blocked", skip_serializing_if = "Option::is_none")]
27    pub blocked: Option<f64>,
28    #[serde(rename = "expectedYield", skip_serializing_if = "Option::is_none")]
29    pub expected_yield: Option<crate::models::MoneyAmount>,
30    #[serde(rename = "lots")]
31    pub lots: i32,
32    #[serde(rename = "averagePositionPrice", skip_serializing_if = "Option::is_none")]
33    pub average_position_price: Option<crate::models::MoneyAmount>,
34    #[serde(rename = "averagePositionPriceNoNkd", skip_serializing_if = "Option::is_none")]
35    pub average_position_price_no_nkd: Option<crate::models::MoneyAmount>,
36    #[serde(rename = "name")]
37    pub name: String,
38}
39
40impl PortfolioPosition {
41    pub fn new(figi: String, instrument_type: crate::models::InstrumentType, balance: f64, lots: i32, name: String) -> PortfolioPosition {
42        PortfolioPosition {
43            figi,
44            ticker: None,
45            isin: None,
46            instrument_type,
47            balance,
48            blocked: None,
49            expected_yield: None,
50            lots,
51            average_position_price: None,
52            average_position_price_no_nkd: None,
53            name,
54        }
55    }
56}
57
58