fix: check existing idp (#809)

* fix: logs

* Update Dockerfile

* Fallback to old Docker file

* fix: for loop

* fix: for loop

* fix: for loop

* fix: remove logs

* fix: remove logs

Co-authored-by: Florian Forster <florian@caos.ch>
This commit is contained in:
Fabi
2020-10-05 17:14:08 +02:00
committed by GitHub
parent 103d786ad2
commit f939eab133
10 changed files with 19351 additions and 9460 deletions

View File

@@ -2,7 +2,6 @@ package eventsourcing
import (
"context"
"github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/models"
"github.com/caos/zitadel/internal/iam/repository/eventsourcing/model"
@@ -316,30 +315,44 @@ func checkExistingLoginPolicyIDPProviderValidation(idpConfigID string) func(...*
switch event.Type {
case model.IDPConfigAdded:
config := new(model.IDPConfig)
config.SetData(event)
err := config.SetData(event)
if err != nil {
return err
}
idpConfigs = append(idpConfigs, config)
case model.IDPConfigRemoved:
config := new(model.IDPConfig)
config.SetData(event)
for i, p := range idpConfigs {
if p.IDPConfigID == config.IDPConfigID {
err := config.SetData(event)
if err != nil {
return err
}
for i := len(idpConfigs) - 1; i >= 0; i-- {
if idpConfigs[i].IDPConfigID == config.IDPConfigID {
idpConfigs[i] = idpConfigs[len(idpConfigs)-1]
idpConfigs[len(idpConfigs)-1] = nil
idpConfigs = idpConfigs[:len(idpConfigs)-1]
break
}
}
case model.LoginPolicyIDPProviderAdded:
idp := new(model.IDPProvider)
idp.SetData(event)
err := idp.SetData(event)
if err != nil {
return err
}
idps = append(idps, idp)
case model.LoginPolicyIDPProviderRemoved:
idp := new(model.IDPProvider)
idp.SetData(event)
for i, p := range idps {
if p.IDPConfigID == idp.IDPConfigID {
err := idp.SetData(event)
if err != nil {
return err
}
for i := len(idps) - 1; i >= 0; i-- {
if idps[i].IDPConfigID == idp.IDPConfigID {
idps[i] = idps[len(idps)-1]
idps[len(idps)-1] = nil
idps = idps[:len(idps)-1]
break
}
}
}