tinkoff_api/models/
operation.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 Operation {
16    #[serde(rename = "id")]
17    pub id: String,
18    #[serde(rename = "status")]
19    pub status: crate::models::OperationStatus,
20    #[serde(rename = "trades", skip_serializing_if = "Option::is_none")]
21    pub trades: Option<Vec<crate::models::OperationTrade>>,
22    #[serde(rename = "commission", skip_serializing_if = "Option::is_none")]
23    pub commission: Option<crate::models::MoneyAmount>,
24    #[serde(rename = "currency")]
25    pub currency: crate::models::Currency,
26    #[serde(rename = "payment")]
27    pub payment: f64,
28    #[serde(rename = "price", skip_serializing_if = "Option::is_none")]
29    pub price: Option<f64>,
30    /// Число инструментов в выставленной заявке
31    #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
32    pub quantity: Option<i32>,
33    /// Число инструментов, исполненных в заявке
34    #[serde(rename = "quantityExecuted", skip_serializing_if = "Option::is_none")]
35    pub quantity_executed: Option<i32>,
36    #[serde(rename = "figi", skip_serializing_if = "Option::is_none")]
37    pub figi: Option<String>,
38    #[serde(rename = "instrumentType", skip_serializing_if = "Option::is_none")]
39    pub instrument_type: Option<crate::models::InstrumentType>,
40    #[serde(rename = "isMarginCall")]
41    pub is_margin_call: bool,
42    /// ISO8601
43    #[serde(rename = "date")]
44    pub date: String,
45    #[serde(rename = "operationType", skip_serializing_if = "Option::is_none")]
46    pub operation_type: Option<crate::models::OperationTypeWithCommission>,
47}
48
49impl Operation {
50    pub fn new(id: String, status: crate::models::OperationStatus, currency: crate::models::Currency, payment: f64, is_margin_call: bool, date: String) -> Operation {
51        Operation {
52            id,
53            status,
54            trades: None,
55            commission: None,
56            currency,
57            payment,
58            price: None,
59            quantity: None,
60            quantity_executed: None,
61            figi: None,
62            instrument_type: None,
63            is_margin_call,
64            date,
65            operation_type: None,
66        }
67    }
68}
69
70