Improve Folder::delete() to handle FolderCipher

This commit is contained in:
Miroslav Prasil
2018-05-16 17:19:52 +01:00
parent 795d98afa6
commit e54b52f109
4 changed files with 30 additions and 15 deletions

View File

@ -176,7 +176,12 @@ fn delete_account(data: Json<PasswordData>, headers: Headers, conn: DbConn) -> E
}
// Delete folders
for f in Folder::find_by_user(&user.uuid, &conn) { f.delete(&conn); }
for f in Folder::find_by_user(&user.uuid, &conn) {
match f.delete(&conn) {
Ok(()) => (),
Err(_) => err!("Failed deleting folder")
}
}
// Delete devices
for d in Device::find_by_user(&user.uuid, &conn) { d.delete(&conn); }

View File

@ -557,7 +557,12 @@ fn delete_all(data: Json<PasswordData>, headers: Headers, conn: DbConn) -> Empty
}
// Delete folders
for f in Folder::find_by_user(&user.uuid, &conn) { f.delete(&conn); }
for f in Folder::find_by_user(&user.uuid, &conn) {
match f.delete(&conn) {
Ok(()) => (),
Err(_) => err!("Failed deleting folder")
}
}
Ok(())
}

View File

@ -89,11 +89,9 @@ fn delete_folder(uuid: String, headers: Headers, conn: DbConn) -> EmptyResult {
err!("Folder belongs to another user")
}
// Delete FolderCipher mappings
for fc in FolderCipher::find_by_folder(&uuid, &conn) { fc.delete(&conn).expect("Error deleting mapping"); }
// Delete the actual folder entry
folder.delete(&conn);
Ok(())
match folder.delete(&conn) {
Ok(()) => Ok(()),
Err(_) => err!("Failed deleting folder")
}
}