feat(bolt): clean up user resource mappings after deleting resources

pull/10616/head
Jade McGough 2018-10-25 01:20:06 -07:00
parent 095c2be65f
commit da7086c325
4 changed files with 27 additions and 4 deletions

View File

@ -419,5 +419,11 @@ func (c *Client) deleteBucket(ctx context.Context, tx *bolt.Tx, id platform.ID)
if err != nil {
return err
}
return tx.Bucket(bucketBucket).Delete(encodedID)
if err := tx.Bucket(bucketBucket).Delete(encodedID); err != nil {
return err
}
return c.deleteUserResourceMappings(ctx, tx, platform.UserResourceMappingFilter{
ResourceID: id,
ResourceType: platform.BucketResourceType,
})
}

View File

@ -422,5 +422,11 @@ func (c *Client) deleteDashboard(ctx context.Context, tx *bolt.Tx, id platform.I
if err != nil {
return err
}
return tx.Bucket(dashboardBucket).Delete(encodedID)
if err := tx.Bucket(dashboardBucket).Delete(encodedID); err != nil {
return err
}
return c.deleteUserResourceMappings(ctx, tx, platform.UserResourceMappingFilter{
ResourceID: id,
ResourceType: platform.DashboardResourceType,
})
}

View File

@ -318,7 +318,12 @@ func (c *Client) deleteUser(ctx context.Context, tx *bolt.Tx, id platform.ID) er
if err := tx.Bucket(userIndex).Delete(userIndexKey(u.Name)); err != nil {
return err
}
return tx.Bucket(userBucket).Delete(encodedID)
if err := tx.Bucket(userBucket).Delete(encodedID); err != nil {
return err
}
return c.deleteUserResourceMappings(ctx, tx, platform.UserResourceMappingFilter{
UserID: id,
})
}
func (c *Client) deleteUsersAuthorizations(ctx context.Context, tx *bolt.Tx, id platform.ID) error {

View File

@ -266,5 +266,11 @@ func (c *Client) deleteView(ctx context.Context, tx *bolt.Tx, id platform.ID) er
if err != nil {
return err
}
return tx.Bucket(viewBucket).Delete(encodedID)
if err := tx.Bucket(viewBucket).Delete(encodedID); err != nil {
return err
}
return c.deleteUserResourceMappings(ctx, tx, platform.UserResourceMappingFilter{
ResourceID: id,
ResourceType: platform.ViewResourceType,
})
}