diff --git a/internal/project/repository/eventsourcing/eventstore.go b/internal/project/repository/eventsourcing/eventstore.go index c1fc97b366..0f277af08c 100644 --- a/internal/project/repository/eventsourcing/eventstore.go +++ b/internal/project/repository/eventsourcing/eventstore.go @@ -342,14 +342,15 @@ func (es *ProjectEventstore) PrepareRemoveProjectRole(ctx context.Context, role func (es *ProjectEventstore) RemoveRoleFromGrants(existing *model.Project, roleKey string) []*model.ProjectGrant { grants := make([]*model.ProjectGrant, len(existing.Grants)) for i, grant := range existing.Grants { + newGrant := *grant roles := make([]string, 0) - for _, role := range grant.RoleKeys { + for _, role := range newGrant.RoleKeys { if role != roleKey { roles = append(roles, role) } } - grant.RoleKeys = roles - grants[i] = grant + newGrant.RoleKeys = roles + grants[i] = &newGrant } return grants }