1
0
Fork 0

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

Dieser Commit ist enthalten in:
Daniel García 2018-03-21 01:07:48 +01:00
Ursprung 3b2b4d8382
Commit b1749da9be

Datei anzeigen

@ -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
if !copy_values(&type_data, &mut values) {
err!("Data invalid")
}
copy_values(&type_data, &mut values);
cipher.data = values.to_string();
Ok(())
}
fn copy_values(from: &Value, to: &mut Value) -> bool {
let map = match from.as_object() {
Some(map) => map,
None => return false
};
fn copy_values(from: &Value, to: &mut Value) {
if let Some(map) = from.as_object() {
for (key, val) in map {
copy_values(val, &mut to[util::upcase_first(key)]);
}
for (key, val) in map {
to[util::upcase_first(key)] = val.clone();
} 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]);
}
} else {
*to = from.clone();
}
true
}
use super::folders::FolderData;