bitwarden_api_api/models/
master_password_unlock_and_authentication_data_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct MasterPasswordUnlockAndAuthenticationDataModel {
17 #[serde(rename = "kdfType", alias = "KdfType")]
18 pub kdf_type: models::KdfType,
19 #[serde(rename = "kdfIterations", alias = "KdfIterations")]
20 pub kdf_iterations: i32,
21 #[serde(
22 rename = "kdfMemory",
23 alias = "KdfMemory",
24 skip_serializing_if = "Option::is_none"
25 )]
26 pub kdf_memory: Option<i32>,
27 #[serde(
28 rename = "kdfParallelism",
29 alias = "KdfParallelism",
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub kdf_parallelism: Option<i32>,
33 #[serde(rename = "email", alias = "Email")]
34 pub email: Option<String>,
35 #[serde(
36 rename = "masterKeyAuthenticationHash",
37 alias = "MasterKeyAuthenticationHash"
38 )]
39 pub master_key_authentication_hash: Option<String>,
40 #[serde(
41 rename = "masterKeyEncryptedUserKey",
42 alias = "MasterKeyEncryptedUserKey"
43 )]
44 pub master_key_encrypted_user_key: Option<String>,
45 #[serde(
46 rename = "masterPasswordHint",
47 alias = "MasterPasswordHint",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub master_password_hint: Option<String>,
51 #[serde(
52 rename = "masterPasswordSalt",
53 alias = "MasterPasswordSalt",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub master_password_salt: Option<String>,
57 #[serde(
58 rename = "containedKeyId",
59 alias = "ContainedKeyId",
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub contained_key_id: Option<String>,
63}
64
65impl MasterPasswordUnlockAndAuthenticationDataModel {
66 pub fn new(
67 kdf_type: models::KdfType,
68 kdf_iterations: i32,
69 email: Option<String>,
70 master_key_authentication_hash: Option<String>,
71 master_key_encrypted_user_key: Option<String>,
72 ) -> MasterPasswordUnlockAndAuthenticationDataModel {
73 MasterPasswordUnlockAndAuthenticationDataModel {
74 kdf_type,
75 kdf_iterations,
76 kdf_memory: None,
77 kdf_parallelism: None,
78 email,
79 master_key_authentication_hash,
80 master_key_encrypted_user_key,
81 master_password_hint: None,
82 master_password_salt: None,
83 contained_key_id: None,
84 }
85 }
86}