fireblocks_sdk/models/
session_dto.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct SessionDto {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "userId")]
21 pub user_id: String,
22 #[serde(rename = "sessionMetadata")]
24 pub session_metadata: models::SessionMetadata,
25 #[serde(rename = "vaultAccountId")]
27 pub vault_account_id: f64,
28 #[serde(rename = "feeLevel")]
30 pub fee_level: FeeLevel,
31 #[serde(rename = "chainIds")]
33 pub chain_ids: Vec<String>,
34 #[serde(rename = "connectionType")]
36 pub connection_type: ConnectionType,
37 #[serde(rename = "connectionMethod")]
39 pub connection_method: ConnectionMethod,
40 #[serde(rename = "creationDate")]
42 pub creation_date: String,
43}
44
45impl SessionDto {
46 pub fn new(
47 id: String,
48 user_id: String,
49 session_metadata: models::SessionMetadata,
50 vault_account_id: f64,
51 fee_level: FeeLevel,
52 chain_ids: Vec<String>,
53 connection_type: ConnectionType,
54 connection_method: ConnectionMethod,
55 creation_date: String,
56 ) -> SessionDto {
57 SessionDto {
58 id,
59 user_id,
60 session_metadata,
61 vault_account_id,
62 fee_level,
63 chain_ids,
64 connection_type,
65 connection_method,
66 creation_date,
67 }
68 }
69}
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum FeeLevel {
73 #[serde(rename = "MEDIUM")]
74 Medium,
75 #[serde(rename = "HIGH")]
76 High,
77}
78
79impl Default for FeeLevel {
80 fn default() -> FeeLevel {
81 Self::Medium
82 }
83}
84#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
86pub enum ConnectionType {
87 #[serde(rename = "WalletConnect")]
88 WalletConnect,
89}
90
91impl Default for ConnectionType {
92 fn default() -> ConnectionType {
93 Self::WalletConnect
94 }
95}
96#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
98pub enum ConnectionMethod {
99 #[serde(rename = "DESKTOP")]
100 Desktop,
101 #[serde(rename = "MOBILE")]
102 Mobile,
103 #[serde(rename = "API")]
104 Api,
105}
106
107impl Default for ConnectionMethod {
108 fn default() -> ConnectionMethod {
109 Self::Desktop
110 }
111}