1
0
mirror of https://github.com/dani-garcia/vaultwarden.git synced 2024-11-11 13:32:38 +01:00

Fix FolderCipher creation, handle some errors

This commit is contained in:
Miroslav Prasil 2018-05-01 16:54:22 +01:00
parent 514a372bc8
commit c3be1b4298
3 changed files with 12 additions and 8 deletions

View File

@ -174,7 +174,9 @@ 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
copy_values(&type_data, &mut values); copy_values(&type_data, &mut values);
cipher.move_to_folder(data.folderId, &headers.user.uuid, &conn); if cipher.move_to_folder(data.folderId, &headers.user.uuid, &conn).is_err() {
err!("Error saving the folder information")
}
cipher.name = data.name; cipher.name = data.name;
cipher.notes = data.notes; cipher.notes = data.notes;
cipher.fields = uppercase_fields.map(|f| f.to_string()); cipher.fields = uppercase_fields.map(|f| f.to_string());
@ -429,7 +431,9 @@ fn move_cipher_selected(data: Json<Value>, headers: Headers, conn: DbConn) -> Em
} }
// Move cipher // Move cipher
cipher.move_to_folder(folder_id.clone(), &headers.user.uuid, &conn); if cipher.move_to_folder(folder_id.clone(), &headers.user.uuid, &conn).is_err() {
err!("Error saving the folder information")
}
cipher.save(&conn); cipher.save(&conn);
} }

View File

@ -163,10 +163,10 @@ impl Cipher {
current_folder.delete(&conn).or(Err("Failed removing old folder mapping")) current_folder.delete(&conn).or(Err("Failed removing old folder mapping"))
}, },
None => Ok(()) // Weird, but nothing to do None => Ok(()) // Weird, but nothing to do
}; }.and_then(
|()| FolderCipher::new(&new_folder, &self.uuid)
FolderCipher::new(&new_folder, &self.uuid) .save(&conn).or(Err("Couldn't save folder setting"))
.save(&conn).or(Err("Couldn't save folder setting")) )
} }
}, },
None => { None => {

View File

@ -55,10 +55,10 @@ impl Folder {
} }
impl FolderCipher { impl FolderCipher {
pub fn new(cipher_uuid: &str, folder_uuid: &str) -> Self { pub fn new(folder_uuid: &str, cipher_uuid: &str) -> Self {
Self { Self {
cipher_uuid: cipher_uuid.to_string(),
folder_uuid: folder_uuid.to_string(), folder_uuid: folder_uuid.to_string(),
cipher_uuid: cipher_uuid.to_string(),
} }
} }
} }