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}
58
59impl MasterPasswordUnlockAndAuthenticationDataModel {
60 pub fn new(
61 kdf_type: models::KdfType,
62 kdf_iterations: i32,
63 email: Option<String>,
64 master_key_authentication_hash: Option<String>,
65 master_key_encrypted_user_key: Option<String>,
66 ) -> MasterPasswordUnlockAndAuthenticationDataModel {
67 MasterPasswordUnlockAndAuthenticationDataModel {
68 kdf_type,
69 kdf_iterations,
70 kdf_memory: None,
71 kdf_parallelism: None,
72 email,
73 master_key_authentication_hash,
74 master_key_encrypted_user_key,
75 master_password_hint: None,
76 master_password_salt: None,
77 }
78 }
79}