Fixed cipher API response to always uppercase first letter of JSON object keys

pull/1/head
Daniel García 7 years ago
parent 3b2b4d8382
commit b1749da9be

@ -176,26 +176,30 @@ fn update_cipher_from_data(cipher: &mut Cipher, data: CipherData, headers: &Head
}; };
// Copy the type data and change the names to the correct case // Copy the type data and change the names to the correct case
if !copy_values(&type_data, &mut values) { copy_values(&type_data, &mut values);
err!("Data invalid")
}
cipher.data = values.to_string(); cipher.data = values.to_string();
Ok(()) Ok(())
} }
fn copy_values(from: &Value, to: &mut Value) -> bool { fn copy_values(from: &Value, to: &mut Value) {
let map = match from.as_object() { if let Some(map) = from.as_object() {
Some(map) => map,
None => return false
};
for (key, val) in map { for (key, val) in map {
to[util::upcase_first(key)] = val.clone(); copy_values(val, &mut to[util::upcase_first(key)]);
}
} else if let Some(array) = from.as_array() {
// Initialize array with null values
*to = json!(vec![Value::Null; array.len()]);
for (index, val) in array.iter().enumerate() {
copy_values(val, &mut to[index]);
} }
true } else {
*to = from.clone();
}
} }
use super::folders::FolderData; use super::folders::FolderData;

Loading…
Cancel
Save