Browse Source
delete emergency access invitations
if an invited user is deleted in the /admin panel their emergency
access invitation will remain in the database which causes
the to_json_grantee_details fn to panic
pull/4337/head
Stefan Melmuk
1 year ago
No known key found for this signature in database
GPG Key ID: 817020C608FE9C09
2 changed files with
8 additions and
0 deletions
src/db/models/emergency_access.rs
src/db/models/user.rs
@ -214,6 +214,13 @@ impl EmergencyAccess {
Ok ( ( ) )
}
pub async fn delete_all_by_grantee_email ( grantee_email : & str , conn : & mut DbConn ) -> EmptyResult {
for ea in Self ::find_all_invited_by_grantee_email ( grantee_email , conn ) . await {
ea . delete ( conn ) . await ? ;
}
Ok ( ( ) )
}
pub async fn delete ( self , conn : & mut DbConn ) -> EmptyResult {
User ::update_uuid_revision ( & self . grantor_uuid , conn ) . await ;
@ -311,6 +311,7 @@ impl User {
Send ::delete_all_by_user ( & self . uuid , conn ) . await ? ;
EmergencyAccess ::delete_all_by_user ( & self . uuid , conn ) . await ? ;
EmergencyAccess ::delete_all_by_grantee_email ( & self . email , conn ) . await ? ;
UserOrganization ::delete_all_by_user ( & self . uuid , conn ) . await ? ;
Cipher ::delete_all_by_user ( & self . uuid , conn ) . await ? ;
Favorite ::delete_all_by_user ( & self . uuid , conn ) . await ? ;