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_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.notes = data.notes;
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
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);
}

View File

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

View File

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