Fix SSN field in Identity cipher not loading correctly

It needs to be all uppercase otherwise the web vault doesn't load it
pull/41/head
Daniel García 7 years ago
parent 3b09750b76
commit 57850a3379

@ -209,7 +209,8 @@ fn update_cipher_from_data(cipher: &mut Cipher, data: CipherData, headers: &Head
fn copy_values(from: &Value, to: &mut Value) { fn copy_values(from: &Value, to: &mut Value) {
if let Some(map) = from.as_object() { if let Some(map) = from.as_object() {
for (key, val) in map { for (key, val) in map {
copy_values(val, &mut to[util::upcase_first(key)]); let processed_key = _process_key(key);
copy_values(val, &mut to[processed_key]);
} }
} else if let Some(array) = from.as_array() { } else if let Some(array) = from.as_array() {
// Initialize array with null values // Initialize array with null values
@ -223,6 +224,13 @@ fn copy_values(from: &Value, to: &mut Value) {
} }
} }
fn _process_key(key: &str) -> String {
match key.to_lowercase().as_ref() {
"ssn" => "SSN".into(),
key => util::upcase_first(key)
}
}
use super::folders::FolderData; use super::folders::FolderData;
#[derive(Deserialize)] #[derive(Deserialize)]

Loading…
Cancel
Save