tinkoff_api/models/
operation.rs1#[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 #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
32 pub quantity: Option<i32>,
33 #[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 #[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