diff --git a/internal/project/repository/eventsourcing/eventstore.go b/internal/project/repository/eventsourcing/eventstore.go index 11257c399..b5b5abbf8 100644 --- a/internal/project/repository/eventsourcing/eventstore.go +++ b/internal/project/repository/eventsourcing/eventstore.go @@ -343,11 +343,8 @@ func (es *ProjectEventstore) PrepareRemoveProjectRole(ctx context.Context, role func (es *ProjectEventstore) RemoveRoleFromGrants(existing *model.Project, roleKey string) []*model.ProjectGrant { grants := make([]*model.ProjectGrant, 0) for _, grant := range existing.Grants { - for i, role := range grant.RoleKeys { - if role == roleKey { - grant.RoleKeys[i] = grant.RoleKeys[len(grant.RoleKeys)-1] - grant.RoleKeys[len(grant.RoleKeys)-1] = "" - grant.RoleKeys = grant.RoleKeys[:len(grant.RoleKeys)-1] + for _, role := range grant.RoleKeys { + if role != roleKey { grants = append(grants, grant) } }