tinkoff-api 1.0.0

A tinkoff-api library generated by openapi-generator for rust
Documentation
/*
 * OpenAPI
 *
 * tinkoff.ru/invest OpenAPI.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: al.a.volkov@tinkoff.ru
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PortfolioPosition {
    #[serde(rename = "figi")]
    pub figi: String,
    #[serde(rename = "ticker", skip_serializing_if = "Option::is_none")]
    pub ticker: Option<String>,
    #[serde(rename = "isin", skip_serializing_if = "Option::is_none")]
    pub isin: Option<String>,
    #[serde(rename = "instrumentType")]
    pub instrument_type: crate::models::InstrumentType,
    #[serde(rename = "balance")]
    pub balance: f64,
    #[serde(rename = "blocked", skip_serializing_if = "Option::is_none")]
    pub blocked: Option<f64>,
    #[serde(rename = "expectedYield", skip_serializing_if = "Option::is_none")]
    pub expected_yield: Option<crate::models::MoneyAmount>,
    #[serde(rename = "lots")]
    pub lots: i32,
    #[serde(rename = "averagePositionPrice", skip_serializing_if = "Option::is_none")]
    pub average_position_price: Option<crate::models::MoneyAmount>,
    #[serde(rename = "averagePositionPriceNoNkd", skip_serializing_if = "Option::is_none")]
    pub average_position_price_no_nkd: Option<crate::models::MoneyAmount>,
    #[serde(rename = "name")]
    pub name: String,
}

impl PortfolioPosition {
    pub fn new(figi: String, instrument_type: crate::models::InstrumentType, balance: f64, lots: i32, name: String) -> PortfolioPosition {
        PortfolioPosition {
            figi,
            ticker: None,
            isin: None,
            instrument_type,
            balance,
            blocked: None,
            expected_yield: None,
            lots,
            average_position_price: None,
            average_position_price_no_nkd: None,
            name,
        }
    }
}