package iam import ( "context" "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/eventstore/v2" "github.com/caos/zitadel/internal/eventstore/v2/repository" "github.com/caos/zitadel/internal/v2/domain" "github.com/caos/zitadel/internal/v2/repository/idpconfig" ) const ( IDPOIDCConfigAddedEventType eventstore.EventType = "iam.idp." + idpconfig.OIDCConfigAddedEventType IDPOIDCConfigChangedEventType eventstore.EventType = "iam.idp." + idpconfig.ConfigChangedEventType ) type IDPOIDCConfigAddedEvent struct { idpconfig.OIDCConfigAddedEvent } func NewIDPOIDCConfigAddedEvent( ctx context.Context, clientID, idpConfigID, issuer string, clientSecret *crypto.CryptoValue, idpDisplayNameMapping, userNameMapping domain.OIDCMappingField, scopes ...string, ) *IDPOIDCConfigAddedEvent { return &IDPOIDCConfigAddedEvent{ OIDCConfigAddedEvent: *idpconfig.NewOIDCConfigAddedEvent( eventstore.NewBaseEventForPush( ctx, IDPOIDCConfigAddedEventType, ), clientID, idpConfigID, issuer, clientSecret, idpDisplayNameMapping, userNameMapping, scopes..., ), } } func IDPOIDCConfigAddedEventMapper(event *repository.Event) (eventstore.EventReader, error) { e, err := idpconfig.OIDCConfigAddedEventMapper(event) if err != nil { return nil, err } return &IDPOIDCConfigAddedEvent{OIDCConfigAddedEvent: *e.(*idpconfig.OIDCConfigAddedEvent)}, nil } type IDPOIDCConfigChangedEvent struct { idpconfig.OIDCConfigChangedEvent } func NewIDPOIDCConfigChangedEvent( ctx context.Context, ) *IDPOIDCConfigChangedEvent { return &IDPOIDCConfigChangedEvent{ OIDCConfigChangedEvent: *idpconfig.NewOIDCConfigChangedEvent( eventstore.NewBaseEventForPush(ctx, IDPOIDCConfigChangedEventType), ), } } func IDPOIDCConfigChangedEventMapper(event *repository.Event) (eventstore.EventReader, error) { e, err := idpconfig.OIDCConfigChangedEventMapper(event) if err != nil { return nil, err } return &IDPOIDCConfigChangedEvent{OIDCConfigChangedEvent: *e.(*idpconfig.OIDCConfigChangedEvent)}, nil }