mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 01:37:31 +00:00
fix(eventstore): tests
This commit is contained in:
@@ -28,3 +28,12 @@ func (r *Repository) IDPConfigByID(ctx context.Context, idpConfigID string) (*ia
|
||||
|
||||
return readModelToIDPConfigView(idpConfig), nil
|
||||
}
|
||||
|
||||
func (r *Repository) AddIDPConfig(ctx context.Context, config *iam_model.IDPConfig) (*iam_model.IDPConfig, error) {
|
||||
iam, err := r.iamByID(ctx, config.AggregateID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
56
internal/v2/repository/idp/configs_read_model.go
Normal file
56
internal/v2/repository/idp/configs_read_model.go
Normal file
@@ -0,0 +1,56 @@
|
||||
package idp
|
||||
|
||||
import (
|
||||
"github.com/caos/zitadel/internal/eventstore/v2"
|
||||
"github.com/caos/zitadel/internal/v2/repository/idp/oidc"
|
||||
)
|
||||
|
||||
type ConfigsReadModel struct {
|
||||
eventstore.ReadModel
|
||||
|
||||
Configs []*ConfigReadModel
|
||||
}
|
||||
|
||||
func (rm *ConfigsReadModel) AppendEvents(events ...eventstore.EventReader) {
|
||||
rm.ReadModel.AppendEvents(events...)
|
||||
for _, event := range events {
|
||||
switch event.(type) {
|
||||
case *oidc.ConfigAddedEvent:
|
||||
rm.OIDCConfig = &oidc.ConfigReadModel{}
|
||||
rm.OIDCConfig.AppendEvents(event)
|
||||
case *oidc.ConfigChangedEvent:
|
||||
rm.OIDCConfig.AppendEvents(event)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (rm *ConfigsReadModel) Reduce() error {
|
||||
for _, event := range rm.Events {
|
||||
switch e := event.(type) {
|
||||
case *ConfigAddedEvent:
|
||||
rm.ConfigID = e.ConfigID
|
||||
rm.Name = e.Name
|
||||
rm.StylingType = e.StylingType
|
||||
rm.State = ConfigStateActive
|
||||
case *ConfigChangedEvent:
|
||||
if e.Name != "" {
|
||||
rm.Name = e.Name
|
||||
}
|
||||
if e.StylingType.Valid() {
|
||||
rm.StylingType = e.StylingType
|
||||
}
|
||||
case *ConfigDeactivatedEvent:
|
||||
rm.State = ConfigStateInactive
|
||||
case *ConfigReactivatedEvent:
|
||||
rm.State = ConfigStateActive
|
||||
case *ConfigRemovedEvent:
|
||||
rm.State = ConfigStateRemoved
|
||||
case *oidc.ConfigAddedEvent:
|
||||
rm.Type = ConfigTypeOIDC
|
||||
}
|
||||
}
|
||||
if err := rm.OIDCConfig.Reduce(); err != nil {
|
||||
return err
|
||||
}
|
||||
return rm.ReadModel.Reduce()
|
||||
}
|
@@ -14,8 +14,7 @@ type ReadModel struct {
|
||||
//NewMemberReadModel is the default constructor of ReadModel
|
||||
func NewMemberReadModel(userID string) *ReadModel {
|
||||
return &ReadModel{
|
||||
ReadModel: *eventstore.NewReadModel(),
|
||||
UserID: userID,
|
||||
UserID: userID,
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -11,13 +11,6 @@ type ReadModel struct {
|
||||
Members []*member.ReadModel
|
||||
}
|
||||
|
||||
func NewMembersReadModel() *ReadModel {
|
||||
return &ReadModel{
|
||||
ReadModel: *eventstore.NewReadModel(),
|
||||
Members: []*member.ReadModel{},
|
||||
}
|
||||
}
|
||||
|
||||
func (rm *ReadModel) MemberByUserID(id string) (idx int, member *member.ReadModel) {
|
||||
for idx, member = range rm.Members {
|
||||
if member.UserID == id {
|
||||
@@ -31,12 +24,12 @@ func (rm *ReadModel) AppendEvents(events ...eventstore.EventReader) {
|
||||
for _, event := range events {
|
||||
switch e := event.(type) {
|
||||
case *member.AddedEvent:
|
||||
member := member.NewMemberReadModel(e.UserID)
|
||||
rm.Members = append(rm.Members, member)
|
||||
member.AppendEvents(e)
|
||||
m := member.NewMemberReadModel(e.UserID)
|
||||
rm.Members = append(rm.Members, m)
|
||||
m.AppendEvents(e)
|
||||
case *member.ChangedEvent:
|
||||
_, member := rm.MemberByUserID(e.UserID)
|
||||
member.AppendEvents(e)
|
||||
_, m := rm.MemberByUserID(e.UserID)
|
||||
m.AppendEvents(e)
|
||||
case *member.RemovedEvent:
|
||||
idx, _ := rm.MemberByUserID(e.UserID)
|
||||
if idx < 0 {
|
||||
@@ -50,8 +43,8 @@ func (rm *ReadModel) AppendEvents(events ...eventstore.EventReader) {
|
||||
}
|
||||
|
||||
func (rm *ReadModel) Reduce() (err error) {
|
||||
for _, member := range rm.Members {
|
||||
err = member.Reduce()
|
||||
for _, m := range rm.Members {
|
||||
err = m.Reduce()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user