diff --git a/auth/service.go b/auth/service.go index 58707ddf5e6..fa3c532d30e 100644 --- a/auth/service.go +++ b/auth/service.go @@ -759,36 +759,21 @@ func (svc service) UnassignUsers(ctx context.Context, token, id string, userIds } } - // Remove only non-admins. - if err := svc.removeDomainPolicies(ctx, id, MemberRelation, ids...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } - - if err := svc.removeDomainPolicies(ctx, id, ViewerRelation, ids...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } - - if err := svc.removeDomainPolicies(ctx, id, EditorRelation, ids...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } + for _, rel := range []string{MemberRelation, ViewerRelation, EditorRelation} { + // Remove only non-admins. + if err := svc.removeDomainPolicies(ctx, id, rel, ids...); err != nil { + return errors.Wrap(errRemovePolicies, err) + } + } } // If user is admin, remove all policies from all users. - if err := svc.removeDomainPolicies(ctx, id, MemberRelation, userIds...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } - - if err := svc.removeDomainPolicies(ctx, id, ViewerRelation, userIds...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } - - if err := svc.removeDomainPolicies(ctx, id, EditorRelation, userIds...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } - - if err := svc.removeDomainPolicies(ctx, id, AdministratorRelation, userIds...); err != nil { - return errors.Wrap(errRemovePolicies, err) - } + for _, rel := range []string{MemberRelation, ViewerRelation, EditorRelation} { + // Remove only non-admins. + if err := svc.removeDomainPolicies(ctx, id, rel, ids...); err != nil { + return errors.Wrap(errRemovePolicies, err) + } + } return nil }