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 Operation {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "status")]
    pub status: crate::models::OperationStatus,
    #[serde(rename = "trades", skip_serializing_if = "Option::is_none")]
    pub trades: Option<Vec<crate::models::OperationTrade>>,
    #[serde(rename = "commission", skip_serializing_if = "Option::is_none")]
    pub commission: Option<crate::models::MoneyAmount>,
    #[serde(rename = "currency")]
    pub currency: crate::models::Currency,
    #[serde(rename = "payment")]
    pub payment: f64,
    #[serde(rename = "price", skip_serializing_if = "Option::is_none")]
    pub price: Option<f64>,
    /// Число инструментов в выставленной заявке
    #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
    pub quantity: Option<i32>,
    /// Число инструментов, исполненных в заявке
    #[serde(rename = "quantityExecuted", skip_serializing_if = "Option::is_none")]
    pub quantity_executed: Option<i32>,
    #[serde(rename = "figi", skip_serializing_if = "Option::is_none")]
    pub figi: Option<String>,
    #[serde(rename = "instrumentType", skip_serializing_if = "Option::is_none")]
    pub instrument_type: Option<crate::models::InstrumentType>,
    #[serde(rename = "isMarginCall")]
    pub is_margin_call: bool,
    /// ISO8601
    #[serde(rename = "date")]
    pub date: String,
    #[serde(rename = "operationType", skip_serializing_if = "Option::is_none")]
    pub operation_type: Option<crate::models::OperationTypeWithCommission>,
}

impl Operation {
    pub fn new(id: String, status: crate::models::OperationStatus, currency: crate::models::Currency, payment: f64, is_margin_call: bool, date: String) -> Operation {
        Operation {
            id,
            status,
            trades: None,
            commission: None,
            currency,
            payment,
            price: None,
            quantity: None,
            quantity_executed: None,
            figi: None,
            instrument_type: None,
            is_margin_call,
            date,
            operation_type: None,
        }
    }
}