package iam import ( "context" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/repository/policy" ) const ( PasswordComplexityPolicyAddedEventType = iamEventTypePrefix + policy.PasswordComplexityPolicyAddedEventType PasswordComplexityPolicyChangedEventType = iamEventTypePrefix + policy.PasswordComplexityPolicyChangedEventType ) type PasswordComplexityPolicyAddedEvent struct { policy.PasswordComplexityPolicyAddedEvent } func NewPasswordComplexityPolicyAddedEvent( ctx context.Context, aggregate *eventstore.Aggregate, minLength uint64, hasLowercase, hasUppercase, hasNumber, hasSymbol bool, ) *PasswordComplexityPolicyAddedEvent { return &PasswordComplexityPolicyAddedEvent{ PasswordComplexityPolicyAddedEvent: *policy.NewPasswordComplexityPolicyAddedEvent( eventstore.NewBaseEventForPush( ctx, aggregate, PasswordComplexityPolicyAddedEventType), minLength, hasLowercase, hasUppercase, hasNumber, hasSymbol), } } func PasswordComplexityPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { e, err := policy.PasswordComplexityPolicyAddedEventMapper(event) if err != nil { return nil, err } return &PasswordComplexityPolicyAddedEvent{PasswordComplexityPolicyAddedEvent: *e.(*policy.PasswordComplexityPolicyAddedEvent)}, nil } type PasswordComplexityPolicyChangedEvent struct { policy.PasswordComplexityPolicyChangedEvent } func NewPasswordComplexityPolicyChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, changes []policy.PasswordComplexityPolicyChanges, ) (*PasswordComplexityPolicyChangedEvent, error) { changedEvent, err := policy.NewPasswordComplexityPolicyChangedEvent( eventstore.NewBaseEventForPush( ctx, aggregate, PasswordComplexityPolicyChangedEventType), changes, ) if err != nil { return nil, err } return &PasswordComplexityPolicyChangedEvent{PasswordComplexityPolicyChangedEvent: *changedEvent}, nil } func PasswordComplexityPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { e, err := policy.PasswordComplexityPolicyChangedEventMapper(event) if err != nil { return nil, err } return &PasswordComplexityPolicyChangedEvent{PasswordComplexityPolicyChangedEvent: *e.(*policy.PasswordComplexityPolicyChangedEvent)}, nil }