smart_id_rust_client/models/
session.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct SessionCertificate {
5    #[serde(skip_serializing_if = "Option::is_none")]
6    pub value: Option<String>,
7    #[serde(skip_serializing_if = "Option::is_none")]
8    #[serde(rename = "certificateLevel")]
9    pub certificate_level: Option<String>,
10}
11
12#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
13pub struct SessionResult {
14    #[serde(rename = "endResult")]
15    pub end_result: String,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    #[serde(rename = "documentNumber")]
18    pub document_number: Option<String>,
19}
20
21#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
22pub struct SessionSignature {
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub algorithm: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub value: Option<String>,
27}
28
29#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
30pub struct SessionStatus {
31    pub state: String,
32    pub result: SessionResult,
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub signature: Option<SessionSignature>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub cert: Option<SessionCertificate>,
37    #[serde(skip_serializing_if = "Option::is_none")]
38    #[serde(rename = "ignoredProperties")]
39    pub ignored_properties: Option<Vec<String>>,
40    #[serde(skip_serializing_if = "Option::is_none")]
41    #[serde(rename = "interactionFlowUsed")]
42    pub interaction_flow_used: Option<String>,
43    #[serde(skip_serializing_if = "Option::is_none")]
44    #[serde(rename = "deviceIpAddress")]
45    pub device_ip_address: Option<String>,
46}
47