From 5add7eae6d2355c253243926afb89a3f8d895643 Mon Sep 17 00:00:00 2001 From: Fabi <38692350+fgerschwiler@users.noreply.github.com> Date: Thu, 9 Jul 2020 17:28:14 +0200 Subject: [PATCH] fix: rolecascade (#434) * fix: project role delete * fix: project role delete --- internal/project/repository/eventsourcing/eventstore.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 }