fix: change to repository event types and removed unused code (#3386)

* fix: change to repository event types and removed unused code

* some fixes

* remove unused code
This commit is contained in:
Livio Amstutz
2022-03-31 11:36:26 +02:00
committed by GitHub
parent 55af4a18a2
commit 87560157c1
170 changed files with 999 additions and 9581 deletions

View File

@@ -4,9 +4,9 @@ import (
"encoding/json"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type Address struct {
@@ -39,28 +39,6 @@ func (a *Address) Changes(changed *Address) map[string]interface{} {
return changes
}
func AddressFromModel(address *model.Address) *Address {
return &Address{
ObjectRoot: address.ObjectRoot,
Country: address.Country,
Locality: address.Locality,
PostalCode: address.PostalCode,
Region: address.Region,
StreetAddress: address.StreetAddress,
}
}
func AddressToModel(address *Address) *model.Address {
return &model.Address{
ObjectRoot: address.ObjectRoot,
Country: address.Country,
Locality: address.Locality,
PostalCode: address.PostalCode,
Region: address.Region,
StreetAddress: address.StreetAddress,
}
}
func (u *Human) appendUserAddressChangedEvent(event *es_models.Event) error {
if u.Address == nil {
u.Address = new(Address)

View File

@@ -2,12 +2,12 @@ package model
import (
"encoding/json"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"net"
"github.com/caos/zitadel/internal/auth_request/model"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
)
type AuthRequest struct {
@@ -17,51 +17,12 @@ type AuthRequest struct {
*BrowserInfo
}
func AuthRequestFromModel(request *model.AuthRequest) *AuthRequest {
req := &AuthRequest{
ID: request.ID,
UserAgentID: request.AgentID,
SelectedIDPConfigID: request.SelectedIDPConfigID,
}
if request.BrowserInfo != nil {
req.BrowserInfo = BrowserInfoFromModel(request.BrowserInfo)
}
return req
}
func AuthRequestToModel(request *AuthRequest) *model.AuthRequest {
req := &model.AuthRequest{
ID: request.ID,
AgentID: request.UserAgentID,
SelectedIDPConfigID: request.SelectedIDPConfigID,
}
if request.BrowserInfo != nil {
req.BrowserInfo = BrowserInfoToModel(request.BrowserInfo)
}
return req
}
type BrowserInfo struct {
UserAgent string `json:"userAgent,omitempty"`
AcceptLanguage string `json:"acceptLanguage,omitempty"`
RemoteIP net.IP `json:"remoteIP,omitempty"`
}
func BrowserInfoFromModel(info *model.BrowserInfo) *BrowserInfo {
return &BrowserInfo{
UserAgent: info.UserAgent,
AcceptLanguage: info.AcceptLanguage,
RemoteIP: info.RemoteIP,
}
}
func BrowserInfoToModel(info *BrowserInfo) *model.BrowserInfo {
return &model.BrowserInfo{
UserAgent: info.UserAgent,
AcceptLanguage: info.AcceptLanguage,
RemoteIP: info.RemoteIP,
}
}
func (a *AuthRequest) SetData(event *es_models.Event) error {
if err := json.Unmarshal(event.Data, a); err != nil {
logging.Log("EVEN-T5df6").WithError(err).Error("could not unmarshal event data")

View File

@@ -5,10 +5,10 @@ import (
"time"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/crypto"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type Email struct {
@@ -33,41 +33,6 @@ func (e *Email) Changes(changed *Email) map[string]interface{} {
return changes
}
func EmailFromModel(email *model.Email) *Email {
return &Email{
ObjectRoot: email.ObjectRoot,
EmailAddress: email.EmailAddress,
IsEmailVerified: email.IsEmailVerified,
}
}
func EmailToModel(email *Email) *model.Email {
return &model.Email{
ObjectRoot: email.ObjectRoot,
EmailAddress: email.EmailAddress,
IsEmailVerified: email.IsEmailVerified,
}
}
func EmailCodeFromModel(code *model.EmailCode) *EmailCode {
if code == nil {
return nil
}
return &EmailCode{
ObjectRoot: code.ObjectRoot,
Expiry: code.Expiry,
Code: code.Code,
}
}
func EmailCodeToModel(code *EmailCode) *model.EmailCode {
return &model.EmailCode{
ObjectRoot: code.ObjectRoot,
Expiry: code.Expiry,
Code: code.Code,
}
}
func (u *Human) appendUserEmailChangedEvent(event *es_models.Event) error {
u.Email = new(Email)
return u.Email.setData(event)

View File

@@ -2,10 +2,11 @@ package model
import (
"encoding/json"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type ExternalIDP struct {
@@ -24,43 +25,6 @@ func GetExternalIDP(idps []*ExternalIDP, id string) (int, *ExternalIDP) {
}
return -1, nil
}
func ExternalIDPsToModel(externalIDPs []*ExternalIDP) []*model.ExternalIDP {
convertedIDPs := make([]*model.ExternalIDP, len(externalIDPs))
for i, m := range externalIDPs {
convertedIDPs[i] = ExternalIDPToModel(m)
}
return convertedIDPs
}
func ExternalIDPsFromModel(externalIDPs []*model.ExternalIDP) []*ExternalIDP {
convertedIDPs := make([]*ExternalIDP, len(externalIDPs))
for i, m := range externalIDPs {
convertedIDPs[i] = ExternalIDPFromModel(m)
}
return convertedIDPs
}
func ExternalIDPFromModel(idp *model.ExternalIDP) *ExternalIDP {
if idp == nil {
return nil
}
return &ExternalIDP{
ObjectRoot: idp.ObjectRoot,
IDPConfigID: idp.IDPConfigID,
UserID: idp.UserID,
DisplayName: idp.DisplayName,
}
}
func ExternalIDPToModel(idp *ExternalIDP) *model.ExternalIDP {
return &model.ExternalIDP{
ObjectRoot: idp.ObjectRoot,
IDPConfigID: idp.IDPConfigID,
UserID: idp.UserID,
}
}
func (u *Human) appendExternalIDPAddedEvent(event *es_models.Event) error {
idp := new(ExternalIDP)
err := idp.setData(event)

View File

@@ -5,10 +5,10 @@ import (
"time"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/crypto"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type Password struct {
@@ -31,42 +31,6 @@ type PasswordChange struct {
UserAgentID string `json:"userAgentID,omitempty"`
}
func PasswordFromModel(password *model.Password) *Password {
return &Password{
ObjectRoot: password.ObjectRoot,
Secret: password.SecretCrypto,
ChangeRequired: password.ChangeRequired,
}
}
func PasswordToModel(password *Password) *model.Password {
return &model.Password{
ObjectRoot: password.ObjectRoot,
SecretCrypto: password.Secret,
ChangeRequired: password.ChangeRequired,
}
}
func PasswordCodeToModel(code *PasswordCode) *model.PasswordCode {
return &model.PasswordCode{
ObjectRoot: code.ObjectRoot,
Expiry: code.Expiry,
Code: code.Code,
NotificationType: model.NotificationType(code.NotificationType),
}
}
func PasswordChangeFromModel(password *model.Password, userAgentID string) *PasswordChange {
return &PasswordChange{
Password: Password{
ObjectRoot: password.ObjectRoot,
Secret: password.SecretCrypto,
ChangeRequired: password.ChangeRequired,
},
UserAgentID: userAgentID,
}
}
func (u *Human) appendUserPasswordChangedEvent(event *es_models.Event) error {
u.Password = new(Password)
err := u.Password.setData(event)

View File

@@ -5,10 +5,10 @@ import (
"time"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/crypto"
caos_errs "github.com/caos/zitadel/internal/errors"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type Phone struct {
@@ -33,41 +33,6 @@ func (p *Phone) Changes(changed *Phone) map[string]interface{} {
return changes
}
func PhoneFromModel(phone *model.Phone) *Phone {
return &Phone{
ObjectRoot: phone.ObjectRoot,
PhoneNumber: phone.PhoneNumber,
IsPhoneVerified: phone.IsPhoneVerified,
}
}
func PhoneToModel(phone *Phone) *model.Phone {
return &model.Phone{
ObjectRoot: phone.ObjectRoot,
PhoneNumber: phone.PhoneNumber,
IsPhoneVerified: phone.IsPhoneVerified,
}
}
func PhoneCodeFromModel(code *model.PhoneCode) *PhoneCode {
if code == nil {
return nil
}
return &PhoneCode{
ObjectRoot: code.ObjectRoot,
Expiry: code.Expiry,
Code: code.Code,
}
}
func PhoneCodeToModel(code *PhoneCode) *model.PhoneCode {
return &model.PhoneCode{
ObjectRoot: code.ObjectRoot,
Expiry: code.Expiry,
Code: code.Code,
}
}
func (u *Human) appendUserPhoneChangedEvent(event *es_models.Event) error {
u.Phone = new(Phone)
return u.Phone.setData(event)

View File

@@ -6,7 +6,6 @@ import (
"golang.org/x/text/language"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
)
type Profile struct {
@@ -43,30 +42,6 @@ func (p *Profile) Changes(changed *Profile) map[string]interface{} {
return changes
}
func ProfileFromModel(profile *model.Profile) *Profile {
return &Profile{
ObjectRoot: profile.ObjectRoot,
FirstName: profile.FirstName,
LastName: profile.LastName,
NickName: profile.NickName,
DisplayName: profile.DisplayName,
PreferredLanguage: LanguageTag(profile.PreferredLanguage),
Gender: int32(profile.Gender),
}
}
func ProfileToModel(profile *Profile) *model.Profile {
return &model.Profile{
ObjectRoot: profile.ObjectRoot,
FirstName: profile.FirstName,
LastName: profile.LastName,
NickName: profile.NickName,
DisplayName: profile.DisplayName,
PreferredLanguage: language.Tag(profile.PreferredLanguage),
Gender: model.Gender(profile.Gender),
}
}
type LanguageTag language.Tag
func (t *LanguageTag) UnmarshalJSON(data []byte) error {

View File

@@ -5,9 +5,11 @@ import (
"time"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
user_repo "github.com/caos/zitadel/internal/repository/user"
)
type Token struct {
@@ -22,32 +24,6 @@ type Token struct {
PreferredLanguage string `json:"preferredLanguage" gorm:"column:preferred_language"`
}
func TokenFromModel(token *model.Token) *Token {
return &Token{
ObjectRoot: token.ObjectRoot,
TokenID: token.TokenID,
ApplicationID: token.ApplicationID,
UserAgentID: token.UserAgentID,
Audience: token.Audience,
Scopes: token.Scopes,
Expiration: token.Expiration,
PreferredLanguage: token.PreferredLanguage,
}
}
func TokenToModel(token *Token) *model.Token {
return &model.Token{
ObjectRoot: token.ObjectRoot,
TokenID: token.TokenID,
ApplicationID: token.ApplicationID,
UserAgentID: token.UserAgentID,
Audience: token.Audience,
Scopes: token.Scopes,
Expiration: token.Expiration,
PreferredLanguage: token.PreferredLanguage,
}
}
func (t *Token) AppendEvents(events ...*es_models.Event) error {
for _, event := range events {
if err := t.AppendEvent(event); err != nil {
@@ -59,8 +35,8 @@ func (t *Token) AppendEvents(events ...*es_models.Event) error {
}
func (t *Token) AppendEvent(event *es_models.Event) error {
switch event.Type {
case UserTokenAdded:
switch eventstore.EventType(event.Type) {
case user_repo.UserTokenAddedType:
err := t.setData(event)
if err != nil {
return err

View File

@@ -1,154 +0,0 @@
package model
import "github.com/caos/zitadel/internal/eventstore/v1/models"
//aggregates
const (
UserAggregate models.AggregateType = "user"
UserUserNameAggregate models.AggregateType = "user.username"
UserExternalIDPAggregate models.AggregateType = "user.human.externalidp"
)
// the following consts are for user v1 events
const (
UserAdded models.EventType = "user.added"
UserRegistered models.EventType = "user.selfregistered"
InitializedUserCodeAdded models.EventType = "user.initialization.code.added"
InitializedUserCodeSent models.EventType = "user.initialization.code.sent"
InitializedUserCheckSucceeded models.EventType = "user.initialization.check.succeeded"
InitializedUserCheckFailed models.EventType = "user.initialization.check.failed"
UserUserNameReserved models.EventType = "user.username.reserved"
UserUserNameReleased models.EventType = "user.username.released"
UserPasswordChanged models.EventType = "user.password.changed"
UserPasswordCodeAdded models.EventType = "user.password.code.added"
UserPasswordCodeSent models.EventType = "user.password.code.sent"
UserPasswordCheckSucceeded models.EventType = "user.password.check.succeeded"
UserPasswordCheckFailed models.EventType = "user.password.check.failed"
UserEmailChanged models.EventType = "user.email.changed"
UserEmailVerified models.EventType = "user.email.verified"
UserEmailVerificationFailed models.EventType = "user.email.verification.failed"
UserEmailCodeAdded models.EventType = "user.email.code.added"
UserEmailCodeSent models.EventType = "user.email.code.sent"
UserPhoneChanged models.EventType = "user.phone.changed"
UserPhoneRemoved models.EventType = "user.phone.removed"
UserPhoneVerified models.EventType = "user.phone.verified"
UserPhoneVerificationFailed models.EventType = "user.phone.verification.failed"
UserPhoneCodeAdded models.EventType = "user.phone.code.added"
UserPhoneCodeSent models.EventType = "user.phone.code.sent"
UserProfileChanged models.EventType = "user.profile.changed"
UserAddressChanged models.EventType = "user.address.changed"
UserUserNameChanged models.EventType = "user.username.changed"
MFAOTPAdded models.EventType = "user.mfa.otp.added"
MFAOTPVerified models.EventType = "user.mfa.otp.verified"
MFAOTPRemoved models.EventType = "user.mfa.otp.removed"
MFAOTPCheckSucceeded models.EventType = "user.mfa.otp.check.succeeded"
MFAOTPCheckFailed models.EventType = "user.mfa.otp.check.failed"
MFAInitSkipped models.EventType = "user.mfa.init.skipped"
SignedOut models.EventType = "user.signed.out"
)
//the following consts are for user(v2)
const (
UserNameReserved models.EventType = "user.username.reserved"
UserNameReleased models.EventType = "user.username.released"
UserLocked models.EventType = "user.locked"
UserUnlocked models.EventType = "user.unlocked"
UserDeactivated models.EventType = "user.deactivated"
UserReactivated models.EventType = "user.reactivated"
UserRemoved models.EventType = "user.removed"
UserTokenAdded models.EventType = "user.token.added"
DomainClaimed models.EventType = "user.domain.claimed"
DomainClaimedSent models.EventType = "user.domain.claimed.sent"
UserMetadataSet models.EventType = "user.metadata.set"
UserMetadataRemoved models.EventType = "user.metadata.removed"
UserMetadataRemovedAll models.EventType = "user.metadata.removed.all"
)
// the following consts are for user(v2).human
const (
HumanAdded models.EventType = "user.human.added"
HumanRegistered models.EventType = "user.human.selfregistered"
InitializedHumanCodeAdded models.EventType = "user.human.initialization.code.added"
InitializedHumanCodeSent models.EventType = "user.human.initialization.code.sent"
InitializedHumanCheckSucceeded models.EventType = "user.human.initialization.check.succeeded"
InitializedHumanCheckFailed models.EventType = "user.human.initialization.check.failed"
HumanPasswordChanged models.EventType = "user.human.password.changed"
HumanPasswordCodeAdded models.EventType = "user.human.password.code.added"
HumanPasswordCodeSent models.EventType = "user.human.password.code.sent"
HumanPasswordCheckSucceeded models.EventType = "user.human.password.check.succeeded"
HumanPasswordCheckFailed models.EventType = "user.human.password.check.failed"
HumanExternalLoginCheckSucceeded models.EventType = "user.human.externallogin.check.succeeded"
HumanExternalIDPReserved models.EventType = "user.human.externalidp.reserved"
HumanExternalIDPReleased models.EventType = "user.human.externalidp.released"
HumanExternalIDPAdded models.EventType = "user.human.externalidp.added"
HumanExternalIDPRemoved models.EventType = "user.human.externalidp.removed"
HumanExternalIDPCascadeRemoved models.EventType = "user.human.externalidp.cascade.removed"
HumanAvatarAdded models.EventType = "user.human.avatar.added"
HumanAvatarRemoved models.EventType = "user.human.avatar.removed"
HumanEmailChanged models.EventType = "user.human.email.changed"
HumanEmailVerified models.EventType = "user.human.email.verified"
HumanEmailVerificationFailed models.EventType = "user.human.email.verification.failed"
HumanEmailCodeAdded models.EventType = "user.human.email.code.added"
HumanEmailCodeSent models.EventType = "user.human.email.code.sent"
HumanPhoneChanged models.EventType = "user.human.phone.changed"
HumanPhoneRemoved models.EventType = "user.human.phone.removed"
HumanPhoneVerified models.EventType = "user.human.phone.verified"
HumanPhoneVerificationFailed models.EventType = "user.human.phone.verification.failed"
HumanPhoneCodeAdded models.EventType = "user.human.phone.code.added"
HumanPhoneCodeSent models.EventType = "user.human.phone.code.sent"
HumanProfileChanged models.EventType = "user.human.profile.changed"
HumanAddressChanged models.EventType = "user.human.address.changed"
HumanMFAOTPAdded models.EventType = "user.human.mfa.otp.added"
HumanMFAOTPVerified models.EventType = "user.human.mfa.otp.verified"
HumanMFAOTPRemoved models.EventType = "user.human.mfa.otp.removed"
HumanMFAOTPCheckSucceeded models.EventType = "user.human.mfa.otp.check.succeeded"
HumanMFAOTPCheckFailed models.EventType = "user.human.mfa.otp.check.failed"
HumanMFAInitSkipped models.EventType = "user.human.mfa.init.skipped"
HumanMFAU2FTokenAdded models.EventType = "user.human.mfa.u2f.token.added"
HumanMFAU2FTokenVerified models.EventType = "user.human.mfa.u2f.token.verified"
HumanMFAU2FTokenSignCountChanged models.EventType = "user.human.mfa.u2f.token.signcount.changed"
HumanMFAU2FTokenRemoved models.EventType = "user.human.mfa.u2f.token.removed"
HumanMFAU2FTokenBeginLogin models.EventType = "user.human.mfa.u2f.token.begin.login"
HumanMFAU2FTokenCheckSucceeded models.EventType = "user.human.mfa.u2f.token.check.succeeded"
HumanMFAU2FTokenCheckFailed models.EventType = "user.human.mfa.u2f.token.check.failed"
HumanPasswordlessTokenAdded models.EventType = "user.human.passwordless.token.added"
HumanPasswordlessTokenVerified models.EventType = "user.human.passwordless.token.verified"
HumanPasswordlessTokenChangeSignCount models.EventType = "user.human.passwordless.token.signcount.changed"
HumanPasswordlessTokenRemoved models.EventType = "user.human.passwordless.token.removed"
HumanPasswordlessTokenBeginLogin models.EventType = "user.human.passwordless.token.begin.login"
HumanPasswordlessTokenCheckSucceeded models.EventType = "user.human.passwordless.token.check.succeeded"
HumanPasswordlessTokenCheckFailed models.EventType = "user.human.passwordless.token.check.failed"
HumanSignedOut models.EventType = "user.human.signed.out"
)
// the following consts are for user(v2).machines
const (
MachineAdded models.EventType = "user.machine.added"
MachineChanged models.EventType = "user.machine.changed"
MachineKeyAdded models.EventType = "user.machine.key.added"
MachineKeyRemoved models.EventType = "user.machine.key.removed"
)

View File

@@ -5,9 +5,12 @@ import (
"strings"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/errors"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/repository/user"
"github.com/caos/zitadel/internal/user/model"
)
@@ -37,28 +40,28 @@ func (u *User) AppendEvents(events ...*es_models.Event) error {
func (u *User) AppendEvent(event *es_models.Event) error {
u.ObjectRoot.AppendEvent(event)
switch event.Type {
case UserAdded,
HumanAdded,
MachineAdded,
UserRegistered,
HumanRegistered,
UserProfileChanged,
DomainClaimed,
UserUserNameChanged:
switch eventstore.EventType(event.Type) {
case user.UserV1AddedType,
user.HumanAddedType,
user.MachineAddedEventType,
user.UserV1RegisteredType,
user.HumanRegisteredType,
user.UserV1ProfileChangedType,
user.UserDomainClaimedType,
user.UserUserNameChangedType:
err := u.setData(event)
if err != nil {
return err
}
case UserDeactivated:
case user.UserDeactivatedType:
u.appendDeactivatedEvent()
case UserReactivated:
case user.UserReactivatedType:
u.appendReactivatedEvent()
case UserLocked:
case user.UserLockedType:
u.appendLockedEvent()
case UserUnlocked:
case user.UserUnlockedType:
u.appendUnlockedEvent()
case UserRemoved:
case user.UserRemovedType:
u.appendRemovedEvent()
}

View File

@@ -5,9 +5,12 @@ import (
"time"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/crypto"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/repository/user"
"github.com/caos/zitadel/internal/user/model"
)
@@ -47,79 +50,79 @@ func (p *Human) AppendEvents(events ...*es_models.Event) error {
}
func (h *Human) AppendEvent(event *es_models.Event) (err error) {
switch event.Type {
case UserAdded,
UserRegistered,
UserProfileChanged,
HumanAdded,
HumanRegistered,
HumanProfileChanged:
switch eventstore.EventType(event.Type) {
case user.UserV1AddedType,
user.UserV1RegisteredType,
user.UserV1ProfileChangedType,
user.HumanAddedType,
user.HumanRegisteredType,
user.HumanProfileChangedType:
err = h.setData(event)
case InitializedUserCodeAdded,
InitializedHumanCodeAdded:
case user.UserV1InitialCodeAddedType,
user.HumanInitialCodeAddedType:
err = h.appendInitUsercodeCreatedEvent(event)
case UserPasswordChanged,
HumanPasswordChanged:
case user.UserV1PasswordChangedType,
user.HumanPasswordChangedType:
err = h.appendUserPasswordChangedEvent(event)
case UserPasswordCodeAdded,
HumanPasswordCodeAdded:
case user.UserV1PasswordCodeAddedType,
user.HumanPasswordCodeAddedType:
err = h.appendPasswordSetRequestedEvent(event)
case UserEmailChanged,
HumanEmailChanged:
case user.UserV1EmailChangedType,
user.HumanEmailChangedType:
err = h.appendUserEmailChangedEvent(event)
case UserEmailCodeAdded,
HumanEmailCodeAdded:
case user.UserV1EmailCodeAddedType,
user.HumanEmailCodeAddedType:
err = h.appendUserEmailCodeAddedEvent(event)
case UserEmailVerified,
HumanEmailVerified:
case user.UserV1EmailVerifiedType,
user.HumanEmailVerifiedType:
h.appendUserEmailVerifiedEvent()
case UserPhoneChanged,
HumanPhoneChanged:
case user.UserV1PhoneChangedType,
user.HumanPhoneChangedType:
err = h.appendUserPhoneChangedEvent(event)
case UserPhoneCodeAdded,
HumanPhoneCodeAdded:
case user.UserV1PhoneCodeAddedType,
user.HumanPhoneCodeAddedType:
err = h.appendUserPhoneCodeAddedEvent(event)
case UserPhoneVerified,
HumanPhoneVerified:
case user.UserV1PhoneVerifiedType,
user.HumanPhoneVerifiedType:
h.appendUserPhoneVerifiedEvent()
case UserPhoneRemoved,
HumanPhoneRemoved:
case user.UserV1PhoneRemovedType,
user.HumanPhoneRemovedType:
h.appendUserPhoneRemovedEvent()
case UserAddressChanged,
HumanAddressChanged:
case user.UserV1AddressChangedType,
user.HumanAddressChangedType:
err = h.appendUserAddressChangedEvent(event)
case MFAOTPAdded,
HumanMFAOTPAdded:
case user.UserV1MFAOTPAddedType,
user.HumanMFAOTPAddedType:
err = h.appendOTPAddedEvent(event)
case MFAOTPVerified,
HumanMFAOTPVerified:
case user.UserV1MFAOTPVerifiedType,
user.HumanMFAOTPVerifiedType:
h.appendOTPVerifiedEvent()
case MFAOTPRemoved,
HumanMFAOTPRemoved:
case user.UserV1MFAOTPRemovedType,
user.HumanMFAOTPRemovedType:
h.appendOTPRemovedEvent()
case HumanExternalIDPAdded:
case user.UserIDPLinkAddedType:
err = h.appendExternalIDPAddedEvent(event)
case HumanExternalIDPRemoved, HumanExternalIDPCascadeRemoved:
case user.UserIDPLinkRemovedType, user.UserIDPLinkCascadeRemovedType:
err = h.appendExternalIDPRemovedEvent(event)
case HumanMFAU2FTokenAdded:
case user.HumanU2FTokenAddedType:
err = h.appendU2FAddedEvent(event)
case HumanMFAU2FTokenVerified:
case user.HumanU2FTokenVerifiedType:
err = h.appendU2FVerifiedEvent(event)
case HumanMFAU2FTokenSignCountChanged:
case user.HumanU2FTokenSignCountChangedType:
err = h.appendU2FChangeSignCountEvent(event)
case HumanMFAU2FTokenRemoved:
case user.HumanU2FTokenRemovedType:
err = h.appendU2FRemovedEvent(event)
case HumanPasswordlessTokenAdded:
case user.HumanPasswordlessTokenAddedType:
err = h.appendPasswordlessAddedEvent(event)
case HumanPasswordlessTokenVerified:
case user.HumanPasswordlessTokenVerifiedType:
err = h.appendPasswordlessVerifiedEvent(event)
case HumanPasswordlessTokenChangeSignCount:
case user.HumanPasswordlessTokenSignCountChangedType:
err = h.appendPasswordlessChangeSignCountEvent(event)
case HumanPasswordlessTokenRemoved:
case user.HumanPasswordlessTokenRemovedType:
err = h.appendPasswordlessRemovedEvent(event)
case HumanMFAU2FTokenBeginLogin:
case user.HumanU2FTokenBeginLoginType:
err = h.appendU2FLoginEvent(event)
case HumanPasswordlessTokenBeginLogin:
case user.HumanPasswordlessTokenBeginLoginType:
err = h.appendPasswordlessLoginEvent(event)
}
if err != nil {

View File

@@ -5,8 +5,11 @@ import (
"time"
"github.com/caos/logging"
"github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore"
es_models "github.com/caos/zitadel/internal/eventstore/v1/models"
user_repo "github.com/caos/zitadel/internal/repository/user"
)
type Machine struct {
@@ -26,8 +29,8 @@ func (sa *Machine) AppendEvents(events ...*es_models.Event) error {
}
func (sa *Machine) AppendEvent(event *es_models.Event) (err error) {
switch event.Type {
case MachineAdded, MachineChanged:
switch eventstore.EventType(event.Type) {
case user_repo.MachineAddedEventType, user_repo.MachineChangedEventType:
err = sa.setData(event)
}
@@ -63,13 +66,13 @@ func (key *MachineKey) AppendEvents(events ...*es_models.Event) error {
func (key *MachineKey) AppendEvent(event *es_models.Event) (err error) {
key.ObjectRoot.AppendEvent(event)
switch event.Type {
case MachineKeyAdded:
switch eventstore.EventType(event.Type) {
case user_repo.MachineKeyAddedEventType:
err = json.Unmarshal(event.Data, key)
if err != nil {
return errors.ThrowInternal(err, "MODEL-SjI4S", "Errors.Internal")
}
case MachineKeyRemoved:
case user_repo.MachineKeyRemovedEventType:
key.ExpirationDate = event.CreationDate
}
return err