diff --git a/cmd/admin/start/start.go b/cmd/admin/start/start.go index f057f2d523..0532a6d797 100644 --- a/cmd/admin/start/start.go +++ b/cmd/admin/start/start.go @@ -307,7 +307,7 @@ func shutdownServer(ctx context.Context, server *http.Server) error { //TODO:!!??!! func consoleClientID(ctx context.Context, queries *query.Queries) (string, error) { - iam, err := queries.IAM(ctx) + iam, err := queries.Instance(ctx) if err != nil { return "", err } diff --git a/docs/docs/apis/proto/admin.md b/docs/docs/apis/proto/admin.md index 37f9be8270..ae89546a26 100644 --- a/docs/docs/apis/proto/admin.md +++ b/docs/docs/apis/proto/admin.md @@ -291,7 +291,7 @@ and adds the user to the orgs members as ORG_OWNER > **rpc** GetIDPByID([GetIDPByIDRequest](#getidpbyidrequest)) [GetIDPByIDResponse](#getidpbyidresponse) -Returns a identity provider configuration of the IAM +Returns a identity provider configuration of the IAM instance @@ -303,7 +303,7 @@ Returns a identity provider configuration of the IAM > **rpc** ListIDPs([ListIDPsRequest](#listidpsrequest)) [ListIDPsResponse](#listidpsresponse) -Returns all identity provider configurations of the IAM +Returns all identity provider configurations of the IAM instance @@ -315,7 +315,7 @@ Returns all identity provider configurations of the IAM > **rpc** AddOIDCIDP([AddOIDCIDPRequest](#addoidcidprequest)) [AddOIDCIDPResponse](#addoidcidpresponse) -Adds a new oidc identity provider configuration the IAM +Adds a new oidc identity provider configuration the IAM instance @@ -327,7 +327,7 @@ Adds a new oidc identity provider configuration the IAM > **rpc** AddJWTIDP([AddJWTIDPRequest](#addjwtidprequest)) [AddJWTIDPResponse](#addjwtidpresponse) -Adds a new jwt identity provider configuration the IAM +Adds a new jwt identity provider configuration the IAM instance @@ -476,7 +476,8 @@ all fields are updated. If no value is provided the field will be empty afterwar > **rpc** GetOrgIAMPolicy([GetOrgIAMPolicyRequest](#getorgiampolicyrequest)) [GetOrgIAMPolicyResponse](#getorgiampolicyresponse) -Returns the IAM policy defined by the administrators of ZITADEL +deprecated: please use DomainPolicy instead +Returns the Org IAM policy defined by the administrators of ZITADEL @@ -488,7 +489,8 @@ Returns the IAM policy defined by the administrators of ZITADEL > **rpc** UpdateOrgIAMPolicy([UpdateOrgIAMPolicyRequest](#updateorgiampolicyrequest)) [UpdateOrgIAMPolicyResponse](#updateorgiampolicyresponse) -Updates the default IAM policy. +deprecated: please use DomainPolicy instead +Updates the default OrgIAM policy. it impacts all organisations without a customised policy @@ -501,6 +503,7 @@ it impacts all organisations without a customised policy > **rpc** GetCustomOrgIAMPolicy([GetCustomOrgIAMPolicyRequest](#getcustomorgiampolicyrequest)) [GetCustomOrgIAMPolicyResponse](#getcustomorgiampolicyresponse) +deprecated: please use DomainPolicy instead Returns the customised policy or the default if not customised @@ -513,7 +516,8 @@ Returns the customised policy or the default if not customised > **rpc** AddCustomOrgIAMPolicy([AddCustomOrgIAMPolicyRequest](#addcustomorgiampolicyrequest)) [AddCustomOrgIAMPolicyResponse](#addcustomorgiampolicyresponse) -Defines a custom ORGIAM policy as specified +deprecated: please use DomainPolicy instead +Defines a custom OrgIAM policy as specified @@ -525,7 +529,8 @@ Defines a custom ORGIAM policy as specified > **rpc** UpdateCustomOrgIAMPolicy([UpdateCustomOrgIAMPolicyRequest](#updatecustomorgiampolicyrequest)) [UpdateCustomOrgIAMPolicyResponse](#updatecustomorgiampolicyresponse) -Updates a custom ORGIAM policy as specified +deprecated: please use DomainPolicy instead +Updates a custom OrgIAM policy as specified @@ -537,6 +542,7 @@ Updates a custom ORGIAM policy as specified > **rpc** ResetCustomOrgIAMPolicyToDefault([ResetCustomOrgIAMPolicyToDefaultRequest](#resetcustomorgiampolicytodefaultrequest)) [ResetCustomOrgIAMPolicyToDefaultResponse](#resetcustomorgiampolicytodefaultresponse) +deprecated: please use DomainPolicy instead Resets the org iam policy of the organisation to default ZITADEL will fallback to the default policy defined by the ZITADEL administrators @@ -545,6 +551,80 @@ ZITADEL will fallback to the default policy defined by the ZITADEL administrator DELETE: /orgs/{org_id}/policies/orgiam +### GetDomainPolicy + +> **rpc** GetDomainPolicy([GetDomainPolicyRequest](#getdomainpolicyrequest)) +[GetDomainPolicyResponse](#getdomainpolicyresponse) + +Returns the Domain policy defined by the administrators of ZITADEL + + + + GET: /policies/domain + + +### UpdateDomainPolicy + +> **rpc** UpdateDomainPolicy([UpdateDomainPolicyRequest](#updatedomainpolicyrequest)) +[UpdateDomainPolicyResponse](#updatedomainpolicyresponse) + +Updates the default Domain policy. +it impacts all organisations without a customised policy + + + + PUT: /policies/domain + + +### GetCustomDomainPolicy + +> **rpc** GetCustomDomainPolicy([GetCustomDomainPolicyRequest](#getcustomdomainpolicyrequest)) +[GetCustomDomainPolicyResponse](#getcustomdomainpolicyresponse) + +Returns the customised policy or the default if not customised + + + + GET: /orgs/{org_id}/policies/domain + + +### AddCustomDomainPolicy + +> **rpc** AddCustomDomainPolicy([AddCustomDomainPolicyRequest](#addcustomdomainpolicyrequest)) +[AddCustomDomainPolicyResponse](#addcustomdomainpolicyresponse) + +Defines a custom Domain policy as specified + + + + POST: /orgs/{org_id}/policies/domain + + +### UpdateCustomDomainPolicy + +> **rpc** UpdateCustomDomainPolicy([UpdateCustomDomainPolicyRequest](#updatecustomdomainpolicyrequest)) +[UpdateCustomDomainPolicyResponse](#updatecustomdomainpolicyresponse) + +Updates a custom Domain policy as specified + + + + PUT: /orgs/{org_id}/policies/domain + + +### ResetCustomDomainPolicyToDefault + +> **rpc** ResetCustomDomainPolicyToDefault([ResetCustomDomainPolicyToDefaultRequest](#resetcustomdomainpolicytodefaultrequest)) +[ResetCustomDomainPolicyToDefaultResponse](#resetcustomdomainpolicytodefaultresponse) + +Resets the org iam policy of the organisation to default +ZITADEL will fallback to the default policy defined by the ZITADEL administrators + + + + DELETE: /orgs/{org_id}/policies/domain + + ### GetLabelPolicy > **rpc** GetLabelPolicy([GetLabelPolicyRequest](#getlabelpolicyrequest)) @@ -1405,6 +1485,29 @@ This is an empty request +### AddCustomDomainPolicyRequest + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| org_id | string | - | string.min_len: 1
string.max_len: 200
| +| user_login_must_be_domain | bool | the username has to end with the domain of it's organisation (uniqueness is organisation based) | | + + + + +### AddCustomDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| details | zitadel.v1.ObjectDetails | - | | + + + + ### AddCustomOrgIAMPolicyRequest @@ -1679,6 +1782,29 @@ This is an empty response +### GetCustomDomainPolicyRequest + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| org_id | string | - | string.min_len: 1
string.max_len: 200
| + + + + +### GetCustomDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| policy | zitadel.policy.v1.DomainPolicy | - | | +| is_default | bool | deprecated: is_default is also defined in zitadel.policy.v1.DomainPolicy | | + + + + ### GetCustomInitMessageTextRequest @@ -2022,6 +2148,23 @@ This is an empty request +### GetDomainPolicyRequest + + + + + +### GetDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| policy | zitadel.policy.v1.DomainPolicy | - | | + + + + ### GetFileSystemNotificationProviderRequest This is an empty request @@ -2892,6 +3035,28 @@ This is an empty request +### ResetCustomDomainPolicyToDefaultRequest + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| org_id | string | - | string.min_len: 1
string.max_len: 200
| + + + + +### ResetCustomDomainPolicyToDefaultResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| details | zitadel.v1.ObjectDetails | - | | + + + + ### ResetCustomInitMessageTextToDefaultRequest @@ -3503,6 +3668,29 @@ This is an empty request +### UpdateCustomDomainPolicyRequest + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| org_id | string | - | string.min_len: 1
string.max_len: 200
| +| user_login_must_be_domain | bool | - | | + + + + +### UpdateCustomDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| details | zitadel.v1.ObjectDetails | - | | + + + + ### UpdateCustomOrgIAMPolicyRequest @@ -3526,6 +3714,28 @@ This is an empty request +### UpdateDomainPolicyRequest + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| user_login_must_be_domain | bool | - | | + + + + +### UpdateDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| details | zitadel.v1.ObjectDetails | - | | + + + + ### UpdateIAMMemberRequest diff --git a/docs/docs/apis/proto/management.md b/docs/docs/apis/proto/management.md index 100929d241..b608867de4 100644 --- a/docs/docs/apis/proto/management.md +++ b/docs/docs/apis/proto/management.md @@ -1697,13 +1697,26 @@ remove a list of user grants in one request > **rpc** GetOrgIAMPolicy([GetOrgIAMPolicyRequest](#getorgiampolicyrequest)) [GetOrgIAMPolicyResponse](#getorgiampolicyresponse) -Returns the org iam policy (this policy is managed by the iam administrator) +deprecated: please use DomainPolicy instead +Returns the domain policy (this policy is managed by the iam administrator) GET: /policies/orgiam +### GetDomainPolicy + +> **rpc** GetDomainPolicy([GetDomainPolicyRequest](#getdomainpolicyrequest)) +[GetDomainPolicyResponse](#getdomainpolicyresponse) + +Returns the domain policy (this policy is managed by the iam administrator) + + + + GET: /policies/domain + + ### GetLoginPolicy > **rpc** GetLoginPolicy([GetLoginPolicyRequest](#getloginpolicyrequest)) @@ -4540,6 +4553,23 @@ This is an empty request +### GetDomainPolicyRequest + + + + + +### GetDomainPolicyResponse + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| policy | zitadel.policy.v1.DomainPolicy | - | | + + + + ### GetFeaturesRequest @@ -4835,7 +4865,7 @@ This is an empty request | Field | Type | Description | Validation | | ----- | ---- | ----------- | ----------- | -| policy | zitadel.policy.v1.OrgIAMPolicy | - | | +| policy | zitadel.policy.v1.DomainPolicy | - | | diff --git a/docs/docs/apis/proto/policy.md b/docs/docs/apis/proto/policy.md index 0820f88c95..a3c6dc149a 100644 --- a/docs/docs/apis/proto/policy.md +++ b/docs/docs/apis/proto/policy.md @@ -9,6 +9,19 @@ title: zitadel/policy.proto ## Messages +### DomainPolicy + + + +| Field | Type | Description | Validation | +| ----- | ---- | ----------- | ----------- | +| details | zitadel.v1.ObjectDetails | - | | +| user_login_must_be_domain | bool | - | | +| is_default | bool | - | | + + + + ### LabelPolicy @@ -73,7 +86,7 @@ title: zitadel/policy.proto ### OrgIAMPolicy - +deprecated: please use DomainPolicy instead | Field | Type | Description | Validation | diff --git a/internal/api/api.go b/internal/api/api.go index 1368c984b0..53f4223fc6 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -32,7 +32,7 @@ type API struct { type health interface { Health(ctx context.Context) error - IAM(ctx context.Context) (*query.IAM, error) + Instance(ctx context.Context) (*query.Instance, error) } func New( @@ -107,7 +107,7 @@ func (a *API) healthHandler() http.Handler { return nil }, func(ctx context.Context) error { - iam, err := a.health.IAM(ctx) + iam, err := a.health.Instance(ctx) if err != nil && !errors.IsNotFound(err) { return errors.ThrowPreconditionFailed(err, "API-dsgT2", "IAM SETUP CHECK FAILED") } diff --git a/internal/api/grpc/admin/custom_text.go b/internal/api/grpc/admin/custom_text.go index 7c53d0cbaf..da67d64982 100644 --- a/internal/api/grpc/admin/custom_text.go +++ b/internal/api/grpc/admin/custom_text.go @@ -46,7 +46,7 @@ func (s *Server) SetDefaultInitMessageText(ctx context.Context, req *admin_pb.Se } func (s *Server) ResetCustomInitMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomInitMessageTextToDefaultRequest) (*admin_pb.ResetCustomInitMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.InitCodeMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.InitCodeMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -94,7 +94,7 @@ func (s *Server) SetDefaultPasswordResetMessageText(ctx context.Context, req *ad } func (s *Server) ResetCustomPasswordResetMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomPasswordResetMessageTextToDefaultRequest) (*admin_pb.ResetCustomPasswordResetMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.PasswordResetMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.PasswordResetMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -142,7 +142,7 @@ func (s *Server) SetDefaultVerifyEmailMessageText(ctx context.Context, req *admi } func (s *Server) ResetCustomVerifyEmailMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomVerifyEmailMessageTextToDefaultRequest) (*admin_pb.ResetCustomVerifyEmailMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.VerifyEmailMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.VerifyEmailMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -190,7 +190,7 @@ func (s *Server) SetDefaultVerifyPhoneMessageText(ctx context.Context, req *admi } func (s *Server) ResetCustomVerifyPhoneMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomVerifyPhoneMessageTextToDefaultRequest) (*admin_pb.ResetCustomVerifyPhoneMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.VerifyPhoneMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.VerifyPhoneMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -238,7 +238,7 @@ func (s *Server) SetDefaultDomainClaimedMessageText(ctx context.Context, req *ad } func (s *Server) ResetCustomDomainClaimedMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomDomainClaimedMessageTextToDefaultRequest) (*admin_pb.ResetCustomDomainClaimedMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.DomainClaimedMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.DomainClaimedMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -286,7 +286,7 @@ func (s *Server) SetDefaultPasswordlessRegistrationMessageText(ctx context.Conte } func (s *Server) ResetCustomPasswordlessRegistrationMessageTextToDefault(ctx context.Context, req *admin_pb.ResetCustomPasswordlessRegistrationMessageTextToDefaultRequest) (*admin_pb.ResetCustomPasswordlessRegistrationMessageTextToDefaultResponse, error) { - result, err := s.command.RemoveIAMMessageTexts(ctx, domain.PasswordlessRegistrationMessageType, language.Make(req.Language)) + result, err := s.command.RemoveInstanceMessageTexts(ctx, domain.PasswordlessRegistrationMessageType, language.Make(req.Language)) if err != nil { return nil, err } @@ -319,7 +319,7 @@ func (s *Server) GetCustomLoginTexts(ctx context.Context, req *admin_pb.GetCusto } func (s *Server) SetCustomLoginText(ctx context.Context, req *admin_pb.SetCustomLoginTextsRequest) (*admin_pb.SetCustomLoginTextsResponse, error) { - result, err := s.command.SetCustomIAMLoginText(ctx, SetLoginTextToDomain(req)) + result, err := s.command.SetCustomInstanceLoginText(ctx, SetLoginTextToDomain(req)) if err != nil { return nil, err } @@ -333,7 +333,7 @@ func (s *Server) SetCustomLoginText(ctx context.Context, req *admin_pb.SetCustom } func (s *Server) ResetCustomLoginTextToDefault(ctx context.Context, req *admin_pb.ResetCustomLoginTextsToDefaultRequest) (*admin_pb.ResetCustomLoginTextsToDefaultResponse, error) { - result, err := s.command.RemoveCustomIAMLoginTexts(ctx, language.Make(req.Language)) + result, err := s.command.RemoveCustomInstanceLoginTexts(ctx, language.Make(req.Language)) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/domain_policy.go b/internal/api/grpc/admin/domain_policy.go new file mode 100644 index 0000000000..d3c4d17516 --- /dev/null +++ b/internal/api/grpc/admin/domain_policy.go @@ -0,0 +1,174 @@ +package admin + +import ( + "context" + + "github.com/caos/zitadel/internal/api/grpc/object" + policy_grpc "github.com/caos/zitadel/internal/api/grpc/policy" + "github.com/caos/zitadel/internal/domain" + "github.com/caos/zitadel/internal/eventstore/v1/models" + admin_pb "github.com/caos/zitadel/pkg/grpc/admin" +) + +func (s *Server) GetDomainPolicy(ctx context.Context, _ *admin_pb.GetDomainPolicyRequest) (*admin_pb.GetDomainPolicyResponse, error) { + policy, err := s.query.DefaultDomainPolicy(ctx) + if err != nil { + return nil, err + } + return &admin_pb.GetDomainPolicyResponse{Policy: policy_grpc.DomainPolicyToPb(policy)}, nil +} + +func (s *Server) GetCustomDomainPolicy(ctx context.Context, req *admin_pb.GetCustomDomainPolicyRequest) (*admin_pb.GetCustomDomainPolicyResponse, error) { + policy, err := s.query.DomainPolicyByOrg(ctx, req.OrgId) + if err != nil { + return nil, err + } + return &admin_pb.GetCustomDomainPolicyResponse{Policy: policy_grpc.DomainPolicyToPb(policy)}, nil +} + +func (s *Server) AddCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.AddCustomOrgIAMPolicyRequest) (*admin_pb.AddCustomOrgIAMPolicyResponse, error) { + policy, err := s.command.AddOrgDomainPolicy(ctx, req.OrgId, domainPolicyToDomain(req.UserLoginMustBeDomain)) + if err != nil { + return nil, err + } + return &admin_pb.AddCustomOrgIAMPolicyResponse{ + Details: object.AddToDetailsPb( + policy.Sequence, + policy.ChangeDate, + policy.ResourceOwner, + ), + }, nil +} + +func (s *Server) UpdateOrgIAMPolicy(ctx context.Context, req *admin_pb.UpdateOrgIAMPolicyRequest) (*admin_pb.UpdateOrgIAMPolicyResponse, error) { + config, err := s.command.ChangeDefaultDomainPolicy(ctx, updateOrgIAMPolicyToDomain(req)) + if err != nil { + return nil, err + } + return &admin_pb.UpdateOrgIAMPolicyResponse{ + Details: object.ChangeToDetailsPb( + config.Sequence, + config.ChangeDate, + config.ResourceOwner, + ), + }, nil +} + +func (s *Server) UpdateCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.UpdateCustomOrgIAMPolicyRequest) (*admin_pb.UpdateCustomOrgIAMPolicyResponse, error) { + config, err := s.command.ChangeOrgDomainPolicy(ctx, req.OrgId, updateCustomOrgIAMPolicyToDomain(req)) + if err != nil { + return nil, err + } + return &admin_pb.UpdateCustomOrgIAMPolicyResponse{ + Details: object.ChangeToDetailsPb( + config.Sequence, + config.ChangeDate, + config.ResourceOwner, + ), + }, nil +} + +func (s *Server) GetOrgIAMPolicy(ctx context.Context, _ *admin_pb.GetOrgIAMPolicyRequest) (*admin_pb.GetOrgIAMPolicyResponse, error) { + policy, err := s.query.DefaultDomainPolicy(ctx) + if err != nil { + return nil, err + } + return &admin_pb.GetOrgIAMPolicyResponse{Policy: policy_grpc.DomainPolicyToOrgIAMPb(policy)}, nil +} + +func (s *Server) GetCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.GetCustomOrgIAMPolicyRequest) (*admin_pb.GetCustomOrgIAMPolicyResponse, error) { + policy, err := s.query.DomainPolicyByOrg(ctx, req.OrgId) + if err != nil { + return nil, err + } + return &admin_pb.GetCustomOrgIAMPolicyResponse{Policy: policy_grpc.DomainPolicyToOrgIAMPb(policy)}, nil +} + +func (s *Server) AddCustomDomainPolicy(ctx context.Context, req *admin_pb.AddCustomDomainPolicyRequest) (*admin_pb.AddCustomDomainPolicyResponse, error) { + policy, err := s.command.AddOrgDomainPolicy(ctx, req.OrgId, domainPolicyToDomain(req.UserLoginMustBeDomain)) + if err != nil { + return nil, err + } + return &admin_pb.AddCustomDomainPolicyResponse{ + Details: object.AddToDetailsPb( + policy.Sequence, + policy.ChangeDate, + policy.ResourceOwner, + ), + }, nil +} + +func (s *Server) UpdateDomainPolicy(ctx context.Context, req *admin_pb.UpdateDomainPolicyRequest) (*admin_pb.UpdateDomainPolicyResponse, error) { + config, err := s.command.ChangeDefaultDomainPolicy(ctx, updateDomainPolicyToDomain(req)) + if err != nil { + return nil, err + } + return &admin_pb.UpdateDomainPolicyResponse{ + Details: object.ChangeToDetailsPb( + config.Sequence, + config.ChangeDate, + config.ResourceOwner, + ), + }, nil +} + +func (s *Server) UpdateCustomDomainPolicy(ctx context.Context, req *admin_pb.UpdateCustomDomainPolicyRequest) (*admin_pb.UpdateCustomDomainPolicyResponse, error) { + config, err := s.command.ChangeOrgDomainPolicy(ctx, req.OrgId, updateCustomDomainPolicyToDomain(req)) + if err != nil { + return nil, err + } + return &admin_pb.UpdateCustomDomainPolicyResponse{ + Details: object.ChangeToDetailsPb( + config.Sequence, + config.ChangeDate, + config.ResourceOwner, + ), + }, nil +} + +func (s *Server) ResetCustomDomainPolicyTo(ctx context.Context, req *admin_pb.ResetCustomDomainPolicyToDefaultRequest) (*admin_pb.ResetCustomDomainPolicyToDefaultResponse, error) { + err := s.command.RemoveOrgDomainPolicy(ctx, req.OrgId) + if err != nil { + return nil, err + } + return nil, nil //TOOD: return data +} + +func domainPolicyToDomain(userLoginMustBeDomain bool) *domain.DomainPolicy { + return &domain.DomainPolicy{ + UserLoginMustBeDomain: userLoginMustBeDomain, + } +} + +func updateDomainPolicyToDomain(req *admin_pb.UpdateDomainPolicyRequest) *domain.DomainPolicy { + return &domain.DomainPolicy{ + // ObjectRoot: models.ObjectRoot{ + // // AggreagateID: //TODO: there should only be ONE default + // }, + UserLoginMustBeDomain: req.UserLoginMustBeDomain, + } +} + +func updateCustomDomainPolicyToDomain(req *admin_pb.UpdateCustomDomainPolicyRequest) *domain.DomainPolicy { + return &domain.DomainPolicy{ + ObjectRoot: models.ObjectRoot{ + AggregateID: req.OrgId, + }, + UserLoginMustBeDomain: req.UserLoginMustBeDomain, + } +} + +func updateOrgIAMPolicyToDomain(req *admin_pb.UpdateOrgIAMPolicyRequest) *domain.DomainPolicy { + return &domain.DomainPolicy{ + UserLoginMustBeDomain: req.UserLoginMustBeDomain, + } +} + +func updateCustomOrgIAMPolicyToDomain(req *admin_pb.UpdateCustomOrgIAMPolicyRequest) *domain.DomainPolicy { + return &domain.DomainPolicy{ + ObjectRoot: models.ObjectRoot{ + AggregateID: req.OrgId, + }, + UserLoginMustBeDomain: req.UserLoginMustBeDomain, + } +} diff --git a/internal/api/grpc/admin/iam_member.go b/internal/api/grpc/admin/iam_member.go index 4fd1b6ea1b..62821b0386 100644 --- a/internal/api/grpc/admin/iam_member.go +++ b/internal/api/grpc/admin/iam_member.go @@ -34,7 +34,7 @@ func (s *Server) ListIAMMembers(ctx context.Context, req *admin_pb.ListIAMMember } func (s *Server) AddIAMMember(ctx context.Context, req *admin_pb.AddIAMMemberRequest) (*admin_pb.AddIAMMemberResponse, error) { - member, err := s.command.AddIAMMember(ctx, AddIAMMemberToDomain(req)) + member, err := s.command.AddInstanceMember(ctx, AddIAMMemberToDomain(req)) if err != nil { return nil, err } @@ -48,7 +48,7 @@ func (s *Server) AddIAMMember(ctx context.Context, req *admin_pb.AddIAMMemberReq } func (s *Server) UpdateIAMMember(ctx context.Context, req *admin_pb.UpdateIAMMemberRequest) (*admin_pb.UpdateIAMMemberResponse, error) { - member, err := s.command.ChangeIAMMember(ctx, UpdateIAMMemberToDomain(req)) + member, err := s.command.ChangeInstanceMember(ctx, UpdateIAMMemberToDomain(req)) if err != nil { return nil, err } @@ -62,7 +62,7 @@ func (s *Server) UpdateIAMMember(ctx context.Context, req *admin_pb.UpdateIAMMem } func (s *Server) RemoveIAMMember(ctx context.Context, req *admin_pb.RemoveIAMMemberRequest) (*admin_pb.RemoveIAMMemberResponse, error) { - objectDetails, err := s.command.RemoveIAMMember(ctx, req.UserId) + objectDetails, err := s.command.RemoveInstanceMember(ctx, req.UserId) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/org_iam_policy.go b/internal/api/grpc/admin/org_iam_policy.go deleted file mode 100644 index c794a7c2d9..0000000000 --- a/internal/api/grpc/admin/org_iam_policy.go +++ /dev/null @@ -1,101 +0,0 @@ -package admin - -import ( - "context" - - "github.com/caos/zitadel/internal/api/grpc/object" - policy_grpc "github.com/caos/zitadel/internal/api/grpc/policy" - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/eventstore/v1/models" - admin_pb "github.com/caos/zitadel/pkg/grpc/admin" -) - -func (s *Server) GetOrgIAMPolicy(ctx context.Context, _ *admin_pb.GetOrgIAMPolicyRequest) (*admin_pb.GetOrgIAMPolicyResponse, error) { - policy, err := s.query.DefaultOrgIAMPolicy(ctx) - if err != nil { - return nil, err - } - return &admin_pb.GetOrgIAMPolicyResponse{Policy: policy_grpc.OrgIAMPolicyToPb(policy)}, nil -} - -func (s *Server) GetCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.GetCustomOrgIAMPolicyRequest) (*admin_pb.GetCustomOrgIAMPolicyResponse, error) { - policy, err := s.query.OrgIAMPolicyByOrg(ctx, req.OrgId) - if err != nil { - return nil, err - } - return &admin_pb.GetCustomOrgIAMPolicyResponse{Policy: policy_grpc.OrgIAMPolicyToPb(policy)}, nil -} - -func (s *Server) AddCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.AddCustomOrgIAMPolicyRequest) (*admin_pb.AddCustomOrgIAMPolicyResponse, error) { - policy, err := s.command.AddOrgIAMPolicy(ctx, req.OrgId, toDomainOrgIAMPolicy(req.UserLoginMustBeDomain)) - if err != nil { - return nil, err - } - return &admin_pb.AddCustomOrgIAMPolicyResponse{ - Details: object.AddToDetailsPb( - policy.Sequence, - policy.ChangeDate, - policy.ResourceOwner, - ), - }, nil -} - -func (s *Server) UpdateOrgIAMPolicy(ctx context.Context, req *admin_pb.UpdateOrgIAMPolicyRequest) (*admin_pb.UpdateOrgIAMPolicyResponse, error) { - config, err := s.command.ChangeDefaultOrgIAMPolicy(ctx, updateOrgIAMPolicyToDomain(req)) - if err != nil { - return nil, err - } - return &admin_pb.UpdateOrgIAMPolicyResponse{ - Details: object.ChangeToDetailsPb( - config.Sequence, - config.ChangeDate, - config.ResourceOwner, - ), - }, nil -} - -func (s *Server) UpdateCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.UpdateCustomOrgIAMPolicyRequest) (*admin_pb.UpdateCustomOrgIAMPolicyResponse, error) { - config, err := s.command.ChangeOrgIAMPolicy(ctx, req.OrgId, updateCustomOrgIAMPolicyToDomain(req)) - if err != nil { - return nil, err - } - return &admin_pb.UpdateCustomOrgIAMPolicyResponse{ - Details: object.ChangeToDetailsPb( - config.Sequence, - config.ChangeDate, - config.ResourceOwner, - ), - }, nil -} - -func (s *Server) ResetCustomOrgIAMPolicyTo(ctx context.Context, req *admin_pb.ResetCustomOrgIAMPolicyToDefaultRequest) (*admin_pb.ResetCustomOrgIAMPolicyToDefaultResponse, error) { - err := s.command.RemoveOrgIAMPolicy(ctx, req.OrgId) - if err != nil { - return nil, err - } - return nil, nil //TOOD: return data -} - -func toDomainOrgIAMPolicy(userLoginMustBeDomain bool) *domain.OrgIAMPolicy { - return &domain.OrgIAMPolicy{ - UserLoginMustBeDomain: userLoginMustBeDomain, - } -} - -func updateOrgIAMPolicyToDomain(req *admin_pb.UpdateOrgIAMPolicyRequest) *domain.OrgIAMPolicy { - return &domain.OrgIAMPolicy{ - // ObjectRoot: models.ObjectRoot{ - // // AggreagateID: //TODO: there should only be ONE default - // }, - UserLoginMustBeDomain: req.UserLoginMustBeDomain, - } -} - -func updateCustomOrgIAMPolicyToDomain(req *admin_pb.UpdateCustomOrgIAMPolicyRequest) *domain.OrgIAMPolicy { - return &domain.OrgIAMPolicy{ - ObjectRoot: models.ObjectRoot{ - AggregateID: req.OrgId, - }, - UserLoginMustBeDomain: req.UserLoginMustBeDomain, - } -} diff --git a/internal/api/grpc/auth/user.go b/internal/api/grpc/auth/user.go index 9c5bc7230b..f6662dac4a 100644 --- a/internal/api/grpc/auth/user.go +++ b/internal/api/grpc/auth/user.go @@ -152,7 +152,7 @@ func (s *Server) ListMyProjectOrgs(ctx context.Context, req *auth_pb.ListMyProje return nil, err } - iam, err := s.query.IAM(ctx) + iam, err := s.query.Instance(ctx) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/iam.go b/internal/api/grpc/management/iam.go index 65ddbb5899..9bce2508c9 100644 --- a/internal/api/grpc/management/iam.go +++ b/internal/api/grpc/management/iam.go @@ -7,7 +7,7 @@ import ( ) func (s *Server) GetIAM(ctx context.Context, _ *mgmt_pb.GetIAMRequest) (*mgmt_pb.GetIAMResponse, error) { - iam, err := s.query.IAM(ctx) + iam, err := s.query.Instance(ctx) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/org.go b/internal/api/grpc/management/org.go index 5e92cad5d8..2a5340bf25 100644 --- a/internal/api/grpc/management/org.go +++ b/internal/api/grpc/management/org.go @@ -102,13 +102,13 @@ func (s *Server) ReactivateOrg(ctx context.Context, req *mgmt_pb.ReactivateOrgRe }, err } -func (s *Server) GetOrgIAMPolicy(ctx context.Context, req *mgmt_pb.GetOrgIAMPolicyRequest) (*mgmt_pb.GetOrgIAMPolicyResponse, error) { - policy, err := s.query.OrgIAMPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) +func (s *Server) GetDomainPolicy(ctx context.Context, req *mgmt_pb.GetDomainPolicyRequest) (*mgmt_pb.GetDomainPolicyResponse, error) { + policy, err := s.query.DomainPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } - return &mgmt_pb.GetOrgIAMPolicyResponse{ - Policy: policy_grpc.OrgIAMPolicyToPb(policy), + return &mgmt_pb.GetDomainPolicyResponse{ + Policy: policy_grpc.DomainPolicyToPb(policy), }, nil } @@ -207,7 +207,7 @@ func (s *Server) SetPrimaryOrgDomain(ctx context.Context, req *mgmt_pb.SetPrimar } func (s *Server) ListOrgMemberRoles(ctx context.Context, _ *mgmt_pb.ListOrgMemberRolesRequest) (*mgmt_pb.ListOrgMemberRolesResponse, error) { - iam, err := s.query.IAM(ctx) + iam, err := s.query.Instance(ctx) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/user.go b/internal/api/grpc/management/user.go index 149ec8f7c2..8288babeb3 100644 --- a/internal/api/grpc/management/user.go +++ b/internal/api/grpc/management/user.go @@ -90,7 +90,7 @@ func (s *Server) ListUserChanges(ctx context.Context, req *mgmt_pb.ListUserChang func (s *Server) IsUserUnique(ctx context.Context, req *mgmt_pb.IsUserUniqueRequest) (*mgmt_pb.IsUserUniqueResponse, error) { orgID := authz.GetCtxData(ctx).OrgID - policy, err := s.query.OrgIAMPolicyByOrg(ctx, orgID) + policy, err := s.query.DomainPolicyByOrg(ctx, orgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/policy/org_iam_policy.go b/internal/api/grpc/policy/domain_policy.go similarity index 50% rename from internal/api/grpc/policy/org_iam_policy.go rename to internal/api/grpc/policy/domain_policy.go index 5bc36af72f..304b8b124b 100644 --- a/internal/api/grpc/policy/org_iam_policy.go +++ b/internal/api/grpc/policy/domain_policy.go @@ -6,7 +6,20 @@ import ( policy_pb "github.com/caos/zitadel/pkg/grpc/policy" ) -func OrgIAMPolicyToPb(policy *query.OrgIAMPolicy) *policy_pb.OrgIAMPolicy { +func DomainPolicyToPb(policy *query.DomainPolicy) *policy_pb.DomainPolicy { + return &policy_pb.DomainPolicy{ + UserLoginMustBeDomain: policy.UserLoginMustBeDomain, + IsDefault: policy.IsDefault, + Details: object.ToViewDetailsPb( + policy.Sequence, + policy.CreationDate, + policy.ChangeDate, + policy.ResourceOwner, + ), + } +} + +func DomainPolicyToOrgIAMPb(policy *query.DomainPolicy) *policy_pb.OrgIAMPolicy { return &policy_pb.OrgIAMPolicy{ UserLoginMustBeDomain: policy.UserLoginMustBeDomain, IsDefault: policy.IsDefault, diff --git a/internal/api/ui/login/custom_action.go b/internal/api/ui/login/custom_action.go index 664d3c5674..739cda75f7 100644 --- a/internal/api/ui/login/custom_action.go +++ b/internal/api/ui/login/custom_action.go @@ -16,7 +16,7 @@ func (l *Login) customExternalUserMapping(ctx context.Context, user *domain.Exte resourceOwner = config.AggregateID } if resourceOwner == domain.IAMID { - iam, err := l.query.IAM(ctx) + iam, err := l.query.Instance(ctx) if err != nil { return nil, err } diff --git a/internal/api/ui/login/external_login_handler.go b/internal/api/ui/login/external_login_handler.go index fd12f6ee70..a1154d7fbe 100644 --- a/internal/api/ui/login/external_login_handler.go +++ b/internal/api/ui/login/external_login_handler.go @@ -208,7 +208,7 @@ func (l *Login) handleExternalUserAuthenticated(w http.ResponseWriter, r *http.R if errors.IsNotFound(err) { err = nil } - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderExternalNotFoundOption(w, r, authReq, nil, nil, nil, nil, err) return @@ -220,7 +220,7 @@ func (l *Login) handleExternalUserAuthenticated(w http.ResponseWriter, r *http.R resourceOwner = authReq.RequestedOrgID } - orgIAMPolicy, err := l.getOrgIamPolicy(r, resourceOwner) + orgIAMPolicy, err := l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderExternalNotFoundOption(w, r, authReq, nil, nil, nil, nil, err) return @@ -253,13 +253,13 @@ func (l *Login) handleExternalUserAuthenticated(w http.ResponseWriter, r *http.R l.renderNextStep(w, r, authReq) } -func (l *Login) renderExternalNotFoundOption(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, iam *query.IAM, orgIAMPolicy *query.OrgIAMPolicy, human *domain.Human, externalIDP *domain.UserIDPLink, err error) { +func (l *Login) renderExternalNotFoundOption(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, iam *query.Instance, orgIAMPolicy *query.DomainPolicy, human *domain.Human, externalIDP *domain.UserIDPLink, err error) { var errID, errMessage string if err != nil { errID, errMessage = l.getErrorMessage(r, err) } if orgIAMPolicy == nil { - iam, err = l.query.IAM(r.Context()) + iam, err = l.query.Instance(r.Context()) if err != nil { l.renderError(w, r, authReq, err) return @@ -270,7 +270,7 @@ func (l *Login) renderExternalNotFoundOption(w http.ResponseWriter, r *http.Requ resourceOwner = authReq.RequestedOrgID } - orgIAMPolicy, err = l.getOrgIamPolicy(r, resourceOwner) + orgIAMPolicy, err = l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderError(w, r, authReq, err) return @@ -341,7 +341,7 @@ func (l *Login) handleExternalNotFoundOptionCheck(w http.ResponseWriter, r *http } func (l *Login) handleAutoRegister(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest) { - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderExternalNotFoundOption(w, r, authReq, nil, nil, nil, nil, err) return @@ -355,7 +355,7 @@ func (l *Login) handleAutoRegister(w http.ResponseWriter, r *http.Request, authR resourceOwner = authReq.RequestedOrgID } - orgIamPolicy, err := l.getOrgIamPolicy(r, resourceOwner) + orgIamPolicy, err := l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderExternalNotFoundOption(w, r, authReq, nil, nil, nil, nil, err) return @@ -433,7 +433,7 @@ func (l *Login) mapTokenToLoginUser(tokens *oidc.Tokens, idpConfig *iam_model.ID } return externalUser } -func (l *Login) mapExternalUserToLoginUser(orgIamPolicy *query.OrgIAMPolicy, linkingUser *domain.ExternalUser, idpConfig *iam_model.IDPConfigView) (*domain.Human, *domain.UserIDPLink, []*domain.Metadata) { +func (l *Login) mapExternalUserToLoginUser(orgIamPolicy *query.DomainPolicy, linkingUser *domain.ExternalUser, idpConfig *iam_model.IDPConfigView) (*domain.Human, *domain.UserIDPLink, []*domain.Metadata) { username := linkingUser.PreferredUsername switch idpConfig.OIDCUsernameMapping { case iam_model.OIDCMappingFieldEmail: diff --git a/internal/api/ui/login/external_register_handler.go b/internal/api/ui/login/external_register_handler.go index ab3cd0ac45..28a31265e7 100644 --- a/internal/api/ui/login/external_register_handler.go +++ b/internal/api/ui/login/external_register_handler.go @@ -114,7 +114,7 @@ func (l *Login) handleExternalRegisterCallback(w http.ResponseWriter, r *http.Re } func (l *Login) handleExternalUserRegister(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, idpConfig *iam_model.IDPConfigView, userAgentID string, tokens *oidc.Tokens) { - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderRegisterOption(w, r, authReq, err) return @@ -123,7 +123,7 @@ func (l *Login) handleExternalUserRegister(w http.ResponseWriter, r *http.Reques if authReq.RequestedOrgID != "" { resourceOwner = authReq.RequestedOrgID } - orgIamPolicy, err := l.getOrgIamPolicy(r, resourceOwner) + orgIamPolicy, err := l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderRegisterOption(w, r, authReq, err) return @@ -140,7 +140,7 @@ func (l *Login) handleExternalUserRegister(w http.ResponseWriter, r *http.Reques l.registerExternalUser(w, r, authReq, iam, user, externalIDP) } -func (l *Login) registerExternalUser(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, iam *query.IAM, user *domain.Human, externalIDP *domain.UserIDPLink) { +func (l *Login) registerExternalUser(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, iam *query.Instance, user *domain.Human, externalIDP *domain.UserIDPLink) { resourceOwner := iam.GlobalOrgID memberRoles := []string{domain.RoleSelfManagementGlobal} @@ -166,7 +166,7 @@ func (l *Login) registerExternalUser(w http.ResponseWriter, r *http.Request, aut l.renderNextStep(w, r, authReq) } -func (l *Login) renderExternalRegisterOverview(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, orgIAMPolicy *query.OrgIAMPolicy, human *domain.Human, idp *domain.UserIDPLink, err error) { +func (l *Login) renderExternalRegisterOverview(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, orgIAMPolicy *query.DomainPolicy, human *domain.Human, idp *domain.UserIDPLink, err error) { var errID, errMessage string if err != nil { errID, errMessage = l.getErrorMessage(r, err) @@ -207,7 +207,7 @@ func (l *Login) handleExternalRegisterCheck(w http.ResponseWriter, r *http.Reque return } - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderRegisterOption(w, r, authReq, err) return @@ -247,7 +247,7 @@ func (l *Login) handleExternalRegisterCheck(w http.ResponseWriter, r *http.Reque l.renderNextStep(w, r, authReq) } -func (l *Login) mapTokenToLoginHumanAndExternalIDP(orgIamPolicy *query.OrgIAMPolicy, tokens *oidc.Tokens, idpConfig *iam_model.IDPConfigView) (*domain.Human, *domain.UserIDPLink) { +func (l *Login) mapTokenToLoginHumanAndExternalIDP(orgIamPolicy *query.DomainPolicy, tokens *oidc.Tokens, idpConfig *iam_model.IDPConfigView) (*domain.Human, *domain.UserIDPLink) { username := tokens.IDTokenClaims.GetPreferredUsername() switch idpConfig.OIDCUsernameMapping { case iam_model.OIDCMappingFieldEmail: diff --git a/internal/api/ui/login/jwt_handler.go b/internal/api/ui/login/jwt_handler.go index 321d66b086..5b54662a13 100644 --- a/internal/api/ui/login/jwt_handler.go +++ b/internal/api/ui/login/jwt_handler.go @@ -123,7 +123,7 @@ func (l *Login) jwtExtractionUserNotFound(w http.ResponseWriter, r *http.Request return } resourceOwner := l.getOrgID(authReq) - orgIamPolicy, err := l.getOrgIamPolicy(r, resourceOwner) + orgIamPolicy, err := l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderError(w, r, authReq, err) return diff --git a/internal/api/ui/login/policy_handler.go b/internal/api/ui/login/policy_handler.go index 817183df5e..1b6f72cf52 100644 --- a/internal/api/ui/login/policy_handler.go +++ b/internal/api/ui/login/policy_handler.go @@ -7,15 +7,15 @@ import ( "github.com/caos/zitadel/internal/query" ) -func (l *Login) getDefaultOrgIamPolicy(r *http.Request) (*query.OrgIAMPolicy, error) { - return l.query.DefaultOrgIAMPolicy(r.Context()) +func (l *Login) getDefaultDomainPolicy(r *http.Request) (*query.DomainPolicy, error) { + return l.query.DefaultDomainPolicy(r.Context()) } -func (l *Login) getOrgIamPolicy(r *http.Request, orgID string) (*query.OrgIAMPolicy, error) { +func (l *Login) getOrgDomainPolicy(r *http.Request, orgID string) (*query.DomainPolicy, error) { if orgID == "" { - return l.query.DefaultOrgIAMPolicy(r.Context()) + return l.query.DefaultDomainPolicy(r.Context()) } - return l.query.OrgIAMPolicyByOrg(r.Context(), orgID) + return l.query.DomainPolicyByOrg(r.Context(), orgID) } func (l *Login) getIDPConfigByID(r *http.Request, idpConfigID string) (*iam_model.IDPConfigView, error) { diff --git a/internal/api/ui/login/register_handler.go b/internal/api/ui/login/register_handler.go index aaaa881fe4..c6e3ff29ed 100644 --- a/internal/api/ui/login/register_handler.go +++ b/internal/api/ui/login/register_handler.go @@ -62,7 +62,7 @@ func (l *Login) handleRegisterCheck(w http.ResponseWriter, r *http.Request) { l.renderRegister(w, r, authRequest, data, err) return } - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderRegister(w, r, authRequest, data, err) return @@ -127,7 +127,7 @@ func (l *Login) renderRegister(w http.ResponseWriter, r *http.Request, authReque } if resourceOwner == "" { - iam, err := l.query.IAM(r.Context()) + iam, err := l.query.Instance(r.Context()) if err != nil { l.renderRegister(w, r, authRequest, formData, err) return @@ -153,7 +153,7 @@ func (l *Login) renderRegister(w http.ResponseWriter, r *http.Request, authReque } } - orgIAMPolicy, err := l.getOrgIamPolicy(r, resourceOwner) + orgIAMPolicy, err := l.getOrgDomainPolicy(r, resourceOwner) if err != nil { l.renderRegister(w, r, authRequest, formData, err) return diff --git a/internal/api/ui/login/register_org_handler.go b/internal/api/ui/login/register_org_handler.go index 800171dfd7..fc44a90737 100644 --- a/internal/api/ui/login/register_org_handler.go +++ b/internal/api/ui/login/register_org_handler.go @@ -116,7 +116,7 @@ func (l *Login) renderRegisterOrg(w http.ResponseWriter, r *http.Request, authRe data.HasNumber = NumberRegex } } - orgPolicy, _ := l.getDefaultOrgIamPolicy(r) + orgPolicy, _ := l.getDefaultDomainPolicy(r) if orgPolicy != nil { data.UserLoginMustBeDomain = orgPolicy.UserLoginMustBeDomain data.IamDomain = l.iamDomain diff --git a/internal/auth/repository/eventsourcing/eventstore/org.go b/internal/auth/repository/eventsourcing/eventstore/org.go index 613536b929..d5ad978432 100644 --- a/internal/auth/repository/eventsourcing/eventstore/org.go +++ b/internal/auth/repository/eventsourcing/eventstore/org.go @@ -12,7 +12,7 @@ import ( iam_model "github.com/caos/zitadel/internal/iam/model" iam_view_model "github.com/caos/zitadel/internal/iam/repository/view/model" "github.com/caos/zitadel/internal/query" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) type OrgRepository struct { @@ -53,5 +53,5 @@ func (repo *OrgRepository) GetLoginText(ctx context.Context, orgID string) ([]*d } func (p *OrgRepository) getIAMEvents(ctx context.Context, sequence uint64) ([]*models.Event, error) { - return p.Eventstore.FilterEvents(ctx, models.NewSearchQuery().AggregateIDFilter(domain.IAMID).AggregateTypeFilter(iam.AggregateType)) + return p.Eventstore.FilterEvents(ctx, models.NewSearchQuery().AggregateIDFilter(domain.IAMID).AggregateTypeFilter(instance.AggregateType)) } diff --git a/internal/auth/repository/eventsourcing/handler/idp_config.go b/internal/auth/repository/eventsourcing/handler/idp_config.go index a3b94d22a2..459cf55917 100644 --- a/internal/auth/repository/eventsourcing/handler/idp_config.go +++ b/internal/auth/repository/eventsourcing/handler/idp_config.go @@ -10,7 +10,7 @@ import ( iam_es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" iam_view_model "github.com/caos/zitadel/internal/iam/repository/view/model" "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -91,8 +91,8 @@ func (i *IDPConfig) processIdpConfig(providerType iam_model.IDPProviderType, eve case model.IDPConfigChanged, iam_es_model.IDPConfigChanged, model.OIDCIDPConfigAdded, iam_es_model.OIDCIDPConfigAdded, model.OIDCIDPConfigChanged, iam_es_model.OIDCIDPConfigChanged, - es_models.EventType(org.IDPJWTConfigAddedEventType), es_models.EventType(iam.IDPJWTConfigAddedEventType), - es_models.EventType(org.IDPJWTConfigChangedEventType), es_models.EventType(iam.IDPJWTConfigChangedEventType): + es_models.EventType(org.IDPJWTConfigAddedEventType), es_models.EventType(instance.IDPJWTConfigAddedEventType), + es_models.EventType(org.IDPJWTConfigChangedEventType), es_models.EventType(instance.IDPJWTConfigChangedEventType): err = idp.SetData(event) if err != nil { return err diff --git a/internal/auth/repository/eventsourcing/handler/user.go b/internal/auth/repository/eventsourcing/handler/user.go index 9fa3203d52..5d3fcfae51 100644 --- a/internal/auth/repository/eventsourcing/handler/user.go +++ b/internal/auth/repository/eventsourcing/handler/user.go @@ -15,6 +15,7 @@ import ( org_es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" "github.com/caos/zitadel/internal/org/repository/view" query2 "github.com/caos/zitadel/internal/query" + "github.com/caos/zitadel/internal/repository/org" user_repo "github.com/caos/zitadel/internal/repository/user" es_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" view_model "github.com/caos/zitadel/internal/user/repository/view/model" @@ -186,9 +187,9 @@ func (u *User) ProcessOrg(event *es_models.Event) (err error) { switch event.Type { case org_es_model.OrgDomainVerified, org_es_model.OrgDomainRemoved, - org_es_model.OrgIAMPolicyAdded, - org_es_model.OrgIAMPolicyChanged, - org_es_model.OrgIAMPolicyRemoved: + es_models.EventType(org.OrgDomainPolicyAddedEventType), + es_models.EventType(org.OrgDomainPolicyChangedEventType), + es_models.EventType(org.OrgDomainPolicyRemovedEventType): return u.fillLoginNamesOnOrgUsers(event) case org_es_model.OrgDomainPrimarySet: return u.fillPreferredLoginNamesOnOrgUsers(event) @@ -266,8 +267,8 @@ func (u *User) loginNameInformation(ctx context.Context, orgID string) (userLogi if err != nil { return false, "", nil, err } - if org.OrgIamPolicy == nil { - policy, err := u.queries.DefaultOrgIAMPolicy(ctx) + if org.DomainPolicy == nil { + policy, err := u.queries.DefaultDomainPolicy(ctx) if err != nil { return false, "", nil, err } diff --git a/internal/authz/repository/eventsourcing/eventstore/token_verifier.go b/internal/authz/repository/eventsourcing/eventstore/token_verifier.go index 4e2427e54b..f0d75ef011 100644 --- a/internal/authz/repository/eventsourcing/eventstore/token_verifier.go +++ b/internal/authz/repository/eventsourcing/eventstore/token_verifier.go @@ -236,7 +236,7 @@ func (repo *TokenVerifierRepo) VerifierClientID(ctx context.Context, appName str ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - iam, err := repo.Query.IAM(ctx) + iam, err := repo.Query.Instance(ctx) if err != nil { return "", "", err } diff --git a/internal/command/command.go b/internal/command/command.go index 7de69a216d..91210b1374 100644 --- a/internal/command/command.go +++ b/internal/command/command.go @@ -13,7 +13,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/id" "github.com/caos/zitadel/internal/repository/action" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/keypair" "github.com/caos/zitadel/internal/repository/org" proj_repo "github.com/caos/zitadel/internal/repository/project" diff --git a/internal/command/custom_login_text.go b/internal/command/custom_login_text.go index bbf53dd31a..929b211cf9 100644 --- a/internal/command/custom_login_text.go +++ b/internal/command/custom_login_text.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -1098,9 +1098,9 @@ func (c *Commands) createCustomLoginTextEvent(ctx context.Context, agg *eventsto } if defaultText { if newText != "" { - return iam.NewCustomTextSetEvent(ctx, agg, domain.LoginCustomText, textKey, newText, lang) + return instance.NewCustomTextSetEvent(ctx, agg, domain.LoginCustomText, textKey, newText, lang) } - return iam.NewCustomTextRemovedEvent(ctx, agg, domain.LoginCustomText, textKey, lang) + return instance.NewCustomTextRemovedEvent(ctx, agg, domain.LoginCustomText, textKey, lang) } if newText != "" { return org.NewCustomTextSetEvent(ctx, agg, domain.LoginCustomText, textKey, newText, lang) diff --git a/internal/command/existing_label_policies_model.go b/internal/command/existing_label_policies_model.go index c306717f0e..418819863b 100644 --- a/internal/command/existing_label_policies_model.go +++ b/internal/command/existing_label_policies_model.go @@ -4,7 +4,7 @@ import ( "context" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -25,7 +25,7 @@ func (rm *ExistingLabelPoliciesReadModel) AppendEvents(events ...eventstore.Even func (rm *ExistingLabelPoliciesReadModel) Reduce() error { for _, event := range rm.Events { switch e := event.(type) { - case *iam.LabelPolicyAddedEvent, + case *instance.LabelPolicyAddedEvent, *org.LabelPolicyAddedEvent: rm.aggregateIDs = append(rm.aggregateIDs, e.Aggregate().ID) case *org.LabelPolicyRemovedEvent: @@ -44,8 +44,8 @@ func (rm *ExistingLabelPoliciesReadModel) Reduce() error { func (rm *ExistingLabelPoliciesReadModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). AddQuery(). - AggregateTypes(iam.AggregateType). - EventTypes(iam.LabelPolicyAddedEventType). + AggregateTypes(instance.AggregateType). + EventTypes(instance.LabelPolicyAddedEventType). Or(). AggregateTypes(org.AggregateType). EventTypes( diff --git a/internal/command/iam_custom_login_text_test.go b/internal/command/iam_custom_login_text_test.go deleted file mode 100644 index b9b62e83fb..0000000000 --- a/internal/command/iam_custom_login_text_test.go +++ /dev/null @@ -1,7287 +0,0 @@ -package command - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "golang.org/x/text/language" - - "github.com/caos/zitadel/internal/domain" - caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" -) - -func TestCommandSide_SetCustomIAMLoginText(t *testing.T) { - type fields struct { - eventstore *eventstore.Eventstore - } - type args struct { - ctx context.Context - config *domain.CustomLoginText - } - type res struct { - want *domain.ObjectDetails - err func(error) bool - } - tests := []struct { - name string - fields fields - args args - res res - }{ - { - name: "invalid custom login text, error", - fields: fields{ - eventstore: eventstoreExpect( - t, - ), - }, - args: args{ - ctx: context.Background(), - config: &domain.CustomLoginText{}, - }, - res: res{ - err: caos_errs.IsErrorInvalidArgument, - }, - }, - { - name: "custom login text set all fields, ok", - fields: fields{ - eventstore: eventstoreExpect( - t, - expectFilter(), - expectPush( - []*repository.Event{ - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, - ), - ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, - ), - ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, - ), - ), - }, - ), - ), - }, - args: args{ - ctx: context.Background(), - config: &domain.CustomLoginText{ - Language: language.English, - SelectAccount: domain.SelectAccountScreenText{ - Title: "Title", - Description: "Description", - TitleLinking: "TitleLinking", - DescriptionLinking: "DescriptionLinking", - OtherUser: "OtherUser", - SessionState0: "SessionState0", - SessionState1: "SessionState1", - MustBeMemberOfOrg: "MustBeMemberOfOrg", - }, - Login: domain.LoginScreenText{ - Title: "Title", - Description: "Description", - TitleLinking: "TitleLinking", - DescriptionLinking: "DescriptionLinking", - LoginNameLabel: "LoginNameLabel", - UsernamePlaceholder: "UsernamePlaceholder", - LoginnamePlaceholder: "LoginnamePlaceholder", - RegisterButtonText: "RegisterButtonText", - NextButtonText: "NextButtonText", - ExternalUserDescription: "ExternalUserDescription", - MustBeMemberOfOrg: "MustBeMemberOfOrg", - }, - Password: domain.PasswordScreenText{ - Title: "Title", - Description: "Description", - PasswordLabel: "PasswordLabel", - ResetLinkText: "ResetLinkText", - BackButtonText: "BackButtonText", - NextButtonText: "NextButtonText", - MinLength: "MinLength", - HasUppercase: "HasUppercase", - HasLowercase: "HasLowercase", - HasNumber: "HasNumber", - HasSymbol: "HasSymbol", - Confirmation: "Confirmation", - }, - UsernameChange: domain.UsernameChangeScreenText{ - Title: "Title", - Description: "Description", - UsernameLabel: "UsernameLabel", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - UsernameChangeDone: domain.UsernameChangeDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - InitPassword: domain.InitPasswordScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - NextButtonText: "NextButtonText", - ResendButtonText: "ResendButtonText", - }, - InitPasswordDone: domain.InitPasswordDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - EmailVerification: domain.EmailVerificationScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - ResendButtonText: "ResendButtonText", - }, - EmailVerificationDone: domain.EmailVerificationDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - LoginButtonText: "LoginButtonText", - }, - InitUser: domain.InitializeUserScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - ResendButtonText: "ResendButtonText", - NextButtonText: "NextButtonText", - }, - InitUserDone: domain.InitializeUserDoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - InitMFAPrompt: domain.InitMFAPromptScreenText{ - Title: "Title", - Description: "Description", - Provider0: "Provider0", - Provider1: "Provider1", - SkipButtonText: "SkipButtonText", - NextButtonText: "NextButtonText", - }, - InitMFAOTP: domain.InitMFAOTPScreenText{ - Title: "Title", - Description: "Description", - OTPDescription: "OTPDescription", - SecretLabel: "SecretLabel", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - InitMFAU2F: domain.InitMFAU2FScreenText{ - Title: "Title", - Description: "Description", - TokenNameLabel: "TokenNameLabel", - RegisterTokenButtonText: "RegisterTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - InitMFADone: domain.InitMFADoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - MFAProvider: domain.MFAProvidersText{ - ChooseOther: "ChooseOther", - Provider0: "Provider0", - Provider1: "Provider1", - }, - VerifyMFAOTP: domain.VerifyMFAOTPScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - }, - VerifyMFAU2F: domain.VerifyMFAU2FScreenText{ - Title: "Title", - Description: "Description", - ValidateTokenButtonText: "ValidateTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - Passwordless: domain.PasswordlessScreenText{ - Title: "Title", - Description: "Description", - LoginWithPwButtonText: "LoginWithPwButtonText", - ValidateTokenButtonText: "ValidateTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - PasswordlessPrompt: domain.PasswordlessPromptScreenText{ - Title: "Title", - Description: "Description", - DescriptionInit: "DescriptionInit", - PasswordlessButtonText: "PasswordlessButtonText", - NextButtonText: "NextButtonText", - SkipButtonText: "SkipButtonText", - }, - PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{ - Title: "Title", - Description: "Description", - RegisterTokenButtonText: "RegisterTokenButtonText", - TokenNameLabel: "TokenNameLabel", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{ - Title: "Title", - Description: "Description", - DescriptionClose: "DescriptionClose", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - PasswordChange: domain.PasswordChangeScreenText{ - Title: "Title", - Description: "Description", - OldPasswordLabel: "OldPasswordLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - PasswordChangeDone: domain.PasswordChangeDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - PasswordResetDone: domain.PasswordResetDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - RegisterOption: domain.RegistrationOptionScreenText{ - Title: "Title", - Description: "Description", - RegisterUsernamePasswordButtonText: "RegisterUsernamePasswordButtonText", - ExternalLoginDescription: "ExternalLoginDescription", - }, - RegistrationUser: domain.RegistrationUserScreenText{ - Title: "Title", - Description: "Description", - DescriptionOrgRegister: "DescriptionOrgRegister", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - EmailLabel: "EmailLabel", - UsernameLabel: "UsernameLabel", - LanguageLabel: "LanguageLabel", - GenderLabel: "GenderLabel", - PasswordLabel: "PasswordLabel", - PasswordConfirmLabel: "PasswordConfirmLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - NextButtonText: "NextButtonText", - BackButtonText: "BackButtonText", - }, - ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{ - Title: "Title", - Description: "Description", - EmailLabel: "EmailLabel", - UsernameLabel: "UsernameLabel", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - NicknameLabel: "NicknameLabel", - LanguageLabel: "LanguageLabel", - PhoneLabel: "PhoneLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - BackButtonText: "BackButtonText", - NextButtonText: "NextButtonText", - }, - RegistrationOrg: domain.RegistrationOrgScreenText{ - Title: "Title", - Description: "Description", - OrgNameLabel: "OrgNameLabel", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - UsernameLabel: "UsernameLabel", - EmailLabel: "EmailLabel", - PasswordLabel: "PasswordLabel", - PasswordConfirmLabel: "PasswordConfirmLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - SaveButtonText: "SaveButtonText", - }, - LinkingUsersDone: domain.LinkingUserDoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{ - Title: "Title", - Description: "Description", - LinkButtonText: "LinkButtonText", - AutoRegisterButtonText: "AutoRegisterButtonText", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - }, - LoginSuccess: domain.SuccessLoginScreenText{ - Title: "Title", - AutoRedirectDescription: "AutoRedirectDescription", - RedirectedDescription: "RedirectedDescription", - NextButtonText: "NextButtonText", - }, - LogoutDone: domain.LogoutDoneScreenText{ - Title: "Title", - Description: "Description", - LoginButtonText: "LoginButtonText", - }, - Footer: domain.FooterText{ - TOS: "TOS", - PrivacyPolicy: "PrivacyPolicy", - Help: "Help", - }, - }, - }, - res: res{ - want: &domain.ObjectDetails{ - ResourceOwner: "IAM", - }, - }, - }, - { - name: "custom login text remove all fields, ok", - fields: fields{ - eventstore: eventstoreExpect( - t, - expectFilter( - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, - ), - ), - ), - expectPush( - []*repository.Event{ - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, language.English, - ), - ), - }, - ), - ), - }, - args: args{ - ctx: context.Background(), - config: &domain.CustomLoginText{ - Language: language.English, - SelectAccount: domain.SelectAccountScreenText{}, - Login: domain.LoginScreenText{}, - Password: domain.PasswordScreenText{}, - UsernameChange: domain.UsernameChangeScreenText{}, - UsernameChangeDone: domain.UsernameChangeDoneScreenText{}, - InitPassword: domain.InitPasswordScreenText{}, - InitPasswordDone: domain.InitPasswordDoneScreenText{}, - EmailVerification: domain.EmailVerificationScreenText{}, - EmailVerificationDone: domain.EmailVerificationDoneScreenText{}, - InitUser: domain.InitializeUserScreenText{}, - InitUserDone: domain.InitializeUserDoneScreenText{}, - InitMFAPrompt: domain.InitMFAPromptScreenText{}, - InitMFAOTP: domain.InitMFAOTPScreenText{}, - InitMFAU2F: domain.InitMFAU2FScreenText{}, - InitMFADone: domain.InitMFADoneScreenText{}, - MFAProvider: domain.MFAProvidersText{}, - VerifyMFAOTP: domain.VerifyMFAOTPScreenText{}, - VerifyMFAU2F: domain.VerifyMFAU2FScreenText{}, - Passwordless: domain.PasswordlessScreenText{}, - PasswordlessPrompt: domain.PasswordlessPromptScreenText{}, - PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{}, - PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{}, - PasswordChange: domain.PasswordChangeScreenText{}, - PasswordChangeDone: domain.PasswordChangeDoneScreenText{}, - PasswordResetDone: domain.PasswordResetDoneScreenText{}, - RegisterOption: domain.RegistrationOptionScreenText{}, - RegistrationUser: domain.RegistrationUserScreenText{}, - ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{}, - RegistrationOrg: domain.RegistrationOrgScreenText{}, - LinkingUsersDone: domain.LinkingUserDoneScreenText{}, - ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{}, - LoginSuccess: domain.SuccessLoginScreenText{}, - LogoutDone: domain.LogoutDoneScreenText{}, - Footer: domain.FooterText{}, - }, - }, - res: res{ - want: &domain.ObjectDetails{ - ResourceOwner: "IAM", - }, - }, - }, - { - name: "custom login text set all fields, all texts removed, ok", - fields: fields{ - eventstore: eventstoreExpect( - t, - expectFilter( - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, - ), - ), - - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, language.English, - ), - ), - ), - expectPush( - []*repository.Event{ - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, - ), - ), - eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, - ), - ), - }, - ), - ), - }, - args: args{ - ctx: context.Background(), - config: &domain.CustomLoginText{ - Language: language.English, - SelectAccount: domain.SelectAccountScreenText{ - Title: "Title", - Description: "Description", - TitleLinking: "TitleLinking", - DescriptionLinking: "DescriptionLinking", - OtherUser: "OtherUser", - SessionState0: "SessionState0", - SessionState1: "SessionState1", - MustBeMemberOfOrg: "MustBeMemberOfOrg", - }, - Login: domain.LoginScreenText{ - Title: "Title", - Description: "Description", - TitleLinking: "TitleLinking", - DescriptionLinking: "DescriptionLinking", - LoginNameLabel: "LoginNameLabel", - UsernamePlaceholder: "UsernamePlaceholder", - LoginnamePlaceholder: "LoginnamePlaceholder", - RegisterButtonText: "RegisterButtonText", - NextButtonText: "NextButtonText", - ExternalUserDescription: "ExternalUserDescription", - MustBeMemberOfOrg: "MustBeMemberOfOrg", - }, - Password: domain.PasswordScreenText{ - Title: "Title", - Description: "Description", - PasswordLabel: "PasswordLabel", - ResetLinkText: "ResetLinkText", - BackButtonText: "BackButtonText", - NextButtonText: "NextButtonText", - MinLength: "MinLength", - HasUppercase: "HasUppercase", - HasLowercase: "HasLowercase", - HasNumber: "HasNumber", - HasSymbol: "HasSymbol", - Confirmation: "Confirmation", - }, - UsernameChange: domain.UsernameChangeScreenText{ - Title: "Title", - Description: "Description", - UsernameLabel: "UsernameLabel", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - UsernameChangeDone: domain.UsernameChangeDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - InitPassword: domain.InitPasswordScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - NextButtonText: "NextButtonText", - ResendButtonText: "ResendButtonText", - }, - InitPasswordDone: domain.InitPasswordDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - EmailVerification: domain.EmailVerificationScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - ResendButtonText: "ResendButtonText", - }, - EmailVerificationDone: domain.EmailVerificationDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - LoginButtonText: "LoginButtonText", - }, - InitUser: domain.InitializeUserScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - ResendButtonText: "ResendButtonText", - NextButtonText: "NextButtonText", - }, - InitUserDone: domain.InitializeUserDoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - InitMFAPrompt: domain.InitMFAPromptScreenText{ - Title: "Title", - Description: "Description", - Provider0: "Provider0", - Provider1: "Provider1", - SkipButtonText: "SkipButtonText", - NextButtonText: "NextButtonText", - }, - InitMFAOTP: domain.InitMFAOTPScreenText{ - Title: "Title", - Description: "Description", - OTPDescription: "OTPDescription", - SecretLabel: "SecretLabel", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - InitMFAU2F: domain.InitMFAU2FScreenText{ - Title: "Title", - Description: "Description", - TokenNameLabel: "TokenNameLabel", - RegisterTokenButtonText: "RegisterTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - InitMFADone: domain.InitMFADoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - MFAProvider: domain.MFAProvidersText{ - ChooseOther: "ChooseOther", - Provider0: "Provider0", - Provider1: "Provider1", - }, - VerifyMFAOTP: domain.VerifyMFAOTPScreenText{ - Title: "Title", - Description: "Description", - CodeLabel: "CodeLabel", - NextButtonText: "NextButtonText", - }, - VerifyMFAU2F: domain.VerifyMFAU2FScreenText{ - Title: "Title", - Description: "Description", - ValidateTokenButtonText: "ValidateTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - Passwordless: domain.PasswordlessScreenText{ - Title: "Title", - Description: "Description", - LoginWithPwButtonText: "LoginWithPwButtonText", - ValidateTokenButtonText: "ValidateTokenButtonText", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - PasswordlessPrompt: domain.PasswordlessPromptScreenText{ - Title: "Title", - Description: "Description", - DescriptionInit: "DescriptionInit", - PasswordlessButtonText: "PasswordlessButtonText", - NextButtonText: "NextButtonText", - SkipButtonText: "SkipButtonText", - }, - PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{ - Title: "Title", - Description: "Description", - RegisterTokenButtonText: "RegisterTokenButtonText", - TokenNameLabel: "TokenNameLabel", - NotSupported: "NotSupported", - ErrorRetry: "ErrorRetry", - }, - PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{ - Title: "Title", - Description: "Description", - DescriptionClose: "DescriptionClose", - NextButtonText: "NextButtonText", - CancelButtonText: "CancelButtonText", - }, - PasswordChange: domain.PasswordChangeScreenText{ - Title: "Title", - Description: "Description", - OldPasswordLabel: "OldPasswordLabel", - NewPasswordLabel: "NewPasswordLabel", - NewPasswordConfirmLabel: "NewPasswordConfirmLabel", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - PasswordChangeDone: domain.PasswordChangeDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - PasswordResetDone: domain.PasswordResetDoneScreenText{ - Title: "Title", - Description: "Description", - NextButtonText: "NextButtonText", - }, - RegisterOption: domain.RegistrationOptionScreenText{ - Title: "Title", - Description: "Description", - RegisterUsernamePasswordButtonText: "RegisterUsernamePasswordButtonText", - ExternalLoginDescription: "ExternalLoginDescription", - }, - RegistrationUser: domain.RegistrationUserScreenText{ - Title: "Title", - Description: "Description", - DescriptionOrgRegister: "DescriptionOrgRegister", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - EmailLabel: "EmailLabel", - UsernameLabel: "UsernameLabel", - LanguageLabel: "LanguageLabel", - GenderLabel: "GenderLabel", - PasswordLabel: "PasswordLabel", - PasswordConfirmLabel: "PasswordConfirmLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - NextButtonText: "NextButtonText", - BackButtonText: "BackButtonText", - }, - ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{ - Title: "Title", - Description: "Description", - EmailLabel: "EmailLabel", - UsernameLabel: "UsernameLabel", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - LanguageLabel: "LanguageLabel", - NicknameLabel: "NicknameLabel", - PhoneLabel: "PhoneLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - BackButtonText: "BackButtonText", - NextButtonText: "NextButtonText", - }, - RegistrationOrg: domain.RegistrationOrgScreenText{ - Title: "Title", - Description: "Description", - OrgNameLabel: "OrgNameLabel", - FirstnameLabel: "FirstnameLabel", - LastnameLabel: "LastnameLabel", - UsernameLabel: "UsernameLabel", - EmailLabel: "EmailLabel", - PasswordLabel: "PasswordLabel", - PasswordConfirmLabel: "PasswordConfirmLabel", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - SaveButtonText: "SaveButtonText", - }, - LinkingUsersDone: domain.LinkingUserDoneScreenText{ - Title: "Title", - Description: "Description", - CancelButtonText: "CancelButtonText", - NextButtonText: "NextButtonText", - }, - ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{ - Title: "Title", - Description: "Description", - LinkButtonText: "LinkButtonText", - AutoRegisterButtonText: "AutoRegisterButtonText", - TOSAndPrivacyLabel: "TOSAndPrivacyLabel", - TOSConfirm: "TOSConfirm", - TOSLinkText: "TOSLinkText", - TOSConfirmAnd: "TOSConfirmAnd", - PrivacyLinkText: "PrivacyLinkText", - }, - LoginSuccess: domain.SuccessLoginScreenText{ - Title: "Title", - AutoRedirectDescription: "AutoRedirectDescription", - RedirectedDescription: "RedirectedDescription", - NextButtonText: "NextButtonText", - }, - LogoutDone: domain.LogoutDoneScreenText{ - Title: "Title", - Description: "Description", - LoginButtonText: "LoginButtonText", - }, - Footer: domain.FooterText{ - TOS: "TOS", - PrivacyPolicy: "PrivacyPolicy", - Help: "Help", - }, - }, - }, - res: res{ - want: &domain.ObjectDetails{ - ResourceOwner: "IAM", - }, - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - r := &Commands{ - eventstore: tt.fields.eventstore, - } - got, err := r.SetCustomIAMLoginText(tt.args.ctx, tt.args.config) - if tt.res.err == nil { - assert.NoError(t, err) - } - if tt.res.err != nil && !tt.res.err(err) { - t.Errorf("got wrong err: %v ", err) - } - if tt.res.err == nil { - assert.Equal(t, tt.res.want, got) - } - }) - } -} diff --git a/internal/command/iam_custom_message_text.go b/internal/command/iam_custom_message_text.go deleted file mode 100644 index 6d2722eab2..0000000000 --- a/internal/command/iam_custom_message_text.go +++ /dev/null @@ -1,123 +0,0 @@ -package command - -import ( - "context" - - "github.com/caos/zitadel/internal/domain" - caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" - "golang.org/x/text/language" -) - -func (c *Commands) SetDefaultMessageText(ctx context.Context, messageText *domain.CustomMessageText) (*domain.ObjectDetails, error) { - iamAgg := iam.NewAggregate() - events, existingMessageText, err := c.setDefaultMessageText(ctx, &iamAgg.Aggregate, messageText) - if err != nil { - return nil, err - } - pushedEvents, err := c.eventstore.Push(ctx, events...) - if err != nil { - return nil, err - } - err = AppendAndReduce(existingMessageText, pushedEvents...) - if err != nil { - return nil, err - } - return writeModelToObjectDetails(&existingMessageText.WriteModel), nil -} - -func (c *Commands) setDefaultMessageText(ctx context.Context, iamAgg *eventstore.Aggregate, msg *domain.CustomMessageText) ([]eventstore.Command, *IAMCustomMessageTextReadModel, error) { - if !msg.IsValid() { - return nil, nil, caos_errs.ThrowInvalidArgument(nil, "IAM-kd9fs", "Errors.CustomMessageText.Invalid") - } - - existingMessageText, err := c.defaultCustomMessageTextWriteModelByID(ctx, msg.MessageTextType, msg.Language) - if err != nil { - return nil, nil, err - } - - events := make([]eventstore.Command, 0) - if existingMessageText.Greeting != msg.Greeting { - if msg.Greeting != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageGreeting, msg.Greeting, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageGreeting, msg.Language)) - } - } - if existingMessageText.Subject != msg.Subject { - if msg.Subject != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageSubject, msg.Subject, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageSubject, msg.Language)) - } - } - if existingMessageText.Title != msg.Title { - if msg.Title != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageTitle, msg.Title, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageTitle, msg.Language)) - } - } - if existingMessageText.PreHeader != msg.PreHeader { - if msg.PreHeader != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessagePreHeader, msg.PreHeader, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessagePreHeader, msg.Language)) - } - } - if existingMessageText.Text != msg.Text { - if msg.Text != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageText, msg.Text, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageText, msg.Language)) - } - } - if existingMessageText.ButtonText != msg.ButtonText { - if msg.ButtonText != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageButtonText, msg.ButtonText, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageButtonText, msg.Language)) - } - } - if existingMessageText.FooterText != msg.FooterText { - if msg.FooterText != "" { - events = append(events, iam.NewCustomTextSetEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageFooterText, msg.FooterText, msg.Language)) - } else { - events = append(events, iam.NewCustomTextRemovedEvent(ctx, iamAgg, msg.MessageTextType, domain.MessageFooterText, msg.Language)) - } - } - return events, existingMessageText, nil -} - -func (c *Commands) RemoveIAMMessageTexts(ctx context.Context, messageTextType string, lang language.Tag) (*domain.ObjectDetails, error) { - if messageTextType == "" || lang == language.Und { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-fjw9b", "Errors.CustomMessageText.Invalid") - } - customText, err := c.defaultCustomMessageTextWriteModelByID(ctx, messageTextType, lang) - if err != nil { - return nil, err - } - if customText.State == domain.PolicyStateUnspecified || customText.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "Org-fju90", "Errors.CustomMessageText.NotFound") - } - iamAgg := IAMAggregateFromWriteModel(&customText.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewCustomTextTemplateRemovedEvent(ctx, iamAgg, messageTextType, lang)) - if err != nil { - return nil, err - } - err = AppendAndReduce(customText, pushedEvents...) - if err != nil { - return nil, err - } - return writeModelToObjectDetails(&customText.WriteModel), nil -} - -func (c *Commands) defaultCustomMessageTextWriteModelByID(ctx context.Context, messageType string, lang language.Tag) (*IAMCustomMessageTextReadModel, error) { - writeModel := NewIAMCustomMessageTextWriteModel(messageType, lang) - err := c.eventstore.FilterToQueryReducer(ctx, writeModel) - if err != nil { - return nil, err - } - return writeModel, nil -} diff --git a/internal/command/iam_member.go b/internal/command/iam_member.go deleted file mode 100644 index 39844d7e02..0000000000 --- a/internal/command/iam_member.go +++ /dev/null @@ -1,142 +0,0 @@ -package command - -import ( - "context" - "reflect" - - "github.com/caos/zitadel/internal/eventstore" - - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/errors" - caos_errs "github.com/caos/zitadel/internal/errors" - iam_repo "github.com/caos/zitadel/internal/repository/iam" - "github.com/caos/zitadel/internal/telemetry/tracing" -) - -func (c *Commands) AddIAMMember(ctx context.Context, member *domain.Member) (*domain.Member, error) { - if member.UserID == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-Mf83b", "Errors.IAM.MemberInvalid") - } - addedMember := NewIAMMemberWriteModel(member.UserID) - iamAgg := IAMAggregateFromWriteModel(&addedMember.MemberWriteModel.WriteModel) - err := c.checkUserExists(ctx, addedMember.UserID, "") - if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "IAM-5N9vs", "Errors.User.NotFound") - } - event, err := c.addIAMMember(ctx, iamAgg, addedMember, member) - if err != nil { - return nil, err - } - - pushedEvents, err := c.eventstore.Push(ctx, event) - if err != nil { - return nil, err - } - err = AppendAndReduce(addedMember, pushedEvents...) - if err != nil { - return nil, err - } - return memberWriteModelToMember(&addedMember.MemberWriteModel), nil -} - -func (c *Commands) addIAMMember(ctx context.Context, iamAgg *eventstore.Aggregate, addedMember *IAMMemberWriteModel, member *domain.Member) (eventstore.Command, error) { - if !member.IsIAMValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-GR34U", "Errors.IAM.MemberInvalid") - } - if len(domain.CheckForInvalidRoles(member.Roles, domain.IAMRolePrefix, c.zitadelRoles)) > 0 { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-4m0fS", "Errors.IAM.MemberInvalid") - } - err := c.eventstore.FilterToQueryReducer(ctx, addedMember) - if err != nil { - return nil, err - } - if addedMember.State == domain.MemberStateActive { - return nil, errors.ThrowAlreadyExists(nil, "IAM-sdgQ4", "Errors.IAM.Member.AlreadyExists") - } - - return iam_repo.NewMemberAddedEvent(ctx, iamAgg, member.UserID, member.Roles...), nil -} - -//ChangeIAMMember updates an existing member -func (c *Commands) ChangeIAMMember(ctx context.Context, member *domain.Member) (*domain.Member, error) { - if !member.IsIAMValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-LiaZi", "Errors.IAM.MemberInvalid") - } - if len(domain.CheckForInvalidRoles(member.Roles, domain.IAMRolePrefix, c.zitadelRoles)) > 0 { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-3m9fs", "Errors.IAM.MemberInvalid") - } - - existingMember, err := c.iamMemberWriteModelByID(ctx, member.UserID) - if err != nil { - return nil, err - } - - if reflect.DeepEqual(existingMember.Roles, member.Roles) { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-LiaZi", "Errors.IAM.Member.RolesNotChanged") - } - iamAgg := IAMAggregateFromWriteModel(&existingMember.MemberWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewMemberChangedEvent(ctx, iamAgg, member.UserID, member.Roles...)) - if err != nil { - return nil, err - } - err = AppendAndReduce(existingMember, pushedEvents...) - if err != nil { - return nil, err - } - - return memberWriteModelToMember(&existingMember.MemberWriteModel), nil -} - -func (c *Commands) RemoveIAMMember(ctx context.Context, userID string) (*domain.ObjectDetails, error) { - if userID == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-LiaZi", "Errors.IDMissing") - } - memberWriteModel, err := c.iamMemberWriteModelByID(ctx, userID) - if err != nil && !errors.IsNotFound(err) { - return nil, err - } - if errors.IsNotFound(err) { - return nil, nil - } - - iamAgg := IAMAggregateFromWriteModel(&memberWriteModel.MemberWriteModel.WriteModel) - removeEvent := c.removeIAMMember(ctx, iamAgg, userID, false) - pushedEvents, err := c.eventstore.Push(ctx, removeEvent) - if err != nil { - return nil, err - } - err = AppendAndReduce(memberWriteModel, pushedEvents...) - if err != nil { - return nil, err - } - - return writeModelToObjectDetails(&memberWriteModel.MemberWriteModel.WriteModel), nil -} - -func (c *Commands) removeIAMMember(ctx context.Context, iamAgg *eventstore.Aggregate, userID string, cascade bool) eventstore.Command { - if cascade { - return iam_repo.NewMemberCascadeRemovedEvent( - ctx, - iamAgg, - userID) - } else { - return iam_repo.NewMemberRemovedEvent(ctx, iamAgg, userID) - } -} - -func (c *Commands) iamMemberWriteModelByID(ctx context.Context, userID string) (member *IAMMemberWriteModel, err error) { - ctx, span := tracing.NewSpan(ctx) - defer func() { span.EndWithError(err) }() - - writeModel := NewIAMMemberWriteModel(userID) - err = c.eventstore.FilterToQueryReducer(ctx, writeModel) - if err != nil { - return nil, err - } - - if writeModel.State == domain.MemberStateUnspecified || writeModel.State == domain.MemberStateRemoved { - return nil, errors.ThrowNotFound(nil, "IAM-D8JxR", "Errors.NotFound") - } - - return writeModel, nil -} diff --git a/internal/command/iam_policy_org_iam.go b/internal/command/iam_policy_org_iam.go deleted file mode 100644 index e910c88f4f..0000000000 --- a/internal/command/iam_policy_org_iam.go +++ /dev/null @@ -1,92 +0,0 @@ -package command - -import ( - "context" - - "github.com/caos/zitadel/internal/domain" - caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" - "github.com/caos/zitadel/internal/telemetry/tracing" -) - -func (c *Commands) AddDefaultOrgIAMPolicy(ctx context.Context, policy *domain.OrgIAMPolicy) (*domain.OrgIAMPolicy, error) { - addedPolicy := NewIAMOrgIAMPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - event, err := c.addDefaultOrgIAMPolicy(ctx, iamAgg, addedPolicy, policy) - if err != nil { - return nil, err - } - - pushedEvents, err := c.eventstore.Push(ctx, event) - if err != nil { - return nil, err - } - err = AppendAndReduce(addedPolicy, pushedEvents...) - if err != nil { - return nil, err - } - return writeModelToOrgIAMPolicy(addedPolicy), nil -} - -func (c *Commands) addDefaultOrgIAMPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMOrgIAMPolicyWriteModel, policy *domain.OrgIAMPolicy) (eventstore.Command, error) { - err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) - if err != nil { - return nil, err - } - if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-Lk0dS", "Errors.IAM.OrgIAMPolicy.AlreadyExists") - } - return iam_repo.NewOrgIAMPolicyAddedEvent(ctx, iamAgg, policy.UserLoginMustBeDomain), nil -} - -func (c *Commands) ChangeDefaultOrgIAMPolicy(ctx context.Context, policy *domain.OrgIAMPolicy) (*domain.OrgIAMPolicy, error) { - existingPolicy, err := c.defaultOrgIAMPolicyWriteModelByID(ctx) - if err != nil { - return nil, err - } - if !existingPolicy.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0Pl0d", "Errors.IAM.OrgIAMPolicy.NotFound") - } - - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.PolicyOrgIAMWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.UserLoginMustBeDomain) - if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") - } - - pushedEvents, err := c.eventstore.Push(ctx, changedEvent) - if err != nil { - return nil, err - } - err = AppendAndReduce(existingPolicy, pushedEvents...) - if err != nil { - return nil, err - } - return writeModelToOrgIAMPolicy(existingPolicy), nil -} - -func (c *Commands) getDefaultOrgIAMPolicy(ctx context.Context) (*domain.OrgIAMPolicy, error) { - policyWriteModel, err := c.defaultOrgIAMPolicyWriteModelByID(ctx) - if err != nil { - return nil, err - } - if !policyWriteModel.State.Exists() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-3n8fs", "Errors.IAM.PasswordComplexityPolicy.NotFound") - } - policy := writeModelToOrgIAMPolicy(policyWriteModel) - policy.Default = true - return policy, nil -} - -func (c *Commands) defaultOrgIAMPolicyWriteModelByID(ctx context.Context) (policy *IAMOrgIAMPolicyWriteModel, err error) { - ctx, span := tracing.NewSpan(ctx) - defer func() { span.EndWithError(err) }() - - writeModel := NewIAMOrgIAMPolicyWriteModel() - err = c.eventstore.FilterToQueryReducer(ctx, writeModel) - if err != nil { - return nil, err - } - return writeModel, nil -} diff --git a/internal/command/iam_policy_org_iam_model.go b/internal/command/iam_policy_org_iam_model.go deleted file mode 100644 index cbff3c9cc3..0000000000 --- a/internal/command/iam_policy_org_iam_model.go +++ /dev/null @@ -1,71 +0,0 @@ -package command - -import ( - "context" - - "github.com/caos/zitadel/internal/eventstore" - - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" - "github.com/caos/zitadel/internal/repository/policy" -) - -type IAMOrgIAMPolicyWriteModel struct { - PolicyOrgIAMWriteModel -} - -func NewIAMOrgIAMPolicyWriteModel() *IAMOrgIAMPolicyWriteModel { - return &IAMOrgIAMPolicyWriteModel{ - PolicyOrgIAMWriteModel{ - WriteModel: eventstore.WriteModel{ - AggregateID: domain.IAMID, - ResourceOwner: domain.IAMID, - }, - }, - } -} - -func (wm *IAMOrgIAMPolicyWriteModel) AppendEvents(events ...eventstore.Event) { - for _, event := range events { - switch e := event.(type) { - case *iam.OrgIAMPolicyAddedEvent: - wm.PolicyOrgIAMWriteModel.AppendEvents(&e.OrgIAMPolicyAddedEvent) - case *iam.OrgIAMPolicyChangedEvent: - wm.PolicyOrgIAMWriteModel.AppendEvents(&e.OrgIAMPolicyChangedEvent) - } - } -} - -func (wm *IAMOrgIAMPolicyWriteModel) Reduce() error { - return wm.PolicyOrgIAMWriteModel.Reduce() -} - -func (wm *IAMOrgIAMPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { - return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). - ResourceOwner(wm.ResourceOwner). - AddQuery(). - AggregateTypes(iam.AggregateType). - AggregateIDs(wm.PolicyOrgIAMWriteModel.AggregateID). - EventTypes( - iam.OrgIAMPolicyAddedEventType, - iam.OrgIAMPolicyChangedEventType). - Builder() -} - -func (wm *IAMOrgIAMPolicyWriteModel) NewChangedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - userLoginMustBeDomain bool) (*iam.OrgIAMPolicyChangedEvent, bool) { - changes := make([]policy.OrgIAMPolicyChanges, 0) - if wm.UserLoginMustBeDomain != userLoginMustBeDomain { - changes = append(changes, policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain)) - } - if len(changes) == 0 { - return nil, false - } - changedEvent, err := iam.NewOrgIAMPolicyChangedEvent(ctx, aggregate, changes) - if err != nil { - return nil, false - } - return changedEvent, true -} diff --git a/internal/command/iam_policy_password_age_model.go b/internal/command/instancce_policy_password_age_model.go similarity index 58% rename from internal/command/iam_policy_password_age_model.go rename to internal/command/instancce_policy_password_age_model.go index 0625c4f481..72b53d1791 100644 --- a/internal/command/iam_policy_password_age_model.go +++ b/internal/command/instancce_policy_password_age_model.go @@ -6,16 +6,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMPasswordAgePolicyWriteModel struct { +type InstancePasswordAgePolicyWriteModel struct { PasswordAgePolicyWriteModel } -func NewIAMPasswordAgePolicyWriteModel() *IAMPasswordAgePolicyWriteModel { - return &IAMPasswordAgePolicyWriteModel{ +func NewInstancePasswordAgePolicyWriteModel() *InstancePasswordAgePolicyWriteModel { + return &InstancePasswordAgePolicyWriteModel{ PasswordAgePolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,38 +25,38 @@ func NewIAMPasswordAgePolicyWriteModel() *IAMPasswordAgePolicyWriteModel { } } -func (wm *IAMPasswordAgePolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstancePasswordAgePolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.PasswordAgePolicyAddedEvent: + case *instance.PasswordAgePolicyAddedEvent: wm.PasswordAgePolicyWriteModel.AppendEvents(&e.PasswordAgePolicyAddedEvent) - case *iam.PasswordAgePolicyChangedEvent: + case *instance.PasswordAgePolicyChangedEvent: wm.PasswordAgePolicyWriteModel.AppendEvents(&e.PasswordAgePolicyChangedEvent) } } } -func (wm *IAMPasswordAgePolicyWriteModel) Reduce() error { +func (wm *InstancePasswordAgePolicyWriteModel) Reduce() error { return wm.PasswordAgePolicyWriteModel.Reduce() } -func (wm *IAMPasswordAgePolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstancePasswordAgePolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.PasswordAgePolicyWriteModel.AggregateID). EventTypes( - iam.PasswordAgePolicyAddedEventType, - iam.PasswordAgePolicyChangedEventType). + instance.PasswordAgePolicyAddedEventType, + instance.PasswordAgePolicyChangedEventType). Builder() } -func (wm *IAMPasswordAgePolicyWriteModel) NewChangedEvent( +func (wm *InstancePasswordAgePolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, expireWarnDays, - maxAgeDays uint64) (*iam.PasswordAgePolicyChangedEvent, bool) { + maxAgeDays uint64) (*instance.PasswordAgePolicyChangedEvent, bool) { changes := make([]policy.PasswordAgePolicyChanges, 0) if wm.ExpireWarnDays != expireWarnDays { changes = append(changes, policy.ChangeExpireWarnDays(expireWarnDays)) @@ -67,7 +67,7 @@ func (wm *IAMPasswordAgePolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewPasswordAgePolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewPasswordAgePolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam.go b/internal/command/instance.go similarity index 66% rename from internal/command/iam.go rename to internal/command/instance.go index 4847dd6f52..b37a0ed2a2 100644 --- a/internal/command/iam.go +++ b/internal/command/instance.go @@ -6,22 +6,22 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" "golang.org/x/text/language" ) //TODO: private as soon as setup uses query -func (c *Commands) GetIAM(ctx context.Context) (*domain.IAM, error) { - iamWriteModel := NewIAMWriteModel() +func (c *Commands) GetInstance(ctx context.Context) (*domain.Instance, error) { + iamWriteModel := NewInstanceWriteModel() err := c.eventstore.FilterToQueryReducer(ctx, iamWriteModel) if err != nil { return nil, err } - return writeModelToIAM(iamWriteModel), nil + return writeModelToInstance(iamWriteModel), nil } -func (c *Commands) setGlobalOrg(ctx context.Context, iamAgg *eventstore.Aggregate, iamWriteModel *IAMWriteModel, orgID string) (eventstore.Command, error) { +func (c *Commands) setGlobalOrg(ctx context.Context, iamAgg *eventstore.Aggregate, iamWriteModel *InstanceWriteModel, orgID string) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, iamWriteModel) if err != nil { return nil, err @@ -29,10 +29,10 @@ func (c *Commands) setGlobalOrg(ctx context.Context, iamAgg *eventstore.Aggregat if iamWriteModel.GlobalOrgID != "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-HGG24", "Errors.IAM.GlobalOrgAlreadySet") } - return iam.NewGlobalOrgSetEventEvent(ctx, iamAgg, orgID), nil + return instance.NewGlobalOrgSetEventEvent(ctx, iamAgg, orgID), nil } -func (c *Commands) setIAMProject(ctx context.Context, iamAgg *eventstore.Aggregate, iamWriteModel *IAMWriteModel, projectID string) (eventstore.Command, error) { +func (c *Commands) setIAMProject(ctx context.Context, iamAgg *eventstore.Aggregate, iamWriteModel *InstanceWriteModel, projectID string) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, iamWriteModel) if err != nil { return nil, err @@ -40,7 +40,7 @@ func (c *Commands) setIAMProject(ctx context.Context, iamAgg *eventstore.Aggrega if iamWriteModel.ProjectID != "" { return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-EGbw2", "Errors.IAM.IAMProjectAlreadySet") } - return iam.NewIAMProjectSetEvent(ctx, iamAgg, projectID), nil + return instance.NewIAMProjectSetEvent(ctx, iamAgg, projectID), nil } func (c *Commands) SetDefaultLanguage(ctx context.Context, language language.Tag) (*domain.ObjectDetails, error) { @@ -48,8 +48,8 @@ func (c *Commands) SetDefaultLanguage(ctx context.Context, language language.Tag if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&iamWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewDefaultLanguageSetEvent(ctx, iamAgg, language)) + iamAgg := InstanceAggregateFromWriteModel(&iamWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewDefaultLanguageSetEvent(ctx, iamAgg, language)) if err != nil { return nil, err } @@ -60,11 +60,11 @@ func (c *Commands) SetDefaultLanguage(ctx context.Context, language language.Tag return writeModelToObjectDetails(&iamWriteModel.WriteModel), nil } -func (c *Commands) getIAMWriteModel(ctx context.Context) (_ *IAMWriteModel, err error) { +func (c *Commands) getIAMWriteModel(ctx context.Context) (_ *InstanceWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMWriteModel() + writeModel := NewInstanceWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_converter.go b/internal/command/instance_converter.go similarity index 96% rename from internal/command/iam_converter.go rename to internal/command/instance_converter.go index ddc9e81bc5..9fca854b88 100644 --- a/internal/command/iam_converter.go +++ b/internal/command/instance_converter.go @@ -15,8 +15,8 @@ func writeModelToObjectRoot(writeModel eventstore.WriteModel) models.ObjectRoot } } -func writeModelToIAM(wm *IAMWriteModel) *domain.IAM { - return &domain.IAM{ +func writeModelToInstance(wm *InstanceWriteModel) *domain.Instance { + return &domain.Instance{ ObjectRoot: writeModelToObjectRoot(wm.WriteModel), SetUpStarted: wm.SetUpStarted, SetUpDone: wm.SetUpDone, @@ -74,9 +74,9 @@ func writeModelToMailTemplate(wm *MailTemplateWriteModel) *domain.MailTemplate { } } -func writeModelToOrgIAMPolicy(wm *IAMOrgIAMPolicyWriteModel) *domain.OrgIAMPolicy { - return &domain.OrgIAMPolicy{ - ObjectRoot: writeModelToObjectRoot(wm.PolicyOrgIAMWriteModel.WriteModel), +func writeModelToDomainPolicy(wm *InstanceDomainPolicyWriteModel) *domain.DomainPolicy { + return &domain.DomainPolicy{ + ObjectRoot: writeModelToObjectRoot(wm.PolicyDomainWriteModel.WriteModel), UserLoginMustBeDomain: wm.UserLoginMustBeDomain, } } diff --git a/internal/command/iam_custom_login_text.go b/internal/command/instance_custom_login_text.go similarity index 55% rename from internal/command/iam_custom_login_text.go rename to internal/command/instance_custom_login_text.go index 1e308b90de..bcae2c672a 100644 --- a/internal/command/iam_custom_login_text.go +++ b/internal/command/instance_custom_login_text.go @@ -8,12 +8,12 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -func (c *Commands) SetCustomIAMLoginText(ctx context.Context, loginText *domain.CustomLoginText) (*domain.ObjectDetails, error) { - iamAgg := iam.NewAggregate() - events, existingMailText, err := c.setCustomIAMLoginText(ctx, &iamAgg.Aggregate, loginText) +func (c *Commands) SetCustomInstanceLoginText(ctx context.Context, loginText *domain.CustomLoginText) (*domain.ObjectDetails, error) { + iamAgg := instance.NewAggregate() + events, existingMailText, err := c.setCustomInstanceLoginText(ctx, &iamAgg.Aggregate, loginText) if err != nil { return nil, err } @@ -28,7 +28,7 @@ func (c *Commands) SetCustomIAMLoginText(ctx context.Context, loginText *domain. return writeModelToObjectDetails(&existingMailText.WriteModel), nil } -func (c *Commands) RemoveCustomIAMLoginTexts(ctx context.Context, lang language.Tag) (*domain.ObjectDetails, error) { +func (c *Commands) RemoveCustomInstanceLoginTexts(ctx context.Context, lang language.Tag) (*domain.ObjectDetails, error) { if lang == language.Und { return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-Gfbg3", "Errors.CustomText.Invalid") } @@ -39,8 +39,8 @@ func (c *Commands) RemoveCustomIAMLoginTexts(ctx context.Context, lang language. if customText.State == domain.PolicyStateUnspecified || customText.State == domain.PolicyStateRemoved { return nil, caos_errs.ThrowNotFound(nil, "IAM-fru44", "Errors.CustomText.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&customText.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewCustomTextTemplateRemovedEvent(ctx, iamAgg, domain.LoginCustomText, lang)) + iamAgg := InstanceAggregateFromWriteModel(&customText.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewCustomTextTemplateRemovedEvent(ctx, iamAgg, domain.LoginCustomText, lang)) err = AppendAndReduce(customText, pushedEvents...) if err != nil { return nil, err @@ -48,21 +48,21 @@ func (c *Commands) RemoveCustomIAMLoginTexts(ctx context.Context, lang language. return writeModelToObjectDetails(&customText.WriteModel), nil } -func (c *Commands) setCustomIAMLoginText(ctx context.Context, iamAgg *eventstore.Aggregate, text *domain.CustomLoginText) ([]eventstore.Command, *IAMCustomLoginTextReadModel, error) { +func (c *Commands) setCustomInstanceLoginText(ctx context.Context, instanceAgg *eventstore.Aggregate, text *domain.CustomLoginText) ([]eventstore.Command, *InstanceCustomLoginTextReadModel, error) { if !text.IsValid() { - return nil, nil, caos_errs.ThrowInvalidArgument(nil, "IAM-kd9fs", "Errors.CustomText.Invalid") + return nil, nil, caos_errs.ThrowInvalidArgument(nil, "Instance-kd9fs", "Errors.CustomText.Invalid") } existingLoginText, err := c.defaultLoginTextWriteModelByID(ctx, text.Language) if err != nil { return nil, nil, err } - events := c.createAllLoginTextEvents(ctx, iamAgg, &existingLoginText.CustomLoginTextReadModel, text, true) + events := c.createAllLoginTextEvents(ctx, instanceAgg, &existingLoginText.CustomLoginTextReadModel, text, true) return events, existingLoginText, nil } -func (c *Commands) defaultLoginTextWriteModelByID(ctx context.Context, lang language.Tag) (*IAMCustomLoginTextReadModel, error) { - writeModel := NewIAMCustomLoginTextReadModel(lang) +func (c *Commands) defaultLoginTextWriteModelByID(ctx context.Context, lang language.Tag) (*InstanceCustomLoginTextReadModel, error) { + writeModel := NewInstanceCustomLoginTextReadModel(lang) err := c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_custom_login_text_model.go b/internal/command/instance_custom_login_text_model.go similarity index 53% rename from internal/command/iam_custom_login_text_model.go rename to internal/command/instance_custom_login_text_model.go index 558a11aa98..72b4011e39 100644 --- a/internal/command/iam_custom_login_text_model.go +++ b/internal/command/instance_custom_login_text_model.go @@ -5,15 +5,15 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMCustomLoginTextReadModel struct { +type InstanceCustomLoginTextReadModel struct { CustomLoginTextReadModel } -func NewIAMCustomLoginTextReadModel(lang language.Tag) *IAMCustomLoginTextReadModel { - return &IAMCustomLoginTextReadModel{ +func NewInstanceCustomLoginTextReadModel(lang language.Tag) *InstanceCustomLoginTextReadModel { + return &InstanceCustomLoginTextReadModel{ CustomLoginTextReadModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -24,32 +24,32 @@ func NewIAMCustomLoginTextReadModel(lang language.Tag) *IAMCustomLoginTextReadMo } } -func (wm *IAMCustomLoginTextReadModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceCustomLoginTextReadModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.CustomTextSetEvent: + case *instance.CustomTextSetEvent: wm.CustomLoginTextReadModel.AppendEvents(&e.CustomTextSetEvent) - case *iam.CustomTextRemovedEvent: + case *instance.CustomTextRemovedEvent: wm.CustomLoginTextReadModel.AppendEvents(&e.CustomTextRemovedEvent) - case *iam.CustomTextTemplateRemovedEvent: + case *instance.CustomTextTemplateRemovedEvent: wm.CustomLoginTextReadModel.AppendEvents(&e.CustomTextTemplateRemovedEvent) } } } -func (wm *IAMCustomLoginTextReadModel) Reduce() error { +func (wm *InstanceCustomLoginTextReadModel) Reduce() error { return wm.CustomLoginTextReadModel.Reduce() } -func (wm *IAMCustomLoginTextReadModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceCustomLoginTextReadModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). AggregateIDs(wm.CustomLoginTextReadModel.AggregateID). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). EventTypes( - iam.CustomTextSetEventType, - iam.CustomTextRemovedEventType, - iam.CustomTextTemplateRemovedEventType). + instance.CustomTextSetEventType, + instance.CustomTextRemovedEventType, + instance.CustomTextTemplateRemovedEventType). Builder() } diff --git a/internal/command/instance_custom_login_text_test.go b/internal/command/instance_custom_login_text_test.go new file mode 100644 index 0000000000..6fd9620a15 --- /dev/null +++ b/internal/command/instance_custom_login_text_test.go @@ -0,0 +1,7287 @@ +package command + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + "golang.org/x/text/language" + + "github.com/caos/zitadel/internal/domain" + caos_errs "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore" + "github.com/caos/zitadel/internal/eventstore/repository" + "github.com/caos/zitadel/internal/repository/instance" +) + +func TestCommandSide_SetCustomIAMLoginText(t *testing.T) { + type fields struct { + eventstore *eventstore.Eventstore + } + type args struct { + ctx context.Context + config *domain.CustomLoginText + } + type res struct { + want *domain.ObjectDetails + err func(error) bool + } + tests := []struct { + name string + fields fields + args args + res res + }{ + { + name: "invalid custom login text, error", + fields: fields{ + eventstore: eventstoreExpect( + t, + ), + }, + args: args{ + ctx: context.Background(), + config: &domain.CustomLoginText{}, + }, + res: res{ + err: caos_errs.IsErrorInvalidArgument, + }, + }, + { + name: "custom login text set all fields, ok", + fields: fields{ + eventstore: eventstoreExpect( + t, + expectFilter(), + expectPush( + []*repository.Event{ + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, + ), + ), eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, + ), + ), eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, + ), + ), + }, + ), + ), + }, + args: args{ + ctx: context.Background(), + config: &domain.CustomLoginText{ + Language: language.English, + SelectAccount: domain.SelectAccountScreenText{ + Title: "Title", + Description: "Description", + TitleLinking: "TitleLinking", + DescriptionLinking: "DescriptionLinking", + OtherUser: "OtherUser", + SessionState0: "SessionState0", + SessionState1: "SessionState1", + MustBeMemberOfOrg: "MustBeMemberOfOrg", + }, + Login: domain.LoginScreenText{ + Title: "Title", + Description: "Description", + TitleLinking: "TitleLinking", + DescriptionLinking: "DescriptionLinking", + LoginNameLabel: "LoginNameLabel", + UsernamePlaceholder: "UsernamePlaceholder", + LoginnamePlaceholder: "LoginnamePlaceholder", + RegisterButtonText: "RegisterButtonText", + NextButtonText: "NextButtonText", + ExternalUserDescription: "ExternalUserDescription", + MustBeMemberOfOrg: "MustBeMemberOfOrg", + }, + Password: domain.PasswordScreenText{ + Title: "Title", + Description: "Description", + PasswordLabel: "PasswordLabel", + ResetLinkText: "ResetLinkText", + BackButtonText: "BackButtonText", + NextButtonText: "NextButtonText", + MinLength: "MinLength", + HasUppercase: "HasUppercase", + HasLowercase: "HasLowercase", + HasNumber: "HasNumber", + HasSymbol: "HasSymbol", + Confirmation: "Confirmation", + }, + UsernameChange: domain.UsernameChangeScreenText{ + Title: "Title", + Description: "Description", + UsernameLabel: "UsernameLabel", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + UsernameChangeDone: domain.UsernameChangeDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + InitPassword: domain.InitPasswordScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + NextButtonText: "NextButtonText", + ResendButtonText: "ResendButtonText", + }, + InitPasswordDone: domain.InitPasswordDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + EmailVerification: domain.EmailVerificationScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + ResendButtonText: "ResendButtonText", + }, + EmailVerificationDone: domain.EmailVerificationDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + LoginButtonText: "LoginButtonText", + }, + InitUser: domain.InitializeUserScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + ResendButtonText: "ResendButtonText", + NextButtonText: "NextButtonText", + }, + InitUserDone: domain.InitializeUserDoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + InitMFAPrompt: domain.InitMFAPromptScreenText{ + Title: "Title", + Description: "Description", + Provider0: "Provider0", + Provider1: "Provider1", + SkipButtonText: "SkipButtonText", + NextButtonText: "NextButtonText", + }, + InitMFAOTP: domain.InitMFAOTPScreenText{ + Title: "Title", + Description: "Description", + OTPDescription: "OTPDescription", + SecretLabel: "SecretLabel", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + InitMFAU2F: domain.InitMFAU2FScreenText{ + Title: "Title", + Description: "Description", + TokenNameLabel: "TokenNameLabel", + RegisterTokenButtonText: "RegisterTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + InitMFADone: domain.InitMFADoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + MFAProvider: domain.MFAProvidersText{ + ChooseOther: "ChooseOther", + Provider0: "Provider0", + Provider1: "Provider1", + }, + VerifyMFAOTP: domain.VerifyMFAOTPScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + }, + VerifyMFAU2F: domain.VerifyMFAU2FScreenText{ + Title: "Title", + Description: "Description", + ValidateTokenButtonText: "ValidateTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + Passwordless: domain.PasswordlessScreenText{ + Title: "Title", + Description: "Description", + LoginWithPwButtonText: "LoginWithPwButtonText", + ValidateTokenButtonText: "ValidateTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + PasswordlessPrompt: domain.PasswordlessPromptScreenText{ + Title: "Title", + Description: "Description", + DescriptionInit: "DescriptionInit", + PasswordlessButtonText: "PasswordlessButtonText", + NextButtonText: "NextButtonText", + SkipButtonText: "SkipButtonText", + }, + PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{ + Title: "Title", + Description: "Description", + RegisterTokenButtonText: "RegisterTokenButtonText", + TokenNameLabel: "TokenNameLabel", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{ + Title: "Title", + Description: "Description", + DescriptionClose: "DescriptionClose", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + PasswordChange: domain.PasswordChangeScreenText{ + Title: "Title", + Description: "Description", + OldPasswordLabel: "OldPasswordLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + PasswordChangeDone: domain.PasswordChangeDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + PasswordResetDone: domain.PasswordResetDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + RegisterOption: domain.RegistrationOptionScreenText{ + Title: "Title", + Description: "Description", + RegisterUsernamePasswordButtonText: "RegisterUsernamePasswordButtonText", + ExternalLoginDescription: "ExternalLoginDescription", + }, + RegistrationUser: domain.RegistrationUserScreenText{ + Title: "Title", + Description: "Description", + DescriptionOrgRegister: "DescriptionOrgRegister", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + EmailLabel: "EmailLabel", + UsernameLabel: "UsernameLabel", + LanguageLabel: "LanguageLabel", + GenderLabel: "GenderLabel", + PasswordLabel: "PasswordLabel", + PasswordConfirmLabel: "PasswordConfirmLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + NextButtonText: "NextButtonText", + BackButtonText: "BackButtonText", + }, + ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{ + Title: "Title", + Description: "Description", + EmailLabel: "EmailLabel", + UsernameLabel: "UsernameLabel", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + NicknameLabel: "NicknameLabel", + LanguageLabel: "LanguageLabel", + PhoneLabel: "PhoneLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + BackButtonText: "BackButtonText", + NextButtonText: "NextButtonText", + }, + RegistrationOrg: domain.RegistrationOrgScreenText{ + Title: "Title", + Description: "Description", + OrgNameLabel: "OrgNameLabel", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + UsernameLabel: "UsernameLabel", + EmailLabel: "EmailLabel", + PasswordLabel: "PasswordLabel", + PasswordConfirmLabel: "PasswordConfirmLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + SaveButtonText: "SaveButtonText", + }, + LinkingUsersDone: domain.LinkingUserDoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{ + Title: "Title", + Description: "Description", + LinkButtonText: "LinkButtonText", + AutoRegisterButtonText: "AutoRegisterButtonText", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + }, + LoginSuccess: domain.SuccessLoginScreenText{ + Title: "Title", + AutoRedirectDescription: "AutoRedirectDescription", + RedirectedDescription: "RedirectedDescription", + NextButtonText: "NextButtonText", + }, + LogoutDone: domain.LogoutDoneScreenText{ + Title: "Title", + Description: "Description", + LoginButtonText: "LoginButtonText", + }, + Footer: domain.FooterText{ + TOS: "TOS", + PrivacyPolicy: "PrivacyPolicy", + Help: "Help", + }, + }, + }, + res: res{ + want: &domain.ObjectDetails{ + ResourceOwner: "IAM", + }, + }, + }, + { + name: "custom login text remove all fields, ok", + fields: fields{ + eventstore: eventstoreExpect( + t, + expectFilter( + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, + ), + ), + ), + expectPush( + []*repository.Event{ + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, language.English, + ), + ), + }, + ), + ), + }, + args: args{ + ctx: context.Background(), + config: &domain.CustomLoginText{ + Language: language.English, + SelectAccount: domain.SelectAccountScreenText{}, + Login: domain.LoginScreenText{}, + Password: domain.PasswordScreenText{}, + UsernameChange: domain.UsernameChangeScreenText{}, + UsernameChangeDone: domain.UsernameChangeDoneScreenText{}, + InitPassword: domain.InitPasswordScreenText{}, + InitPasswordDone: domain.InitPasswordDoneScreenText{}, + EmailVerification: domain.EmailVerificationScreenText{}, + EmailVerificationDone: domain.EmailVerificationDoneScreenText{}, + InitUser: domain.InitializeUserScreenText{}, + InitUserDone: domain.InitializeUserDoneScreenText{}, + InitMFAPrompt: domain.InitMFAPromptScreenText{}, + InitMFAOTP: domain.InitMFAOTPScreenText{}, + InitMFAU2F: domain.InitMFAU2FScreenText{}, + InitMFADone: domain.InitMFADoneScreenText{}, + MFAProvider: domain.MFAProvidersText{}, + VerifyMFAOTP: domain.VerifyMFAOTPScreenText{}, + VerifyMFAU2F: domain.VerifyMFAU2FScreenText{}, + Passwordless: domain.PasswordlessScreenText{}, + PasswordlessPrompt: domain.PasswordlessPromptScreenText{}, + PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{}, + PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{}, + PasswordChange: domain.PasswordChangeScreenText{}, + PasswordChangeDone: domain.PasswordChangeDoneScreenText{}, + PasswordResetDone: domain.PasswordResetDoneScreenText{}, + RegisterOption: domain.RegistrationOptionScreenText{}, + RegistrationUser: domain.RegistrationUserScreenText{}, + ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{}, + RegistrationOrg: domain.RegistrationOrgScreenText{}, + LinkingUsersDone: domain.LinkingUserDoneScreenText{}, + ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{}, + LoginSuccess: domain.SuccessLoginScreenText{}, + LogoutDone: domain.LogoutDoneScreenText{}, + Footer: domain.FooterText{}, + }, + }, + res: res{ + want: &domain.ObjectDetails{ + ResourceOwner: "IAM", + }, + }, + }, + { + name: "custom login text set all fields, all texts removed, ok", + fields: fields{ + eventstore: eventstoreExpect( + t, + expectFilter( + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, + ), + ), + + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, language.English, + ), + ), + ), + expectPush( + []*repository.Event{ + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountOtherUser, "OtherUser", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateActive, "SessionState0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountSessionStateInactive, "SessionState1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySelectAccountUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginTitleLinkingProcess, "TitleLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginDescriptionLinkingProcess, "DescriptionLinking", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNameLabel, "LoginNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUsernamePlaceHolder, "UsernamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginLoginnamePlaceHolder, "LoginnamePlaceholder", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginRegisterButtonText, "RegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginExternalUserDescription, "ExternalUserDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLoginUserMustBeMemberOfOrg, "MustBeMemberOfOrg", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetLinkText, "ResetLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordMinLength, "MinLength", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasUppercase, "HasUppercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasLowercase, "HasLowercase", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasNumber, "HasNumber", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordHasSymbol, "HasSymbol", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordConfirmation, "Confirmation", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyUsernameChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitPasswordDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyEmailVerificationDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserResendButtonText, "ResendButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitializeUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptOTPOption, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptU2FOption, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPDescriptionOTP, "OTPDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPSecretLabel, "SecretLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAOTPCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyInitMFADoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersChooseOther, "ChooseOther", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersOTP, "Provider0", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyMFAProvidersU2F, "Provider1", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPCodeLabel, "CodeLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAOTPNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FValidateTokenText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyVerifyMFAU2FErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessLoginWithPwButtonText, "LoginWithPwButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessValidateTokenButtonText, "ValidateTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptDescriptionInit, "DescriptionInit", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptPasswordlessButtonText, "PasswordlessButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessPromptSkipButtonText, "SkipButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationRegisterTokenButtonText, "RegisterTokenButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationTokenNameLabel, "TokenNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationNotSupported, "NotSupported", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationErrorRetry, "ErrorRetry", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneDescriptionClose, "DescriptionClose", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordlessRegistrationDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeOldPasswordLabel, "OldPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordLabel, "NewPasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNewPasswordConfirmLabel, "NewPasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordChangeDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyPasswordResetDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionUserNameButtonText, "RegisterUsernamePasswordButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationOptionExternalLoginDescription, "ExternalLoginDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserDescriptionOrgRegister, "DescriptionOrgRegister", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserGenderLabel, "GenderLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegistrationUserBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNicknameLabel, "NicknameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewLanguageLabel, "LanguageLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPhoneLabel, "PhoneLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewBackButtonText, "BackButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgOrgNameLabel, "OrgNameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgFirstnameLabel, "FirstnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgLastnameLabel, "LastnameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgUsernameLabel, "UsernameLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgEmailLabel, "EmailLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordLabel, "PasswordLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPasswordConfirmLabel, "PasswordConfirmLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgTosConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyRegisterOrgSaveButtonText, "SaveButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneCancelButtonText, "CancelButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLinkingUserDoneNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundLinkButtonText, "LinkButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundAutoRegisterButtonText, "AutoRegisterButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSAndPrivacyLabel, "TOSAndPrivacyLabel", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirm, "TOSConfirm", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSLinkText, "TOSLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundTOSConfirmAnd, "TOSConfirmAnd", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalNotFoundPrivacyLinkText, "PrivacyLinkText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginAutoRedirectDescription, "AutoRedirectDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginRedirectedDescription, "RedirectedDescription", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeySuccessLoginNextButtonText, "NextButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneTitle, "Title", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneDescription, "Description", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyLogoutDoneLoginButtonText, "LoginButtonText", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterTOS, "TOS", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterPrivacyPolicy, "PrivacyPolicy", language.English, + ), + ), + eventFromEventPusher( + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyFooterHelp, "Help", language.English, + ), + ), + }, + ), + ), + }, + args: args{ + ctx: context.Background(), + config: &domain.CustomLoginText{ + Language: language.English, + SelectAccount: domain.SelectAccountScreenText{ + Title: "Title", + Description: "Description", + TitleLinking: "TitleLinking", + DescriptionLinking: "DescriptionLinking", + OtherUser: "OtherUser", + SessionState0: "SessionState0", + SessionState1: "SessionState1", + MustBeMemberOfOrg: "MustBeMemberOfOrg", + }, + Login: domain.LoginScreenText{ + Title: "Title", + Description: "Description", + TitleLinking: "TitleLinking", + DescriptionLinking: "DescriptionLinking", + LoginNameLabel: "LoginNameLabel", + UsernamePlaceholder: "UsernamePlaceholder", + LoginnamePlaceholder: "LoginnamePlaceholder", + RegisterButtonText: "RegisterButtonText", + NextButtonText: "NextButtonText", + ExternalUserDescription: "ExternalUserDescription", + MustBeMemberOfOrg: "MustBeMemberOfOrg", + }, + Password: domain.PasswordScreenText{ + Title: "Title", + Description: "Description", + PasswordLabel: "PasswordLabel", + ResetLinkText: "ResetLinkText", + BackButtonText: "BackButtonText", + NextButtonText: "NextButtonText", + MinLength: "MinLength", + HasUppercase: "HasUppercase", + HasLowercase: "HasLowercase", + HasNumber: "HasNumber", + HasSymbol: "HasSymbol", + Confirmation: "Confirmation", + }, + UsernameChange: domain.UsernameChangeScreenText{ + Title: "Title", + Description: "Description", + UsernameLabel: "UsernameLabel", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + UsernameChangeDone: domain.UsernameChangeDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + InitPassword: domain.InitPasswordScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + NextButtonText: "NextButtonText", + ResendButtonText: "ResendButtonText", + }, + InitPasswordDone: domain.InitPasswordDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + EmailVerification: domain.EmailVerificationScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + ResendButtonText: "ResendButtonText", + }, + EmailVerificationDone: domain.EmailVerificationDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + LoginButtonText: "LoginButtonText", + }, + InitUser: domain.InitializeUserScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + ResendButtonText: "ResendButtonText", + NextButtonText: "NextButtonText", + }, + InitUserDone: domain.InitializeUserDoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + InitMFAPrompt: domain.InitMFAPromptScreenText{ + Title: "Title", + Description: "Description", + Provider0: "Provider0", + Provider1: "Provider1", + SkipButtonText: "SkipButtonText", + NextButtonText: "NextButtonText", + }, + InitMFAOTP: domain.InitMFAOTPScreenText{ + Title: "Title", + Description: "Description", + OTPDescription: "OTPDescription", + SecretLabel: "SecretLabel", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + InitMFAU2F: domain.InitMFAU2FScreenText{ + Title: "Title", + Description: "Description", + TokenNameLabel: "TokenNameLabel", + RegisterTokenButtonText: "RegisterTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + InitMFADone: domain.InitMFADoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + MFAProvider: domain.MFAProvidersText{ + ChooseOther: "ChooseOther", + Provider0: "Provider0", + Provider1: "Provider1", + }, + VerifyMFAOTP: domain.VerifyMFAOTPScreenText{ + Title: "Title", + Description: "Description", + CodeLabel: "CodeLabel", + NextButtonText: "NextButtonText", + }, + VerifyMFAU2F: domain.VerifyMFAU2FScreenText{ + Title: "Title", + Description: "Description", + ValidateTokenButtonText: "ValidateTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + Passwordless: domain.PasswordlessScreenText{ + Title: "Title", + Description: "Description", + LoginWithPwButtonText: "LoginWithPwButtonText", + ValidateTokenButtonText: "ValidateTokenButtonText", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + PasswordlessPrompt: domain.PasswordlessPromptScreenText{ + Title: "Title", + Description: "Description", + DescriptionInit: "DescriptionInit", + PasswordlessButtonText: "PasswordlessButtonText", + NextButtonText: "NextButtonText", + SkipButtonText: "SkipButtonText", + }, + PasswordlessRegistration: domain.PasswordlessRegistrationScreenText{ + Title: "Title", + Description: "Description", + RegisterTokenButtonText: "RegisterTokenButtonText", + TokenNameLabel: "TokenNameLabel", + NotSupported: "NotSupported", + ErrorRetry: "ErrorRetry", + }, + PasswordlessRegistrationDone: domain.PasswordlessRegistrationDoneScreenText{ + Title: "Title", + Description: "Description", + DescriptionClose: "DescriptionClose", + NextButtonText: "NextButtonText", + CancelButtonText: "CancelButtonText", + }, + PasswordChange: domain.PasswordChangeScreenText{ + Title: "Title", + Description: "Description", + OldPasswordLabel: "OldPasswordLabel", + NewPasswordLabel: "NewPasswordLabel", + NewPasswordConfirmLabel: "NewPasswordConfirmLabel", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + PasswordChangeDone: domain.PasswordChangeDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + PasswordResetDone: domain.PasswordResetDoneScreenText{ + Title: "Title", + Description: "Description", + NextButtonText: "NextButtonText", + }, + RegisterOption: domain.RegistrationOptionScreenText{ + Title: "Title", + Description: "Description", + RegisterUsernamePasswordButtonText: "RegisterUsernamePasswordButtonText", + ExternalLoginDescription: "ExternalLoginDescription", + }, + RegistrationUser: domain.RegistrationUserScreenText{ + Title: "Title", + Description: "Description", + DescriptionOrgRegister: "DescriptionOrgRegister", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + EmailLabel: "EmailLabel", + UsernameLabel: "UsernameLabel", + LanguageLabel: "LanguageLabel", + GenderLabel: "GenderLabel", + PasswordLabel: "PasswordLabel", + PasswordConfirmLabel: "PasswordConfirmLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + NextButtonText: "NextButtonText", + BackButtonText: "BackButtonText", + }, + ExternalRegistrationUserOverview: domain.ExternalRegistrationUserOverviewScreenText{ + Title: "Title", + Description: "Description", + EmailLabel: "EmailLabel", + UsernameLabel: "UsernameLabel", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + LanguageLabel: "LanguageLabel", + NicknameLabel: "NicknameLabel", + PhoneLabel: "PhoneLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + BackButtonText: "BackButtonText", + NextButtonText: "NextButtonText", + }, + RegistrationOrg: domain.RegistrationOrgScreenText{ + Title: "Title", + Description: "Description", + OrgNameLabel: "OrgNameLabel", + FirstnameLabel: "FirstnameLabel", + LastnameLabel: "LastnameLabel", + UsernameLabel: "UsernameLabel", + EmailLabel: "EmailLabel", + PasswordLabel: "PasswordLabel", + PasswordConfirmLabel: "PasswordConfirmLabel", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + SaveButtonText: "SaveButtonText", + }, + LinkingUsersDone: domain.LinkingUserDoneScreenText{ + Title: "Title", + Description: "Description", + CancelButtonText: "CancelButtonText", + NextButtonText: "NextButtonText", + }, + ExternalNotFoundOption: domain.ExternalUserNotFoundScreenText{ + Title: "Title", + Description: "Description", + LinkButtonText: "LinkButtonText", + AutoRegisterButtonText: "AutoRegisterButtonText", + TOSAndPrivacyLabel: "TOSAndPrivacyLabel", + TOSConfirm: "TOSConfirm", + TOSLinkText: "TOSLinkText", + TOSConfirmAnd: "TOSConfirmAnd", + PrivacyLinkText: "PrivacyLinkText", + }, + LoginSuccess: domain.SuccessLoginScreenText{ + Title: "Title", + AutoRedirectDescription: "AutoRedirectDescription", + RedirectedDescription: "RedirectedDescription", + NextButtonText: "NextButtonText", + }, + LogoutDone: domain.LogoutDoneScreenText{ + Title: "Title", + Description: "Description", + LoginButtonText: "LoginButtonText", + }, + Footer: domain.FooterText{ + TOS: "TOS", + PrivacyPolicy: "PrivacyPolicy", + Help: "Help", + }, + }, + }, + res: res{ + want: &domain.ObjectDetails{ + ResourceOwner: "IAM", + }, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + r := &Commands{ + eventstore: tt.fields.eventstore, + } + got, err := r.SetCustomInstanceLoginText(tt.args.ctx, tt.args.config) + if tt.res.err == nil { + assert.NoError(t, err) + } + if tt.res.err != nil && !tt.res.err(err) { + t.Errorf("got wrong err: %v ", err) + } + if tt.res.err == nil { + assert.Equal(t, tt.res.want, got) + } + }) + } +} diff --git a/internal/command/instance_custom_message_text.go b/internal/command/instance_custom_message_text.go new file mode 100644 index 0000000000..7c5c0184c1 --- /dev/null +++ b/internal/command/instance_custom_message_text.go @@ -0,0 +1,123 @@ +package command + +import ( + "context" + + "github.com/caos/zitadel/internal/domain" + caos_errs "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore" + "github.com/caos/zitadel/internal/repository/instance" + "golang.org/x/text/language" +) + +func (c *Commands) SetDefaultMessageText(ctx context.Context, messageText *domain.CustomMessageText) (*domain.ObjectDetails, error) { + instanceAgg := instance.NewAggregate() + events, existingMessageText, err := c.setDefaultMessageText(ctx, &instanceAgg.Aggregate, messageText) + if err != nil { + return nil, err + } + pushedEvents, err := c.eventstore.Push(ctx, events...) + if err != nil { + return nil, err + } + err = AppendAndReduce(existingMessageText, pushedEvents...) + if err != nil { + return nil, err + } + return writeModelToObjectDetails(&existingMessageText.WriteModel), nil +} + +func (c *Commands) setDefaultMessageText(ctx context.Context, instanceAgg *eventstore.Aggregate, msg *domain.CustomMessageText) ([]eventstore.Command, *InstanceCustomMessageTextReadModel, error) { + if !msg.IsValid() { + return nil, nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-kd9fs", "Errors.CustomMessageText.Invalid") + } + + existingMessageText, err := c.defaultCustomMessageTextWriteModelByID(ctx, msg.MessageTextType, msg.Language) + if err != nil { + return nil, nil, err + } + + events := make([]eventstore.Command, 0) + if existingMessageText.Greeting != msg.Greeting { + if msg.Greeting != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageGreeting, msg.Greeting, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageGreeting, msg.Language)) + } + } + if existingMessageText.Subject != msg.Subject { + if msg.Subject != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageSubject, msg.Subject, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageSubject, msg.Language)) + } + } + if existingMessageText.Title != msg.Title { + if msg.Title != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageTitle, msg.Title, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageTitle, msg.Language)) + } + } + if existingMessageText.PreHeader != msg.PreHeader { + if msg.PreHeader != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessagePreHeader, msg.PreHeader, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessagePreHeader, msg.Language)) + } + } + if existingMessageText.Text != msg.Text { + if msg.Text != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageText, msg.Text, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageText, msg.Language)) + } + } + if existingMessageText.ButtonText != msg.ButtonText { + if msg.ButtonText != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageButtonText, msg.ButtonText, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageButtonText, msg.Language)) + } + } + if existingMessageText.FooterText != msg.FooterText { + if msg.FooterText != "" { + events = append(events, instance.NewCustomTextSetEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageFooterText, msg.FooterText, msg.Language)) + } else { + events = append(events, instance.NewCustomTextRemovedEvent(ctx, instanceAgg, msg.MessageTextType, domain.MessageFooterText, msg.Language)) + } + } + return events, existingMessageText, nil +} + +func (c *Commands) RemoveInstanceMessageTexts(ctx context.Context, messageTextType string, lang language.Tag) (*domain.ObjectDetails, error) { + if messageTextType == "" || lang == language.Und { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-fjw9b", "Errors.CustomMessageText.Invalid") + } + customText, err := c.defaultCustomMessageTextWriteModelByID(ctx, messageTextType, lang) + if err != nil { + return nil, err + } + if customText.State == domain.PolicyStateUnspecified || customText.State == domain.PolicyStateRemoved { + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-fju90", "Errors.CustomMessageText.NotFound") + } + instanceAgg := InstanceAggregateFromWriteModel(&customText.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewCustomTextTemplateRemovedEvent(ctx, instanceAgg, messageTextType, lang)) + if err != nil { + return nil, err + } + err = AppendAndReduce(customText, pushedEvents...) + if err != nil { + return nil, err + } + return writeModelToObjectDetails(&customText.WriteModel), nil +} + +func (c *Commands) defaultCustomMessageTextWriteModelByID(ctx context.Context, messageType string, lang language.Tag) (*InstanceCustomMessageTextReadModel, error) { + writeModel := NewInstanceCustomMessageTextWriteModel(messageType, lang) + err := c.eventstore.FilterToQueryReducer(ctx, writeModel) + if err != nil { + return nil, err + } + return writeModel, nil +} diff --git a/internal/command/iam_custom_message_text_model.go b/internal/command/instance_custom_message_text_model.go similarity index 53% rename from internal/command/iam_custom_message_text_model.go rename to internal/command/instance_custom_message_text_model.go index f8596ca16e..c082ce72fa 100644 --- a/internal/command/iam_custom_message_text_model.go +++ b/internal/command/instance_custom_message_text_model.go @@ -5,15 +5,15 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMCustomMessageTextReadModel struct { +type InstanceCustomMessageTextReadModel struct { CustomMessageTextReadModel } -func NewIAMCustomMessageTextWriteModel(messageTextType string, lang language.Tag) *IAMCustomMessageTextReadModel { - return &IAMCustomMessageTextReadModel{ +func NewInstanceCustomMessageTextWriteModel(messageTextType string, lang language.Tag) *InstanceCustomMessageTextReadModel { + return &InstanceCustomMessageTextReadModel{ CustomMessageTextReadModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,29 +25,29 @@ func NewIAMCustomMessageTextWriteModel(messageTextType string, lang language.Tag } } -func (wm *IAMCustomMessageTextReadModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceCustomMessageTextReadModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.CustomTextSetEvent: + case *instance.CustomTextSetEvent: wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextSetEvent) - case *iam.CustomTextRemovedEvent: + case *instance.CustomTextRemovedEvent: wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextRemovedEvent) - case *iam.CustomTextTemplateRemovedEvent: + case *instance.CustomTextTemplateRemovedEvent: wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextTemplateRemovedEvent) } } } -func (wm *IAMCustomMessageTextReadModel) Reduce() error { +func (wm *InstanceCustomMessageTextReadModel) Reduce() error { return wm.CustomMessageTextReadModel.Reduce() } -func (wm *IAMCustomMessageTextReadModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceCustomMessageTextReadModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.CustomMessageTextReadModel.AggregateID). - EventTypes(iam.CustomTextSetEventType, iam.CustomTextRemovedEventType, iam.CustomTextTemplateRemovedEventType). + EventTypes(instance.CustomTextSetEventType, instance.CustomTextRemovedEventType, instance.CustomTextTemplateRemovedEventType). Builder() } diff --git a/internal/command/iam_custom_message_text_test.go b/internal/command/instance_custom_message_text_test.go similarity index 79% rename from internal/command/iam_custom_message_text_test.go rename to internal/command/instance_custom_message_text_test.go index 8df3cdab00..89ef6af8d8 100644 --- a/internal/command/iam_custom_message_text_test.go +++ b/internal/command/instance_custom_message_text_test.go @@ -11,7 +11,7 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_SetDefaultMessageText(t *testing.T) { @@ -56,8 +56,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageGreeting, "Greeting", @@ -65,8 +65,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageSubject, "Subject", @@ -74,8 +74,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageTitle, "Title", @@ -83,8 +83,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessagePreHeader, "PreHeader", @@ -92,8 +92,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageText, "Text", @@ -101,8 +101,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageButtonText, "ButtonText", @@ -110,8 +110,8 @@ func TestCommandSide_SetDefaultMessageText(t *testing.T) { ), ), eventFromEventPusher( - iam.NewCustomTextSetEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewCustomTextSetEvent(context.Background(), + &instance.NewAggregate().Aggregate, "Template", domain.MessageFooterText, "Footer", diff --git a/internal/command/iam_custom_text.go b/internal/command/instance_custom_text.go similarity index 52% rename from internal/command/iam_custom_text.go rename to internal/command/instance_custom_text.go index b078fb9694..267691f798 100644 --- a/internal/command/iam_custom_text.go +++ b/internal/command/instance_custom_text.go @@ -8,14 +8,14 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) -func (c *Commands) SetIAMCustomText(ctx context.Context, customText *domain.CustomText) (*domain.CustomText, error) { - setText := NewIAMCustomTextWriteModel(customText.Key, customText.Language) - iamAgg := IAMAggregateFromWriteModel(&setText.CustomTextWriteModel.WriteModel) - event, err := c.setDefaultCustomText(ctx, iamAgg, setText, customText) +func (c *Commands) SetInstanceCustomText(ctx context.Context, customText *domain.CustomText) (*domain.CustomText, error) { + setText := NewInstanceCustomTextWriteModel(customText.Key, customText.Language) + instanceAgg := InstanceAggregateFromWriteModel(&setText.CustomTextWriteModel.WriteModel) + event, err := c.setDefaultCustomText(ctx, instanceAgg, setText, customText) if err != nil { return nil, err } @@ -31,28 +31,28 @@ func (c *Commands) SetIAMCustomText(ctx context.Context, customText *domain.Cust return writeModelToCustomText(&setText.CustomTextWriteModel), nil } -func (c *Commands) setDefaultCustomText(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMCustomTextWriteModel, text *domain.CustomText) (eventstore.Command, error) { +func (c *Commands) setDefaultCustomText(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceCustomTextWriteModel, text *domain.CustomText) (eventstore.Command, error) { if !text.IsValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-3MN0s", "Errors.CustomText.Invalid") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-3MN0s", "Errors.CustomText.Invalid") } err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } - return iam_repo.NewCustomTextSetEvent( + return instance.NewCustomTextSetEvent( ctx, - iamAgg, + instanceAgg, text.Template, text.Key, text.Text, text.Language), nil } -func (c *Commands) defaultCustomTextWriteModelByID(ctx context.Context, key string, language language.Tag) (policy *IAMCustomTextWriteModel, err error) { +func (c *Commands) defaultCustomTextWriteModelByID(ctx context.Context, key string, language language.Tag) (policy *InstanceCustomTextWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMCustomTextWriteModel(key, language) + writeModel := NewInstanceCustomTextWriteModel(key, language) err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_custom_text_model.go b/internal/command/instance_custom_text_model.go similarity index 55% rename from internal/command/iam_custom_text_model.go rename to internal/command/instance_custom_text_model.go index 8015a01eaf..04258c3d76 100644 --- a/internal/command/iam_custom_text_model.go +++ b/internal/command/instance_custom_text_model.go @@ -5,15 +5,15 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMCustomTextWriteModel struct { +type InstanceCustomTextWriteModel struct { CustomTextWriteModel } -func NewIAMCustomTextWriteModel(key string, language language.Tag) *IAMCustomTextWriteModel { - return &IAMCustomTextWriteModel{ +func NewInstanceCustomTextWriteModel(key string, language language.Tag) *InstanceCustomTextWriteModel { + return &InstanceCustomTextWriteModel{ CustomTextWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,26 +25,26 @@ func NewIAMCustomTextWriteModel(key string, language language.Tag) *IAMCustomTex } } -func (wm *IAMCustomTextWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceCustomTextWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.CustomTextSetEvent: + case *instance.CustomTextSetEvent: wm.CustomTextWriteModel.AppendEvents(&e.CustomTextSetEvent) } } } -func (wm *IAMCustomTextWriteModel) Reduce() error { +func (wm *InstanceCustomTextWriteModel) Reduce() error { return wm.CustomTextWriteModel.Reduce() } -func (wm *IAMCustomTextWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceCustomTextWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). AggregateIDs(wm.CustomTextWriteModel.AggregateID). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). EventTypes( - iam.CustomTextSetEventType). + instance.CustomTextSetEventType). Builder() } diff --git a/internal/command/iam_debug_notification_file.go b/internal/command/instance_debug_notification_file.go similarity index 64% rename from internal/command/iam_debug_notification_file.go rename to internal/command/instance_debug_notification_file.go index 2b231cca56..0dc261d8f2 100644 --- a/internal/command/iam_debug_notification_file.go +++ b/internal/command/instance_debug_notification_file.go @@ -7,14 +7,14 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/notification/channels/fs" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDebugNotificationProviderFile(ctx context.Context, fileSystemProvider *fs.FSConfig) (*domain.ObjectDetails, error) { - writeModel := NewIAMDebugNotificationFileWriteModel() - iamAgg := IAMAggregateFromWriteModel(&writeModel.WriteModel) - events, err := c.addDefaultDebugNotificationFile(ctx, iamAgg, writeModel, fileSystemProvider) + writeModel := NewInstanceDebugNotificationFileWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&writeModel.WriteModel) + events, err := c.addDefaultDebugNotificationFile(ctx, instanceAgg, writeModel, fileSystemProvider) if err != nil { return nil, err } @@ -29,27 +29,27 @@ func (c *Commands) AddDebugNotificationProviderFile(ctx context.Context, fileSys return writeModelToObjectDetails(&writeModel.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) addDefaultDebugNotificationFile(ctx context.Context, iamAgg *eventstore.Aggregate, addedWriteModel *IAMDebugNotificationFileWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { +func (c *Commands) addDefaultDebugNotificationFile(ctx context.Context, instanceAgg *eventstore.Aggregate, addedWriteModel *InstanceDebugNotificationFileWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedWriteModel) if err != nil { return nil, err } if addedWriteModel.State.Exists() { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-d93nfs", "Errors.IAM.DebugNotificationProvider.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-d93nfs", "Errors.IAM.DebugNotificationProvider.AlreadyExists") } events := []eventstore.Command{ iam_repo.NewDebugNotificationProviderFileAddedEvent(ctx, - iamAgg, + instanceAgg, fileSystemProvider.Compact), } return events, nil } func (c *Commands) ChangeDefaultNotificationFile(ctx context.Context, fileSystemProvider *fs.FSConfig) (*domain.ObjectDetails, error) { - writeModel := NewIAMDebugNotificationFileWriteModel() - iamAgg := IAMAggregateFromWriteModel(&writeModel.WriteModel) - events, err := c.changeDefaultDebugNotificationProviderFile(ctx, iamAgg, writeModel, fileSystemProvider) + writeModel := NewInstanceDebugNotificationFileWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&writeModel.WriteModel) + events, err := c.changeDefaultDebugNotificationProviderFile(ctx, instanceAgg, writeModel, fileSystemProvider) if err != nil { return nil, err } @@ -64,40 +64,40 @@ func (c *Commands) ChangeDefaultNotificationFile(ctx context.Context, fileSystem return writeModelToObjectDetails(&writeModel.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) changeDefaultDebugNotificationProviderFile(ctx context.Context, iamAgg *eventstore.Aggregate, existingProvider *IAMDebugNotificationFileWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { +func (c *Commands) changeDefaultDebugNotificationProviderFile(ctx context.Context, instanceAgg *eventstore.Aggregate, existingProvider *InstanceDebugNotificationFileWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { err := c.defaultDebugNotificationProviderFileWriteModelByID(ctx, existingProvider) if err != nil { return nil, err } if !existingProvider.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-fm9wl", "Errors.IAM.DebugNotificationProvider.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-fm9wl", "Errors.IAM.DebugNotificationProvider.NotFound") } events := make([]eventstore.Command, 0) changedEvent, hasChanged := existingProvider.NewChangedEvent(ctx, - iamAgg, + instanceAgg, fileSystemProvider.Compact) if hasChanged { events = append(events, changedEvent) } if len(events) == 0 { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-5M9vdd", "Errors.IAM.LoginPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-5M9vdd", "Errors.IAM.LoginPolicy.NotChanged") } return events, nil } func (c *Commands) RemoveDefaultNotificationFile(ctx context.Context) (*domain.ObjectDetails, error) { - existingProvider := NewIAMDebugNotificationFileWriteModel() - iamAgg := IAMAggregateFromWriteModel(&existingProvider.WriteModel) + existingProvider := NewInstanceDebugNotificationFileWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&existingProvider.WriteModel) err := c.defaultDebugNotificationProviderFileWriteModelByID(ctx, existingProvider) if err != nil { return nil, err } if !existingProvider.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-dj9ew", "Errors.IAM.DebugNotificationProvider.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-dj9ew", "Errors.IAM.DebugNotificationProvider.NotFound") } - events, err := c.eventstore.Push(ctx, iam_repo.NewDebugNotificationProviderFileRemovedEvent(ctx, iamAgg)) + events, err := c.eventstore.Push(ctx, iam_repo.NewDebugNotificationProviderFileRemovedEvent(ctx, instanceAgg)) if err != nil { return nil, err } @@ -108,7 +108,7 @@ func (c *Commands) RemoveDefaultNotificationFile(ctx context.Context) (*domain.O return writeModelToObjectDetails(&existingProvider.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) defaultDebugNotificationProviderFileWriteModelByID(ctx context.Context, writeModel *IAMDebugNotificationFileWriteModel) (err error) { +func (c *Commands) defaultDebugNotificationProviderFileWriteModelByID(ctx context.Context, writeModel *InstanceDebugNotificationFileWriteModel) (err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() diff --git a/internal/command/iam_debug_notification_file_model.go b/internal/command/instance_debug_notification_file_model.go similarity index 52% rename from internal/command/iam_debug_notification_file_model.go rename to internal/command/instance_debug_notification_file_model.go index f431539377..02559e5a21 100644 --- a/internal/command/iam_debug_notification_file_model.go +++ b/internal/command/instance_debug_notification_file_model.go @@ -7,15 +7,15 @@ import ( "github.com/caos/zitadel/internal/repository/settings" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMDebugNotificationFileWriteModel struct { +type InstanceDebugNotificationFileWriteModel struct { DebugNotificationWriteModel } -func NewIAMDebugNotificationFileWriteModel() *IAMDebugNotificationFileWriteModel { - return &IAMDebugNotificationFileWriteModel{ +func NewInstanceDebugNotificationFileWriteModel() *InstanceDebugNotificationFileWriteModel { + return &InstanceDebugNotificationFileWriteModel{ DebugNotificationWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,44 +25,44 @@ func NewIAMDebugNotificationFileWriteModel() *IAMDebugNotificationFileWriteModel } } -func (wm *IAMDebugNotificationFileWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceDebugNotificationFileWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.DebugNotificationProviderFileAddedEvent: + case *instance.DebugNotificationProviderFileAddedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderAddedEvent) - case *iam.DebugNotificationProviderFileChangedEvent: + case *instance.DebugNotificationProviderFileChangedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderChangedEvent) - case *iam.DebugNotificationProviderFileRemovedEvent: + case *instance.DebugNotificationProviderFileRemovedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderRemovedEvent) } } } -func (wm *IAMDebugNotificationFileWriteModel) IsValid() bool { +func (wm *InstanceDebugNotificationFileWriteModel) IsValid() bool { return wm.AggregateID != "" } -func (wm *IAMDebugNotificationFileWriteModel) Reduce() error { +func (wm *InstanceDebugNotificationFileWriteModel) Reduce() error { return wm.DebugNotificationWriteModel.Reduce() } -func (wm *IAMDebugNotificationFileWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceDebugNotificationFileWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.DebugNotificationWriteModel.AggregateID). EventTypes( - iam.DebugNotificationProviderFileAddedEventType, - iam.DebugNotificationProviderFileChangedEventType, - iam.DebugNotificationProviderFileRemovedEventType). + instance.DebugNotificationProviderFileAddedEventType, + instance.DebugNotificationProviderFileChangedEventType, + instance.DebugNotificationProviderFileRemovedEventType). Builder() } -func (wm *IAMDebugNotificationFileWriteModel) NewChangedEvent( +func (wm *InstanceDebugNotificationFileWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, - compact bool) (*iam.DebugNotificationProviderFileChangedEvent, bool) { + compact bool) (*instance.DebugNotificationProviderFileChangedEvent, bool) { changes := make([]settings.DebugNotificationProviderChanges, 0) if wm.Compact != compact { @@ -71,7 +71,7 @@ func (wm *IAMDebugNotificationFileWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewDebugNotificationProviderFileChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewDebugNotificationProviderFileChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_debug_notification_file_test.go b/internal/command/instance_debug_notification_file_test.go similarity index 84% rename from internal/command/iam_debug_notification_file_test.go rename to internal/command/instance_debug_notification_file_test.go index e86649f02a..fc1ca4f21a 100644 --- a/internal/command/iam_debug_notification_file_test.go +++ b/internal/command/instance_debug_notification_file_test.go @@ -9,7 +9,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/notification/channels/fs" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/settings" "github.com/stretchr/testify/assert" @@ -40,8 +40,8 @@ func TestCommandSide_AddDefaultDebugNotificationProviderFile(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -68,8 +68,8 @@ func TestCommandSide_AddDefaultDebugNotificationProviderFile(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -153,8 +153,8 @@ func TestCommandSide_ChangeDebugNotificationProviderFile(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -179,8 +179,8 @@ func TestCommandSide_ChangeDebugNotificationProviderFile(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -205,8 +205,8 @@ func TestCommandSide_ChangeDebugNotificationProviderFile(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -293,8 +293,8 @@ func TestCommandSide_RemoveDebugNotificationProviderFile(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderFileAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderFileAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -302,8 +302,8 @@ func TestCommandSide_RemoveDebugNotificationProviderFile(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewDebugNotificationProviderFileRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate), + instance.NewDebugNotificationProviderFileRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate), ), }, ), @@ -337,9 +337,9 @@ func TestCommandSide_RemoveDebugNotificationProviderFile(t *testing.T) { }) } } -func newDefaultDebugNotificationFileChangedEvent(ctx context.Context, compact bool) *iam.DebugNotificationProviderFileChangedEvent { - event, _ := iam.NewDebugNotificationProviderFileChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultDebugNotificationFileChangedEvent(ctx context.Context, compact bool) *instance.DebugNotificationProviderFileChangedEvent { + event, _ := instance.NewDebugNotificationProviderFileChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []settings.DebugNotificationProviderChanges{ settings.ChangeCompact(compact), }, diff --git a/internal/command/iam_debug_notification_log.go b/internal/command/instance_debug_notification_log.go similarity index 61% rename from internal/command/iam_debug_notification_log.go rename to internal/command/instance_debug_notification_log.go index 00942d7bc9..1b9fdfd35d 100644 --- a/internal/command/iam_debug_notification_log.go +++ b/internal/command/instance_debug_notification_log.go @@ -7,14 +7,14 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/notification/channels/fs" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDebugNotificationProviderLog(ctx context.Context, fileSystemProvider *fs.FSConfig) (*domain.ObjectDetails, error) { - writeModel := NewIAMDebugNotificationLogWriteModel() - iamAgg := IAMAggregateFromWriteModel(&writeModel.WriteModel) - events, err := c.addDefaultDebugNotificationLog(ctx, iamAgg, writeModel, fileSystemProvider) + writeModel := NewInstanceDebugNotificationLogWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&writeModel.WriteModel) + events, err := c.addDefaultDebugNotificationLog(ctx, instanceAgg, writeModel, fileSystemProvider) if err != nil { return nil, err } @@ -29,27 +29,27 @@ func (c *Commands) AddDebugNotificationProviderLog(ctx context.Context, fileSyst return writeModelToObjectDetails(&writeModel.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) addDefaultDebugNotificationLog(ctx context.Context, iamAgg *eventstore.Aggregate, addedWriteModel *IAMDebugNotificationLogWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { +func (c *Commands) addDefaultDebugNotificationLog(ctx context.Context, instanceAgg *eventstore.Aggregate, addedWriteModel *InstanceDebugNotificationLogWriteModel, fileSystemProvider *fs.FSConfig) ([]eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedWriteModel) if err != nil { return nil, err } if addedWriteModel.State.Exists() { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-3h0fs", "Errors.IAM.DebugNotificationProvider.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-3h0fs", "Errors.IAM.DebugNotificationProvider.AlreadyExists") } events := []eventstore.Command{ - iam_repo.NewDebugNotificationProviderLogAddedEvent(ctx, - iamAgg, + instance.NewDebugNotificationProviderLogAddedEvent(ctx, + instanceAgg, fileSystemProvider.Compact), } return events, nil } func (c *Commands) ChangeDefaultNotificationLog(ctx context.Context, fileSystemProvider *fs.FSConfig) (*domain.ObjectDetails, error) { - writeModel := NewIAMDebugNotificationLogWriteModel() - iamAgg := IAMAggregateFromWriteModel(&writeModel.WriteModel) - event, err := c.changeDefaultDebugNotificationProviderLog(ctx, iamAgg, writeModel, fileSystemProvider) + writeModel := NewInstanceDebugNotificationLogWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&writeModel.WriteModel) + event, err := c.changeDefaultDebugNotificationProviderLog(ctx, instanceAgg, writeModel, fileSystemProvider) if err != nil { return nil, err } @@ -64,35 +64,35 @@ func (c *Commands) ChangeDefaultNotificationLog(ctx context.Context, fileSystemP return writeModelToObjectDetails(&writeModel.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) changeDefaultDebugNotificationProviderLog(ctx context.Context, iamAgg *eventstore.Aggregate, existingProvider *IAMDebugNotificationLogWriteModel, fileSystemProvider *fs.FSConfig) (eventstore.Command, error) { +func (c *Commands) changeDefaultDebugNotificationProviderLog(ctx context.Context, instanceAgg *eventstore.Aggregate, existingProvider *InstanceDebugNotificationLogWriteModel, fileSystemProvider *fs.FSConfig) (eventstore.Command, error) { err := c.defaultDebugNotificationProviderLogWriteModelByID(ctx, existingProvider) if err != nil { return nil, err } if !existingProvider.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-2h0s3", "Errors.IAM.DebugNotificationProvider.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-2h0s3", "Errors.IAM.DebugNotificationProvider.NotFound") } changedEvent, hasChanged := existingProvider.NewChangedEvent(ctx, - iamAgg, + instanceAgg, fileSystemProvider.Compact) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-fn9p3", "Errors.IAM.LoginPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-fn9p3", "Errors.IAM.LoginPolicy.NotChanged") } return changedEvent, nil } func (c *Commands) RemoveDefaultNotificationLog(ctx context.Context) (*domain.ObjectDetails, error) { - existingProvider := NewIAMDebugNotificationLogWriteModel() - iamAgg := IAMAggregateFromWriteModel(&existingProvider.WriteModel) + existingProvider := NewInstanceDebugNotificationLogWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&existingProvider.WriteModel) err := c.defaultDebugNotificationProviderLogWriteModelByID(ctx, existingProvider) if err != nil { return nil, err } if !existingProvider.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-39lse", "Errors.IAM.DebugNotificationProvider.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-39lse", "Errors.IAM.DebugNotificationProvider.NotFound") } - events, err := c.eventstore.Push(ctx, iam_repo.NewDebugNotificationProviderLogRemovedEvent(ctx, iamAgg)) + events, err := c.eventstore.Push(ctx, instance.NewDebugNotificationProviderLogRemovedEvent(ctx, instanceAgg)) if err != nil { return nil, err } @@ -103,7 +103,7 @@ func (c *Commands) RemoveDefaultNotificationLog(ctx context.Context) (*domain.Ob return writeModelToObjectDetails(&existingProvider.DebugNotificationWriteModel.WriteModel), nil } -func (c *Commands) defaultDebugNotificationProviderLogWriteModelByID(ctx context.Context, writeModel *IAMDebugNotificationLogWriteModel) (err error) { +func (c *Commands) defaultDebugNotificationProviderLogWriteModelByID(ctx context.Context, writeModel *InstanceDebugNotificationLogWriteModel) (err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() diff --git a/internal/command/iam_debug_notification_log_model.go b/internal/command/instance_debug_notification_log_model.go similarity index 50% rename from internal/command/iam_debug_notification_log_model.go rename to internal/command/instance_debug_notification_log_model.go index a4f955ec96..b526273e02 100644 --- a/internal/command/iam_debug_notification_log_model.go +++ b/internal/command/instance_debug_notification_log_model.go @@ -7,15 +7,15 @@ import ( "github.com/caos/zitadel/internal/repository/settings" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMDebugNotificationLogWriteModel struct { +type InstanceDebugNotificationLogWriteModel struct { DebugNotificationWriteModel } -func NewIAMDebugNotificationLogWriteModel() *IAMDebugNotificationLogWriteModel { - return &IAMDebugNotificationLogWriteModel{ +func NewInstanceDebugNotificationLogWriteModel() *InstanceDebugNotificationLogWriteModel { + return &InstanceDebugNotificationLogWriteModel{ DebugNotificationWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,46 +25,46 @@ func NewIAMDebugNotificationLogWriteModel() *IAMDebugNotificationLogWriteModel { } } -func (wm *IAMDebugNotificationLogWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceDebugNotificationLogWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.DebugNotificationProviderLogAddedEvent: + case *instance.DebugNotificationProviderLogAddedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderAddedEvent) - case *iam.DebugNotificationProviderLogChangedEvent: + case *instance.DebugNotificationProviderLogChangedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderChangedEvent) - case *iam.DebugNotificationProviderLogRemovedEvent: + case *instance.DebugNotificationProviderLogRemovedEvent: wm.DebugNotificationWriteModel.AppendEvents(&e.DebugNotificationProviderRemovedEvent) } } } -func (wm *IAMDebugNotificationLogWriteModel) IsValid() bool { +func (wm *InstanceDebugNotificationLogWriteModel) IsValid() bool { return wm.AggregateID != "" } -func (wm *IAMDebugNotificationLogWriteModel) Reduce() error { +func (wm *InstanceDebugNotificationLogWriteModel) Reduce() error { return wm.DebugNotificationWriteModel.Reduce() } -func (wm *IAMDebugNotificationLogWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceDebugNotificationLogWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.DebugNotificationWriteModel.AggregateID). EventTypes( - iam.DebugNotificationProviderLogAddedEventType, - iam.DebugNotificationProviderLogChangedEventType, - iam.DebugNotificationProviderLogEnabledEventType, - iam.DebugNotificationProviderLogDisabledEventType, - iam.DebugNotificationProviderLogRemovedEventType). + instance.DebugNotificationProviderLogAddedEventType, + instance.DebugNotificationProviderLogChangedEventType, + instance.DebugNotificationProviderLogEnabledEventType, + instance.DebugNotificationProviderLogDisabledEventType, + instance.DebugNotificationProviderLogRemovedEventType). Builder() } -func (wm *IAMDebugNotificationLogWriteModel) NewChangedEvent( +func (wm *InstanceDebugNotificationLogWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, - compact bool) (*iam.DebugNotificationProviderLogChangedEvent, bool) { + compact bool) (*instance.DebugNotificationProviderLogChangedEvent, bool) { changes := make([]settings.DebugNotificationProviderChanges, 0) if wm.Compact != compact { @@ -73,7 +73,7 @@ func (wm *IAMDebugNotificationLogWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewDebugNotificationProviderLogChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewDebugNotificationProviderLogChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_debug_notification_log_test.go b/internal/command/instance_debug_notification_log_test.go similarity index 84% rename from internal/command/iam_debug_notification_log_test.go rename to internal/command/instance_debug_notification_log_test.go index 23d78fcd10..494fa7f7c7 100644 --- a/internal/command/iam_debug_notification_log_test.go +++ b/internal/command/instance_debug_notification_log_test.go @@ -9,7 +9,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/notification/channels/fs" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/settings" "github.com/stretchr/testify/assert" @@ -40,8 +40,8 @@ func TestCommandSide_AddDefaultDebugNotificationProviderLog(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -68,8 +68,8 @@ func TestCommandSide_AddDefaultDebugNotificationProviderLog(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -98,8 +98,8 @@ func TestCommandSide_AddDefaultDebugNotificationProviderLog(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -184,8 +184,8 @@ func TestCommandSide_ChangeDebugNotificationProviderLog(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -210,8 +210,8 @@ func TestCommandSide_ChangeDebugNotificationProviderLog(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -246,8 +246,8 @@ func TestCommandSide_ChangeDebugNotificationProviderLog(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -334,8 +334,8 @@ func TestCommandSide_RemoveDebugNotificationProviderLog(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewDebugNotificationProviderLogAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewDebugNotificationProviderLogAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -343,8 +343,8 @@ func TestCommandSide_RemoveDebugNotificationProviderLog(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewDebugNotificationProviderLogRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate), + instance.NewDebugNotificationProviderLogRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate), ), }, ), @@ -378,9 +378,9 @@ func TestCommandSide_RemoveDebugNotificationProviderLog(t *testing.T) { }) } } -func newDefaultDebugNotificationLogChangedEvent(ctx context.Context, compact bool) *iam.DebugNotificationProviderLogChangedEvent { - event, _ := iam.NewDebugNotificationProviderLogChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultDebugNotificationLogChangedEvent(ctx context.Context, compact bool) *instance.DebugNotificationProviderLogChangedEvent { + event, _ := instance.NewDebugNotificationProviderLogChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []settings.DebugNotificationProviderChanges{ settings.ChangeCompact(compact), }, diff --git a/internal/command/iam_features.go b/internal/command/instance_features.go similarity index 84% rename from internal/command/iam_features.go rename to internal/command/instance_features.go index ed61d28ba5..e442e97594 100644 --- a/internal/command/iam_features.go +++ b/internal/command/instance_features.go @@ -4,13 +4,13 @@ import ( "context" caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/domain" ) func (c *Commands) SetDefaultFeatures(ctx context.Context, features *domain.Features) (*domain.ObjectDetails, error) { - existingFeatures := NewIAMFeaturesWriteModel() + existingFeatures := NewInstanceFeaturesWriteModel() setEvent, err := c.setDefaultFeatures(ctx, existingFeatures, features) if err != nil { return nil, err @@ -27,14 +27,14 @@ func (c *Commands) SetDefaultFeatures(ctx context.Context, features *domain.Feat return writeModelToObjectDetails(&existingFeatures.WriteModel), nil } -func (c *Commands) setDefaultFeatures(ctx context.Context, existingFeatures *IAMFeaturesWriteModel, features *domain.Features) (*iam.FeaturesSetEvent, error) { +func (c *Commands) setDefaultFeatures(ctx context.Context, existingFeatures *InstanceFeaturesWriteModel, features *domain.Features) (*instance.FeaturesSetEvent, error) { err := c.eventstore.FilterToQueryReducer(ctx, existingFeatures) if err != nil { return nil, err } setEvent, hasChanged := existingFeatures.NewSetEvent( ctx, - IAMAggregateFromWriteModel(&existingFeatures.FeaturesWriteModel.WriteModel), + InstanceAggregateFromWriteModel(&existingFeatures.FeaturesWriteModel.WriteModel), features.TierName, features.TierDescription, features.State, @@ -65,7 +65,7 @@ func (c *Commands) setDefaultFeatures(ctx context.Context, existingFeatures *IAM } func (c *Commands) getDefaultFeatures(ctx context.Context) (*domain.Features, error) { - existingFeatures := NewIAMFeaturesWriteModel() + existingFeatures := NewInstanceFeaturesWriteModel() err := c.eventstore.FilterToQueryReducer(ctx, existingFeatures) if err != nil { return nil, err diff --git a/internal/command/iam_features_model.go b/internal/command/instance_features_model.go similarity index 85% rename from internal/command/iam_features_model.go rename to internal/command/instance_features_model.go index 71251ab4a7..387c17acdb 100644 --- a/internal/command/iam_features_model.go +++ b/internal/command/instance_features_model.go @@ -7,15 +7,15 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/repository/features" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMFeaturesWriteModel struct { +type InstanceFeaturesWriteModel struct { FeaturesWriteModel } -func NewIAMFeaturesWriteModel() *IAMFeaturesWriteModel { - return &IAMFeaturesWriteModel{ +func NewInstanceFeaturesWriteModel() *InstanceFeaturesWriteModel { + return &InstanceFeaturesWriteModel{ FeaturesWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,33 +25,33 @@ func NewIAMFeaturesWriteModel() *IAMFeaturesWriteModel { } } -func (wm *IAMFeaturesWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceFeaturesWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.FeaturesSetEvent: + case *instance.FeaturesSetEvent: wm.FeaturesWriteModel.AppendEvents(&e.FeaturesSetEvent) } } } -func (wm *IAMFeaturesWriteModel) IsValid() bool { +func (wm *InstanceFeaturesWriteModel) IsValid() bool { return wm.AggregateID != "" } -func (wm *IAMFeaturesWriteModel) Reduce() error { +func (wm *InstanceFeaturesWriteModel) Reduce() error { return wm.FeaturesWriteModel.Reduce() } -func (wm *IAMFeaturesWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceFeaturesWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - EventTypes(iam.FeaturesSetEventType). - AggregateTypes(iam.AggregateType). + EventTypes(instance.FeaturesSetEventType). + AggregateTypes(instance.AggregateType). Builder() } -func (wm *IAMFeaturesWriteModel) NewSetEvent( +func (wm *InstanceFeaturesWriteModel) NewSetEvent( ctx context.Context, aggregate *eventstore.Aggregate, tierName, tierDescription string, @@ -75,7 +75,7 @@ func (wm *IAMFeaturesWriteModel) NewSetEvent( lockoutPolicy bool, actionsAllowed domain.ActionsAllowed, maxActions int, -) (*iam.FeaturesSetEvent, bool) { +) (*instance.FeaturesSetEvent, bool) { changes := make([]features.FeaturesChanges, 0) @@ -148,7 +148,7 @@ func (wm *IAMFeaturesWriteModel) NewSetEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewFeaturesSetEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewFeaturesSetEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_idp_config.go b/internal/command/instance_idp_config.go similarity index 64% rename from internal/command/iam_idp_config.go rename to internal/command/instance_idp_config.go index 3feb5537f5..43f189a880 100644 --- a/internal/command/iam_idp_config.go +++ b/internal/command/instance_idp_config.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/errors" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func (c *Commands) AddDefaultIDPConfig(ctx context.Context, config *domain.IDPConfig) (*domain.IDPConfig, error) { @@ -21,13 +21,13 @@ func (c *Commands) AddDefaultIDPConfig(ctx context.Context, config *domain.IDPCo if err != nil { return nil, err } - addedConfig := NewIAMIDPConfigWriteModel(idpConfigID) + addedConfig := NewInstanceIDPConfigWriteModel(idpConfigID) - iamAgg := IAMAggregateFromWriteModel(&addedConfig.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&addedConfig.WriteModel) events := []eventstore.Command{ - iam_repo.NewIDPConfigAddedEvent( + instance.NewIDPConfigAddedEvent( ctx, - iamAgg, + instanceAgg, idpConfigID, config.Name, config.Type, @@ -41,9 +41,9 @@ func (c *Commands) AddDefaultIDPConfig(ctx context.Context, config *domain.IDPCo return nil, err } - events = append(events, iam_repo.NewIDPOIDCConfigAddedEvent( + events = append(events, instance.NewIDPOIDCConfigAddedEvent( ctx, - iamAgg, + instanceAgg, config.OIDCConfig.ClientID, idpConfigID, config.OIDCConfig.Issuer, @@ -55,9 +55,9 @@ func (c *Commands) AddDefaultIDPConfig(ctx context.Context, config *domain.IDPCo config.OIDCConfig.Scopes..., )) } else if config.JWTConfig != nil { - events = append(events, iam_repo.NewIDPJWTConfigAddedEvent( + events = append(events, instance.NewIDPJWTConfigAddedEvent( ctx, - iamAgg, + instanceAgg, idpConfigID, config.JWTConfig.JWTEndpoint, config.JWTConfig.Issuer, @@ -78,20 +78,20 @@ func (c *Commands) AddDefaultIDPConfig(ctx context.Context, config *domain.IDPCo func (c *Commands) ChangeDefaultIDPConfig(ctx context.Context, config *domain.IDPConfig) (*domain.IDPConfig, error) { if config.IDPConfigID == "" { - return nil, errors.ThrowInvalidArgument(nil, "IAM-4m9gs", "Errors.IDMissing") + return nil, errors.ThrowInvalidArgument(nil, "INSTANCE-4m9gs", "Errors.IDMissing") } - existingIDP, err := c.iamIDPConfigWriteModelByID(ctx, config.IDPConfigID) + existingIDP, err := c.isntanceIDPConfigWriteModelByID(ctx, config.IDPConfigID) if err != nil { return nil, err } if existingIDP.State == domain.IDPConfigStateRemoved || existingIDP.State == domain.IDPConfigStateUnspecified { - return nil, caos_errs.ThrowNotFound(nil, "IAM-m0e3r", "Errors.IDPConfig.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-m0e3r", "Errors.IDPConfig.NotExisting") } - iamAgg := IAMAggregateFromWriteModel(&existingIDP.WriteModel) - changedEvent, hasChanged := existingIDP.NewChangedEvent(ctx, iamAgg, config.IDPConfigID, config.Name, config.StylingType, config.AutoRegister) + instanceAgg := InstanceAggregateFromWriteModel(&existingIDP.WriteModel) + changedEvent, hasChanged := existingIDP.NewChangedEvent(ctx, instanceAgg, config.IDPConfigID, config.Name, config.StylingType, config.AutoRegister) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) if err != nil { @@ -105,15 +105,15 @@ func (c *Commands) ChangeDefaultIDPConfig(ctx context.Context, config *domain.ID } func (c *Commands) DeactivateDefaultIDPConfig(ctx context.Context, idpID string) (*domain.ObjectDetails, error) { - existingIDP, err := c.iamIDPConfigWriteModelByID(ctx, idpID) + existingIDP, err := c.isntanceIDPConfigWriteModelByID(ctx, idpID) if err != nil { return nil, err } if existingIDP.State != domain.IDPConfigStateActive { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-2n0fs", "Errors.IAM.IDPConfig.NotActive") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-2n0fs", "Errors.IAM.IDPConfig.NotActive") } - iamAgg := IAMAggregateFromWriteModel(&existingIDP.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewIDPConfigDeactivatedEvent(ctx, iamAgg, idpID)) + instanceAgg := InstanceAggregateFromWriteModel(&existingIDP.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewIDPConfigDeactivatedEvent(ctx, instanceAgg, idpID)) if err != nil { return nil, err } @@ -125,15 +125,15 @@ func (c *Commands) DeactivateDefaultIDPConfig(ctx context.Context, idpID string) } func (c *Commands) ReactivateDefaultIDPConfig(ctx context.Context, idpID string) (*domain.ObjectDetails, error) { - existingIDP, err := c.iamIDPConfigWriteModelByID(ctx, idpID) + existingIDP, err := c.isntanceIDPConfigWriteModelByID(ctx, idpID) if err != nil { return nil, err } if existingIDP.State != domain.IDPConfigStateInactive { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-5Mo0d", "Errors.IAM.IDPConfig.NotInactive") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-5Mo0d", "Errors.IAM.IDPConfig.NotInactive") } - iamAgg := IAMAggregateFromWriteModel(&existingIDP.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewIDPConfigReactivatedEvent(ctx, iamAgg, idpID)) + instanceAgg := InstanceAggregateFromWriteModel(&existingIDP.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewIDPConfigReactivatedEvent(ctx, instanceAgg, idpID)) if err != nil { return nil, err } @@ -145,22 +145,22 @@ func (c *Commands) ReactivateDefaultIDPConfig(ctx context.Context, idpID string) } func (c *Commands) RemoveDefaultIDPConfig(ctx context.Context, idpID string, idpProviders []*domain.IDPProvider, externalIDPs ...*domain.UserIDPLink) (*domain.ObjectDetails, error) { - existingIDP, err := c.iamIDPConfigWriteModelByID(ctx, idpID) + existingIDP, err := c.isntanceIDPConfigWriteModelByID(ctx, idpID) if err != nil { return nil, err } if existingIDP.State == domain.IDPConfigStateRemoved || existingIDP.State == domain.IDPConfigStateUnspecified { - return nil, caos_errs.ThrowNotFound(nil, "IAM-4M0xy", "Errors.IDPConfig.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-4M0xy", "Errors.IDPConfig.NotExisting") } - iamAgg := IAMAggregateFromWriteModel(&existingIDP.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&existingIDP.WriteModel) events := []eventstore.Command{ - iam_repo.NewIDPConfigRemovedEvent(ctx, iamAgg, idpID, existingIDP.Name), + instance.NewIDPConfigRemovedEvent(ctx, instanceAgg, idpID, existingIDP.Name), } for _, idpProvider := range idpProviders { if idpProvider.AggregateID == domain.IAMID { - userEvents := c.removeIDPProviderFromDefaultLoginPolicy(ctx, iamAgg, idpProvider, true, externalIDPs...) + userEvents := c.removeIDPProviderFromDefaultLoginPolicy(ctx, instanceAgg, idpProvider, true, externalIDPs...) events = append(events, userEvents...) } orgAgg := OrgAggregateFromWriteModel(&NewOrgIdentityProviderWriteModel(idpProvider.AggregateID, idpID).WriteModel) @@ -179,22 +179,22 @@ func (c *Commands) RemoveDefaultIDPConfig(ctx context.Context, idpID string, idp return writeModelToObjectDetails(&existingIDP.IDPConfigWriteModel.WriteModel), nil } -func (c *Commands) getIAMIDPConfigByID(ctx context.Context, idpID string) (*domain.IDPConfig, error) { - config, err := c.iamIDPConfigWriteModelByID(ctx, idpID) +func (c *Commands) getInstanceIDPConfigByID(ctx context.Context, idpID string) (*domain.IDPConfig, error) { + config, err := c.isntanceIDPConfigWriteModelByID(ctx, idpID) if err != nil { return nil, err } if !config.State.Exists() { - return nil, caos_errs.ThrowNotFound(nil, "IAM-p0pFF", "Errors.IDPConfig.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-p0pFF", "Errors.IDPConfig.NotExisting") } return writeModelToIDPConfig(&config.IDPConfigWriteModel), nil } -func (c *Commands) iamIDPConfigWriteModelByID(ctx context.Context, idpID string) (policy *IAMIDPConfigWriteModel, err error) { +func (c *Commands) isntanceIDPConfigWriteModelByID(ctx context.Context, idpID string) (policy *InstanceIDPConfigWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMIDPConfigWriteModel(idpID) + writeModel := NewInstanceIDPConfigWriteModel(idpID) err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_idp_config_model.go b/internal/command/instance_idp_config_model.go similarity index 62% rename from internal/command/iam_idp_config_model.go rename to internal/command/instance_idp_config_model.go index 6a386fcd34..3632af3655 100644 --- a/internal/command/iam_idp_config_model.go +++ b/internal/command/instance_idp_config_model.go @@ -6,16 +6,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMIDPConfigWriteModel struct { +type InstanceIDPConfigWriteModel struct { IDPConfigWriteModel } -func NewIAMIDPConfigWriteModel(configID string) *IAMIDPConfigWriteModel { - return &IAMIDPConfigWriteModel{ +func NewInstanceIDPConfigWriteModel(configID string) *InstanceIDPConfigWriteModel { + return &InstanceIDPConfigWriteModel{ IDPConfigWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -26,57 +26,57 @@ func NewIAMIDPConfigWriteModel(configID string) *IAMIDPConfigWriteModel { } } -func (wm *IAMIDPConfigWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceIDPConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.IDPConfigAddedEventType, - iam.IDPConfigChangedEventType, - iam.IDPConfigDeactivatedEventType, - iam.IDPConfigReactivatedEventType, - iam.IDPConfigRemovedEventType, - iam.IDPOIDCConfigAddedEventType, - iam.IDPOIDCConfigChangedEventType). + instance.IDPConfigAddedEventType, + instance.IDPConfigChangedEventType, + instance.IDPConfigDeactivatedEventType, + instance.IDPConfigReactivatedEventType, + instance.IDPConfigRemovedEventType, + instance.IDPOIDCConfigAddedEventType, + instance.IDPOIDCConfigChangedEventType). Builder() } -func (wm *IAMIDPConfigWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceIDPConfigWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.IDPConfigAddedEvent: + case *instance.IDPConfigAddedEvent: if wm.ConfigID != e.ConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.IDPConfigAddedEvent) - case *iam.IDPConfigChangedEvent: + case *instance.IDPConfigChangedEvent: if wm.ConfigID != e.ConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.IDPConfigChangedEvent) - case *iam.IDPConfigDeactivatedEvent: + case *instance.IDPConfigDeactivatedEvent: if wm.ConfigID != e.ConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.IDPConfigDeactivatedEvent) - case *iam.IDPConfigReactivatedEvent: + case *instance.IDPConfigReactivatedEvent: if wm.ConfigID != e.ConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.IDPConfigReactivatedEvent) - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: if wm.ConfigID != e.ConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.IDPConfigRemovedEvent) - case *iam.IDPOIDCConfigAddedEvent: + case *instance.IDPOIDCConfigAddedEvent: if wm.ConfigID != e.IDPConfigID { continue } wm.IDPConfigWriteModel.AppendEvents(&e.OIDCConfigAddedEvent) - case *iam.IDPOIDCConfigChangedEvent: + case *instance.IDPOIDCConfigChangedEvent: if wm.ConfigID != e.IDPConfigID { continue } @@ -85,23 +85,23 @@ func (wm *IAMIDPConfigWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMIDPConfigWriteModel) Reduce() error { +func (wm *InstanceIDPConfigWriteModel) Reduce() error { return wm.IDPConfigWriteModel.Reduce() } -func (wm *IAMIDPConfigWriteModel) AppendAndReduce(events ...eventstore.Event) error { +func (wm *InstanceIDPConfigWriteModel) AppendAndReduce(events ...eventstore.Event) error { wm.AppendEvents(events...) return wm.Reduce() } -func (wm *IAMIDPConfigWriteModel) NewChangedEvent( +func (wm *InstanceIDPConfigWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, configID, name string, stylingType domain.IDPConfigStylingType, autoRegister bool, -) (*iam.IDPConfigChangedEvent, bool) { +) (*instance.IDPConfigChangedEvent, bool) { changes := make([]idpconfig.IDPConfigChanges, 0) oldName := "" @@ -118,7 +118,7 @@ func (wm *IAMIDPConfigWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changeEvent, err := iam.NewIDPConfigChangedEvent(ctx, aggregate, configID, oldName, changes) + changeEvent, err := instance.NewIDPConfigChangedEvent(ctx, aggregate, configID, oldName, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_idp_config_test.go b/internal/command/instance_idp_config_test.go similarity index 91% rename from internal/command/iam_idp_config_test.go rename to internal/command/instance_idp_config_test.go index 68fc5f0f5b..e72d950131 100644 --- a/internal/command/iam_idp_config_test.go +++ b/internal/command/instance_idp_config_test.go @@ -15,8 +15,8 @@ import ( "github.com/caos/zitadel/internal/eventstore/v1/models" "github.com/caos/zitadel/internal/id" id_mock "github.com/caos/zitadel/internal/id/mock" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_AddDefaultIDPConfig(t *testing.T) { @@ -62,8 +62,8 @@ func TestCommandSide_AddDefaultIDPConfig(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -72,8 +72,8 @@ func TestCommandSide_AddDefaultIDPConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPOIDCConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPOIDCConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "clientid1", "config1", "issuer", @@ -137,8 +137,8 @@ func TestCommandSide_AddDefaultIDPConfig(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -147,8 +147,8 @@ func TestCommandSide_AddDefaultIDPConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPJWTConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPJWTConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "jwt-endpoint", "issuer", @@ -268,8 +268,8 @@ func TestCommandSide_ChangeDefaultIDPConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -278,8 +278,8 @@ func TestCommandSide_ChangeDefaultIDPConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPOIDCConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPOIDCConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "clientid1", "config1", "issuer", @@ -351,9 +351,9 @@ func TestCommandSide_ChangeDefaultIDPConfig(t *testing.T) { } } -func newDefaultIDPConfigChangedEvent(ctx context.Context, configID, oldName, newName string, stylingType domain.IDPConfigStylingType, autoRegister bool) *iam.IDPConfigChangedEvent { - event, _ := iam.NewIDPConfigChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultIDPConfigChangedEvent(ctx context.Context, configID, oldName, newName string, stylingType domain.IDPConfigStylingType, autoRegister bool) *instance.IDPConfigChangedEvent { + event, _ := instance.NewIDPConfigChangedEvent(ctx, + &instance.NewAggregate().Aggregate, configID, oldName, []idpconfig.IDPConfigChanges{ diff --git a/internal/command/iam_idp_jwt_config.go b/internal/command/instance_idp_jwt_config.go similarity index 69% rename from internal/command/iam_idp_jwt_config.go rename to internal/command/instance_idp_jwt_config.go index 004bef8f8b..8e8f684ffc 100644 --- a/internal/command/iam_idp_jwt_config.go +++ b/internal/command/instance_idp_jwt_config.go @@ -9,22 +9,22 @@ import ( func (c *Commands) ChangeDefaultIDPJWTConfig(ctx context.Context, config *domain.JWTIDPConfig) (*domain.JWTIDPConfig, error) { if config.IDPConfigID == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-m9322", "Errors.IDMissing") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-m9322", "Errors.IDMissing") } - existingConfig := NewIAMIDPJWTConfigWriteModel(config.IDPConfigID) + existingConfig := NewInstanceIDPJWTConfigWriteModel(config.IDPConfigID) err := c.eventstore.FilterToQueryReducer(ctx, existingConfig) if err != nil { return nil, err } if existingConfig.State == domain.IDPConfigStateRemoved || existingConfig.State == domain.IDPConfigStateUnspecified { - return nil, caos_errs.ThrowNotFound(nil, "IAM-2m00d", "Errors.IAM.IDPConfig.AlreadyExists") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-2m00d", "Errors.IAM.IDPConfig.AlreadyExists") } - iamAgg := IAMAggregateFromWriteModel(&existingConfig.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&existingConfig.WriteModel) changedEvent, hasChanged, err := existingConfig.NewChangedEvent( ctx, - iamAgg, + instanceAgg, config.IDPConfigID, config.JWTEndpoint, config.Issuer, @@ -34,7 +34,7 @@ func (c *Commands) ChangeDefaultIDPJWTConfig(ctx context.Context, config *domain return nil, err } if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-3n9gg", "Errors.IAM.IDPConfig.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-3n9gg", "Errors.IAM.IDPConfig.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) diff --git a/internal/command/iam_idp_jwt_config_model.go b/internal/command/instance_idp_jwt_config_model.go similarity index 65% rename from internal/command/iam_idp_jwt_config_model.go rename to internal/command/instance_idp_jwt_config_model.go index 2b202f45ac..4de2997822 100644 --- a/internal/command/iam_idp_jwt_config_model.go +++ b/internal/command/instance_idp_jwt_config_model.go @@ -6,16 +6,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMIDPJWTConfigWriteModel struct { +type InstanceIDPJWTConfigWriteModel struct { JWTConfigWriteModel } -func NewIAMIDPJWTConfigWriteModel(idpConfigID string) *IAMIDPJWTConfigWriteModel { - return &IAMIDPJWTConfigWriteModel{ +func NewInstanceIDPJWTConfigWriteModel(idpConfigID string) *InstanceIDPJWTConfigWriteModel { + return &InstanceIDPJWTConfigWriteModel{ JWTConfigWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -26,30 +26,30 @@ func NewIAMIDPJWTConfigWriteModel(idpConfigID string) *IAMIDPJWTConfigWriteModel } } -func (wm *IAMIDPJWTConfigWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceIDPJWTConfigWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.IDPJWTConfigAddedEvent: + case *instance.IDPJWTConfigAddedEvent: if wm.IDPConfigID != e.IDPConfigID { continue } wm.JWTConfigWriteModel.AppendEvents(&e.JWTConfigAddedEvent) - case *iam.IDPJWTConfigChangedEvent: + case *instance.IDPJWTConfigChangedEvent: if wm.IDPConfigID != e.IDPConfigID { continue } wm.JWTConfigWriteModel.AppendEvents(&e.JWTConfigChangedEvent) - case *iam.IDPConfigReactivatedEvent: + case *instance.IDPConfigReactivatedEvent: if wm.IDPConfigID != e.ConfigID { continue } wm.JWTConfigWriteModel.AppendEvents(&e.IDPConfigReactivatedEvent) - case *iam.IDPConfigDeactivatedEvent: + case *instance.IDPConfigDeactivatedEvent: if wm.IDPConfigID != e.ConfigID { continue } wm.JWTConfigWriteModel.AppendEvents(&e.IDPConfigDeactivatedEvent) - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: if wm.IDPConfigID != e.ConfigID { continue } @@ -60,29 +60,29 @@ func (wm *IAMIDPJWTConfigWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMIDPJWTConfigWriteModel) Reduce() error { +func (wm *InstanceIDPJWTConfigWriteModel) Reduce() error { if err := wm.JWTConfigWriteModel.Reduce(); err != nil { return err } return wm.WriteModel.Reduce() } -func (wm *IAMIDPJWTConfigWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceIDPJWTConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.IDPJWTConfigAddedEventType, - iam.IDPJWTConfigChangedEventType, - iam.IDPConfigReactivatedEventType, - iam.IDPConfigDeactivatedEventType, - iam.IDPConfigRemovedEventType). + instance.IDPJWTConfigAddedEventType, + instance.IDPJWTConfigChangedEventType, + instance.IDPConfigReactivatedEventType, + instance.IDPConfigDeactivatedEventType, + instance.IDPConfigRemovedEventType). Builder() } -func (wm *IAMIDPJWTConfigWriteModel) NewChangedEvent( +func (wm *InstanceIDPJWTConfigWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, idpConfigID, @@ -90,7 +90,7 @@ func (wm *IAMIDPJWTConfigWriteModel) NewChangedEvent( issuer, keysEndpoint, headerName string, -) (*iam.IDPJWTConfigChangedEvent, bool, error) { +) (*instance.IDPJWTConfigChangedEvent, bool, error) { changes := make([]idpconfig.JWTConfigChanges, 0) if wm.JWTEndpoint != jwtEndpoint { @@ -108,7 +108,7 @@ func (wm *IAMIDPJWTConfigWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewIDPJWTConfigChangedEvent(ctx, aggregate, idpConfigID, changes) + changeEvent, err := instance.NewIDPJWTConfigChangedEvent(ctx, aggregate, idpConfigID, changes) if err != nil { return nil, false, err } diff --git a/internal/command/iam_idp_jwt_config_test.go b/internal/command/instance_idp_jwt_config_test.go similarity index 84% rename from internal/command/iam_idp_jwt_config_test.go rename to internal/command/instance_idp_jwt_config_test.go index fd6e1798fd..38978cdf56 100644 --- a/internal/command/iam_idp_jwt_config_test.go +++ b/internal/command/instance_idp_jwt_config_test.go @@ -13,8 +13,8 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { @@ -78,8 +78,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeJWT, @@ -88,8 +88,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPJWTConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPJWTConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "jwt-endpoint", "issuer", @@ -98,8 +98,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPConfigRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name", ), @@ -124,8 +124,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeJWT, @@ -134,8 +134,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPJWTConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPJWTConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "jwt-endpoint", "issuer", @@ -168,8 +168,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeJWT, @@ -178,8 +178,8 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPJWTConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPJWTConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "jwt-endpoint", "issuer", @@ -249,9 +249,9 @@ func TestCommandSide_ChangeDefaultIDPJWTConfig(t *testing.T) { } } -func newDefaultIDPJWTConfigChangedEvent(ctx context.Context, configID, jwtEndpoint, issuer, keysEndpoint, headerName string) *iam.IDPJWTConfigChangedEvent { - event, _ := iam.NewIDPJWTConfigChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultIDPJWTConfigChangedEvent(ctx context.Context, configID, jwtEndpoint, issuer, keysEndpoint, headerName string) *instance.IDPJWTConfigChangedEvent { + event, _ := instance.NewIDPJWTConfigChangedEvent(ctx, + &instance.NewAggregate().Aggregate, configID, []idpconfig.JWTConfigChanges{ idpconfig.ChangeJWTEndpoint(jwtEndpoint), diff --git a/internal/command/iam_idp_oidc_config.go b/internal/command/instance_idp_oidc_config.go similarity index 71% rename from internal/command/iam_idp_oidc_config.go rename to internal/command/instance_idp_oidc_config.go index a6c98922e8..ac88f9a2c2 100644 --- a/internal/command/iam_idp_oidc_config.go +++ b/internal/command/instance_idp_oidc_config.go @@ -9,22 +9,22 @@ import ( func (c *Commands) ChangeDefaultIDPOIDCConfig(ctx context.Context, config *domain.OIDCIDPConfig) (*domain.OIDCIDPConfig, error) { if config.IDPConfigID == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-9djf8", "Errors.IDMissing") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-9djf8", "Errors.IDMissing") } - existingConfig := NewIAMIDPOIDCConfigWriteModel(config.IDPConfigID) + existingConfig := NewInstanceIDPOIDCConfigWriteModel(config.IDPConfigID) err := c.eventstore.FilterToQueryReducer(ctx, existingConfig) if err != nil { return nil, err } if existingConfig.State == domain.IDPConfigStateRemoved || existingConfig.State == domain.IDPConfigStateUnspecified { - return nil, caos_errs.ThrowNotFound(nil, "IAM-67J9d", "Errors.IAM.IDPConfig.AlreadyExists") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-67J9d", "Errors.IAM.IDPConfig.AlreadyExists") } - iamAgg := IAMAggregateFromWriteModel(&existingConfig.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&existingConfig.WriteModel) changedEvent, hasChanged, err := existingConfig.NewChangedEvent( ctx, - iamAgg, + instanceAgg, config.IDPConfigID, config.ClientID, config.Issuer, @@ -39,7 +39,7 @@ func (c *Commands) ChangeDefaultIDPOIDCConfig(ctx context.Context, config *domai return nil, err } if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) diff --git a/internal/command/iam_idp_oidc_config_model.go b/internal/command/instance_idp_oidc_config_model.go similarity index 73% rename from internal/command/iam_idp_oidc_config_model.go rename to internal/command/instance_idp_oidc_config_model.go index 1b829bce39..5d4ed3356e 100644 --- a/internal/command/iam_idp_oidc_config_model.go +++ b/internal/command/instance_idp_oidc_config_model.go @@ -8,16 +8,16 @@ import ( "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMIDPOIDCConfigWriteModel struct { +type InstanceIDPOIDCConfigWriteModel struct { OIDCConfigWriteModel } -func NewIAMIDPOIDCConfigWriteModel(idpConfigID string) *IAMIDPOIDCConfigWriteModel { - return &IAMIDPOIDCConfigWriteModel{ +func NewInstanceIDPOIDCConfigWriteModel(idpConfigID string) *InstanceIDPOIDCConfigWriteModel { + return &InstanceIDPOIDCConfigWriteModel{ OIDCConfigWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -28,30 +28,30 @@ func NewIAMIDPOIDCConfigWriteModel(idpConfigID string) *IAMIDPOIDCConfigWriteMod } } -func (wm *IAMIDPOIDCConfigWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceIDPOIDCConfigWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.IDPOIDCConfigAddedEvent: + case *instance.IDPOIDCConfigAddedEvent: if wm.IDPConfigID != e.IDPConfigID { continue } wm.OIDCConfigWriteModel.AppendEvents(&e.OIDCConfigAddedEvent) - case *iam.IDPOIDCConfigChangedEvent: + case *instance.IDPOIDCConfigChangedEvent: if wm.IDPConfigID != e.IDPConfigID { continue } wm.OIDCConfigWriteModel.AppendEvents(&e.OIDCConfigChangedEvent) - case *iam.IDPConfigReactivatedEvent: + case *instance.IDPConfigReactivatedEvent: if wm.IDPConfigID != e.ConfigID { continue } wm.OIDCConfigWriteModel.AppendEvents(&e.IDPConfigReactivatedEvent) - case *iam.IDPConfigDeactivatedEvent: + case *instance.IDPConfigDeactivatedEvent: if wm.IDPConfigID != e.ConfigID { continue } wm.OIDCConfigWriteModel.AppendEvents(&e.IDPConfigDeactivatedEvent) - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: if wm.IDPConfigID != e.ConfigID { continue } @@ -62,29 +62,29 @@ func (wm *IAMIDPOIDCConfigWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMIDPOIDCConfigWriteModel) Reduce() error { +func (wm *InstanceIDPOIDCConfigWriteModel) Reduce() error { if err := wm.OIDCConfigWriteModel.Reduce(); err != nil { return err } return wm.WriteModel.Reduce() } -func (wm *IAMIDPOIDCConfigWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceIDPOIDCConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.IDPOIDCConfigAddedEventType, - iam.IDPOIDCConfigChangedEventType, - iam.IDPConfigReactivatedEventType, - iam.IDPConfigDeactivatedEventType, - iam.IDPConfigRemovedEventType). + instance.IDPOIDCConfigAddedEventType, + instance.IDPOIDCConfigChangedEventType, + instance.IDPConfigReactivatedEventType, + instance.IDPConfigDeactivatedEventType, + instance.IDPConfigRemovedEventType). Builder() } -func (wm *IAMIDPOIDCConfigWriteModel) NewChangedEvent( +func (wm *InstanceIDPOIDCConfigWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, idpConfigID, @@ -97,7 +97,7 @@ func (wm *IAMIDPOIDCConfigWriteModel) NewChangedEvent( idpDisplayNameMapping, userNameMapping domain.OIDCMappingField, scopes ...string, -) (*iam.IDPOIDCConfigChangedEvent, bool, error) { +) (*instance.IDPOIDCConfigChangedEvent, bool, error) { changes := make([]idpconfig.OIDCConfigChanges, 0) var clientSecret *crypto.CryptoValue @@ -133,7 +133,7 @@ func (wm *IAMIDPOIDCConfigWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewIDPOIDCConfigChangedEvent(ctx, aggregate, idpConfigID, changes) + changeEvent, err := instance.NewIDPOIDCConfigChangedEvent(ctx, aggregate, idpConfigID, changes) if err != nil { return nil, false, err } diff --git a/internal/command/iam_idp_oidc_config_test.go b/internal/command/instance_idp_oidc_config_test.go similarity index 88% rename from internal/command/iam_idp_oidc_config_test.go rename to internal/command/instance_idp_oidc_config_test.go index 9381935ddb..b1bc654f50 100644 --- a/internal/command/iam_idp_oidc_config_test.go +++ b/internal/command/instance_idp_oidc_config_test.go @@ -13,8 +13,8 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { @@ -78,8 +78,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -88,8 +88,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPOIDCConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPOIDCConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "clientid1", "config1", "issuer", @@ -107,8 +107,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPConfigRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name", ), @@ -133,8 +133,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -143,8 +143,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPOIDCConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPOIDCConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "clientid1", "config1", "issuer", @@ -189,8 +189,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name1", domain.IDPConfigTypeOIDC, @@ -199,8 +199,8 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { ), ), eventFromEventPusher( - iam.NewIDPOIDCConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPOIDCConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "clientid1", "config1", "issuer", @@ -295,9 +295,9 @@ func TestCommandSide_ChangeDefaultIDPOIDCConfig(t *testing.T) { } } -func newDefaultIDPOIDCConfigChangedEvent(ctx context.Context, configID, clientID, issuer, authorizationEndpoint, tokenEndpoint string, secret *crypto.CryptoValue, displayMapping, usernameMapping domain.OIDCMappingField, scopes []string) *iam.IDPOIDCConfigChangedEvent { - event, _ := iam.NewIDPOIDCConfigChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultIDPOIDCConfigChangedEvent(ctx context.Context, configID, clientID, issuer, authorizationEndpoint, tokenEndpoint string, secret *crypto.CryptoValue, displayMapping, usernameMapping domain.OIDCMappingField, scopes []string) *instance.IDPOIDCConfigChangedEvent { + event, _ := instance.NewIDPOIDCConfigChangedEvent(ctx, + &instance.NewAggregate().Aggregate, configID, []idpconfig.OIDCConfigChanges{ idpconfig.ChangeClientID(clientID), diff --git a/internal/command/instance_member.go b/internal/command/instance_member.go new file mode 100644 index 0000000000..b2584e58b3 --- /dev/null +++ b/internal/command/instance_member.go @@ -0,0 +1,142 @@ +package command + +import ( + "context" + "reflect" + + "github.com/caos/zitadel/internal/eventstore" + + "github.com/caos/zitadel/internal/domain" + "github.com/caos/zitadel/internal/errors" + caos_errs "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/repository/instance" + "github.com/caos/zitadel/internal/telemetry/tracing" +) + +func (c *Commands) AddInstanceMember(ctx context.Context, member *domain.Member) (*domain.Member, error) { + if member.UserID == "" { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-Mf83b", "Errors.IAM.MemberInvalid") + } + addedMember := NewInstanceMemberWriteModel(member.UserID) + instanceAgg := InstanceAggregateFromWriteModel(&addedMember.MemberWriteModel.WriteModel) + err := c.checkUserExists(ctx, addedMember.UserID, "") + if err != nil { + return nil, caos_errs.ThrowPreconditionFailed(err, "INSTANCE-5N9vs", "Errors.User.NotFound") + } + event, err := c.addInstanceMember(ctx, instanceAgg, addedMember, member) + if err != nil { + return nil, err + } + + pushedEvents, err := c.eventstore.Push(ctx, event) + if err != nil { + return nil, err + } + err = AppendAndReduce(addedMember, pushedEvents...) + if err != nil { + return nil, err + } + return memberWriteModelToMember(&addedMember.MemberWriteModel), nil +} + +func (c *Commands) addInstanceMember(ctx context.Context, instanceAgg *eventstore.Aggregate, addedMember *InstanceMemberWriteModel, member *domain.Member) (eventstore.Command, error) { + if !member.IsIAMValid() { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-GR34U", "Errors.IAM.MemberInvalid") + } + if len(domain.CheckForInvalidRoles(member.Roles, domain.IAMRolePrefix, c.zitadelRoles)) > 0 { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-4m0fS", "Errors.IAM.MemberInvalid") + } + err := c.eventstore.FilterToQueryReducer(ctx, addedMember) + if err != nil { + return nil, err + } + if addedMember.State == domain.MemberStateActive { + return nil, errors.ThrowAlreadyExists(nil, "INSTANCE-sdgQ4", "Errors.IAM.Member.AlreadyExists") + } + + return instance.NewMemberAddedEvent(ctx, instanceAgg, member.UserID, member.Roles...), nil +} + +//ChangeInstanceMember updates an existing member +func (c *Commands) ChangeInstanceMember(ctx context.Context, member *domain.Member) (*domain.Member, error) { + if !member.IsIAMValid() { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-LiaZi", "Errors.IAM.MemberInvalid") + } + if len(domain.CheckForInvalidRoles(member.Roles, domain.IAMRolePrefix, c.zitadelRoles)) > 0 { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-3m9fs", "Errors.IAM.MemberInvalid") + } + + existingMember, err := c.instanceMemberWriteModelByID(ctx, member.UserID) + if err != nil { + return nil, err + } + + if reflect.DeepEqual(existingMember.Roles, member.Roles) { + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-LiaZi", "Errors.IAM.Member.RolesNotChanged") + } + instanceAgg := InstanceAggregateFromWriteModel(&existingMember.MemberWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewMemberChangedEvent(ctx, instanceAgg, member.UserID, member.Roles...)) + if err != nil { + return nil, err + } + err = AppendAndReduce(existingMember, pushedEvents...) + if err != nil { + return nil, err + } + + return memberWriteModelToMember(&existingMember.MemberWriteModel), nil +} + +func (c *Commands) RemoveInstanceMember(ctx context.Context, userID string) (*domain.ObjectDetails, error) { + if userID == "" { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-LiaZi", "Errors.IDMissing") + } + memberWriteModel, err := c.instanceMemberWriteModelByID(ctx, userID) + if err != nil && !errors.IsNotFound(err) { + return nil, err + } + if errors.IsNotFound(err) { + return nil, nil + } + + instanceAgg := InstanceAggregateFromWriteModel(&memberWriteModel.MemberWriteModel.WriteModel) + removeEvent := c.removeInstanceMember(ctx, instanceAgg, userID, false) + pushedEvents, err := c.eventstore.Push(ctx, removeEvent) + if err != nil { + return nil, err + } + err = AppendAndReduce(memberWriteModel, pushedEvents...) + if err != nil { + return nil, err + } + + return writeModelToObjectDetails(&memberWriteModel.MemberWriteModel.WriteModel), nil +} + +func (c *Commands) removeInstanceMember(ctx context.Context, instanceAgg *eventstore.Aggregate, userID string, cascade bool) eventstore.Command { + if cascade { + return instance.NewMemberCascadeRemovedEvent( + ctx, + instanceAgg, + userID) + } else { + return instance.NewMemberRemovedEvent(ctx, instanceAgg, userID) + } +} + +func (c *Commands) instanceMemberWriteModelByID(ctx context.Context, userID string) (member *InstanceMemberWriteModel, err error) { + ctx, span := tracing.NewSpan(ctx) + defer func() { span.EndWithError(err) }() + + writeModel := NewInstanceMemberWriteModel(userID) + err = c.eventstore.FilterToQueryReducer(ctx, writeModel) + if err != nil { + return nil, err + } + + if writeModel.State == domain.MemberStateUnspecified || writeModel.State == domain.MemberStateRemoved { + return nil, errors.ThrowNotFound(nil, "INSTANCE-D8JxR", "Errors.NotFound") + } + + return writeModel, nil +} diff --git a/internal/command/iam_member_model.go b/internal/command/instance_member_model.go similarity index 59% rename from internal/command/iam_member_model.go rename to internal/command/instance_member_model.go index f5fe15fc79..d45620417a 100644 --- a/internal/command/iam_member_model.go +++ b/internal/command/instance_member_model.go @@ -3,15 +3,15 @@ package command import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMMemberWriteModel struct { +type InstanceMemberWriteModel struct { MemberWriteModel } -func NewIAMMemberWriteModel(userID string) *IAMMemberWriteModel { - return &IAMMemberWriteModel{ +func NewInstanceMemberWriteModel(userID string) *InstanceMemberWriteModel { + return &InstanceMemberWriteModel{ MemberWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -22,25 +22,25 @@ func NewIAMMemberWriteModel(userID string) *IAMMemberWriteModel { } } -func (wm *IAMMemberWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceMemberWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.MemberAddedEvent: + case *instance.MemberAddedEvent: if e.UserID != wm.MemberWriteModel.UserID { continue } wm.MemberWriteModel.AppendEvents(&e.MemberAddedEvent) - case *iam.MemberChangedEvent: + case *instance.MemberChangedEvent: if e.UserID != wm.MemberWriteModel.UserID { continue } wm.MemberWriteModel.AppendEvents(&e.MemberChangedEvent) - case *iam.MemberRemovedEvent: + case *instance.MemberRemovedEvent: if e.UserID != wm.MemberWriteModel.UserID { continue } wm.MemberWriteModel.AppendEvents(&e.MemberRemovedEvent) - case *iam.MemberCascadeRemovedEvent: + case *instance.MemberCascadeRemovedEvent: if e.UserID != wm.MemberWriteModel.UserID { continue } @@ -49,20 +49,20 @@ func (wm *IAMMemberWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMMemberWriteModel) Reduce() error { +func (wm *InstanceMemberWriteModel) Reduce() error { return wm.MemberWriteModel.Reduce() } -func (wm *IAMMemberWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceMemberWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.MemberWriteModel.AggregateID). EventTypes( - iam.MemberAddedEventType, - iam.MemberChangedEventType, - iam.MemberRemovedEventType, - iam.MemberCascadeRemovedEventType). + instance.MemberAddedEventType, + instance.MemberChangedEventType, + instance.MemberRemovedEventType, + instance.MemberCascadeRemovedEventType). Builder() } diff --git a/internal/command/iam_member_test.go b/internal/command/instance_member_test.go similarity index 90% rename from internal/command/iam_member_test.go rename to internal/command/instance_member_test.go index 5a11ea5299..d86a758189 100644 --- a/internal/command/iam_member_test.go +++ b/internal/command/instance_member_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/member" "github.com/caos/zitadel/internal/repository/user" "github.com/stretchr/testify/assert" @@ -126,8 +126,8 @@ func TestCommandSide_AddIAMMember(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", ), ), @@ -174,8 +174,8 @@ func TestCommandSide_AddIAMMember(t *testing.T) { expectFilter(), expectPushFailed(caos_errs.ThrowAlreadyExists(nil, "ERROR", "internal"), []*repository.Event{ - eventFromEventPusher(iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + eventFromEventPusher(instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER"}..., )), @@ -224,8 +224,8 @@ func TestCommandSide_AddIAMMember(t *testing.T) { expectFilter(), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + eventFromEventPusher(instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER"}..., )), @@ -264,7 +264,7 @@ func TestCommandSide_AddIAMMember(t *testing.T) { eventstore: tt.fields.eventstore, zitadelRoles: tt.fields.zitadelRoles, } - got, err := r.AddIAMMember(tt.args.ctx, tt.args.member) + got, err := r.AddInstanceMember(tt.args.ctx, tt.args.member) if tt.res.err == nil { assert.NoError(t, err) } @@ -361,8 +361,8 @@ func TestCommandSide_ChangeIAMMember(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER"}..., ), @@ -393,8 +393,8 @@ func TestCommandSide_ChangeIAMMember(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER"}..., ), @@ -402,8 +402,8 @@ func TestCommandSide_ChangeIAMMember(t *testing.T) { ), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewMemberChangedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + eventFromEventPusher(instance.NewMemberChangedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER", "IAM_OWNER_VIEWER"}..., )), @@ -444,7 +444,7 @@ func TestCommandSide_ChangeIAMMember(t *testing.T) { eventstore: tt.fields.eventstore, zitadelRoles: tt.fields.zitadelRoles, } - got, err := r.ChangeIAMMember(tt.args.ctx, tt.args.member) + got, err := r.ChangeInstanceMember(tt.args.ctx, tt.args.member) if tt.res.err == nil { assert.NoError(t, err) } @@ -514,8 +514,8 @@ func TestCommandSide_RemoveIAMMember(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMemberAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMemberAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", []string{"IAM_OWNER"}..., ), @@ -523,8 +523,8 @@ func TestCommandSide_RemoveIAMMember(t *testing.T) { ), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewMemberRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + eventFromEventPusher(instance.NewMemberRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", )), }, @@ -548,7 +548,7 @@ func TestCommandSide_RemoveIAMMember(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - got, err := r.RemoveIAMMember(tt.args.ctx, tt.args.userID) + got, err := r.RemoveInstanceMember(tt.args.ctx, tt.args.userID) if tt.res.err == nil { assert.NoError(t, err) } diff --git a/internal/command/iam_model.go b/internal/command/instance_model.go similarity index 50% rename from internal/command/iam_model.go rename to internal/command/instance_model.go index 9d13156a67..ab646e78d6 100644 --- a/internal/command/iam_model.go +++ b/internal/command/instance_model.go @@ -3,11 +3,11 @@ package command import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "golang.org/x/text/language" ) -type IAMWriteModel struct { +type InstanceWriteModel struct { eventstore.WriteModel SetUpStarted domain.Step @@ -18,8 +18,8 @@ type IAMWriteModel struct { DefaultLanguage language.Tag } -func NewIAMWriteModel() *IAMWriteModel { - return &IAMWriteModel{ +func NewInstanceWriteModel() *InstanceWriteModel { + return &InstanceWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, ResourceOwner: domain.IAMID, @@ -27,16 +27,16 @@ func NewIAMWriteModel() *IAMWriteModel { } } -func (wm *IAMWriteModel) Reduce() error { +func (wm *InstanceWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.ProjectSetEvent: + case *instance.ProjectSetEvent: wm.ProjectID = e.ProjectID - case *iam.GlobalOrgSetEvent: + case *instance.GlobalOrgSetEvent: wm.GlobalOrgID = e.OrgID - case *iam.DefaultLanguageSetEvent: + case *instance.DefaultLanguageSetEvent: wm.DefaultLanguage = e.Language - case *iam.SetupStepEvent: + case *instance.SetupStepEvent: if e.Done { wm.SetUpDone = e.Step } else { @@ -47,21 +47,21 @@ func (wm *IAMWriteModel) Reduce() error { return nil } -func (wm *IAMWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.ProjectSetEventType, - iam.GlobalOrgSetEventType, - iam.DefaultLanguageSetEventType, - iam.SetupStartedEventType, - iam.SetupDoneEventType). + instance.ProjectSetEventType, + instance.GlobalOrgSetEventType, + instance.DefaultLanguageSetEventType, + instance.SetupStartedEventType, + instance.SetupDoneEventType). Builder() } -func IAMAggregateFromWriteModel(wm *eventstore.WriteModel) *eventstore.Aggregate { - return eventstore.AggregateFromWriteModel(wm, iam.AggregateType, iam.AggregateVersion) +func InstanceAggregateFromWriteModel(wm *eventstore.WriteModel) *eventstore.Aggregate { + return eventstore.AggregateFromWriteModel(wm, instance.AggregateType, instance.AggregateVersion) } diff --git a/internal/command/iam_oidc_settings.go b/internal/command/instance_oidc_settings.go similarity index 80% rename from internal/command/iam_oidc_settings.go rename to internal/command/instance_oidc_settings.go index cd3267f42d..01d5fe3b97 100644 --- a/internal/command/iam_oidc_settings.go +++ b/internal/command/instance_oidc_settings.go @@ -5,7 +5,7 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func (c *Commands) AddOIDCSettings(ctx context.Context, settings *domain.OIDCSettings) (*domain.ObjectDetails, error) { @@ -16,10 +16,10 @@ func (c *Commands) AddOIDCSettings(ctx context.Context, settings *domain.OIDCSet if oidcSettingWriteModel.State.Exists() { return nil, caos_errs.ThrowAlreadyExists(nil, "COMMAND-d9nlw", "Errors.OIDCSettings.AlreadyExists") } - iamAgg := IAMAggregateFromWriteModel(&oidcSettingWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewOIDCSettingsAddedEvent( + instanceAgg := InstanceAggregateFromWriteModel(&oidcSettingWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewOIDCSettingsAddedEvent( ctx, - iamAgg, + instanceAgg, settings.AccessTokenLifetime, settings.IdTokenLifetime, settings.RefreshTokenIdleExpiration, @@ -42,11 +42,11 @@ func (c *Commands) ChangeOIDCSettings(ctx context.Context, settings *domain.OIDC if !oidcSettingWriteModel.State.Exists() { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-8snEr", "Errors.OIDCSettings.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&oidcSettingWriteModel.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&oidcSettingWriteModel.WriteModel) changedEvent, hasChanged, err := oidcSettingWriteModel.NewChangedEvent( ctx, - iamAgg, + instanceAgg, settings.AccessTokenLifetime, settings.IdTokenLifetime, settings.RefreshTokenIdleExpiration, @@ -68,8 +68,8 @@ func (c *Commands) ChangeOIDCSettings(ctx context.Context, settings *domain.OIDC return writeModelToObjectDetails(&oidcSettingWriteModel.WriteModel), nil } -func (c *Commands) getOIDCSettings(ctx context.Context) (_ *IAMOIDCSettingsWriteModel, err error) { - writeModel := NewIAMOIDCSettingsWriteModel() +func (c *Commands) getOIDCSettings(ctx context.Context) (_ *InstanceOIDCSettingsWriteModel, err error) { + writeModel := NewInstanceOIDCSettingsWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_oidc_settings_model.go b/internal/command/instance_oidc_settings_model.go similarity index 61% rename from internal/command/iam_oidc_settings_model.go rename to internal/command/instance_oidc_settings_model.go index 20ca6141a1..0dc0ccce4c 100644 --- a/internal/command/iam_oidc_settings_model.go +++ b/internal/command/instance_oidc_settings_model.go @@ -6,10 +6,10 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMOIDCSettingsWriteModel struct { +type InstanceOIDCSettingsWriteModel struct { eventstore.WriteModel AccessTokenLifetime time.Duration @@ -19,8 +19,8 @@ type IAMOIDCSettingsWriteModel struct { State domain.OIDCSettingsState } -func NewIAMOIDCSettingsWriteModel() *IAMOIDCSettingsWriteModel { - return &IAMOIDCSettingsWriteModel{ +func NewInstanceOIDCSettingsWriteModel() *InstanceOIDCSettingsWriteModel { + return &InstanceOIDCSettingsWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, ResourceOwner: domain.IAMID, @@ -28,16 +28,16 @@ func NewIAMOIDCSettingsWriteModel() *IAMOIDCSettingsWriteModel { } } -func (wm *IAMOIDCSettingsWriteModel) Reduce() error { +func (wm *InstanceOIDCSettingsWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.OIDCSettingsAddedEvent: + case *instance.OIDCSettingsAddedEvent: wm.AccessTokenLifetime = e.AccessTokenLifetime wm.IdTokenLifetime = e.IdTokenLifetime wm.RefreshTokenIdleExpiration = e.RefreshTokenIdleExpiration wm.RefreshTokenExpiration = e.RefreshTokenExpiration wm.State = domain.OIDCSettingsStateActive - case *iam.OIDCSettingsChangedEvent: + case *instance.OIDCSettingsChangedEvent: if e.AccessTokenLifetime != nil { wm.AccessTokenLifetime = *e.AccessTokenLifetime } @@ -55,45 +55,45 @@ func (wm *IAMOIDCSettingsWriteModel) Reduce() error { return wm.WriteModel.Reduce() } -func (wm *IAMOIDCSettingsWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceOIDCSettingsWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.OIDCSettingsAddedEventType, - iam.OIDCSettingsChangedEventType). + instance.OIDCSettingsAddedEventType, + instance.OIDCSettingsChangedEventType). Builder() } -func (wm *IAMOIDCSettingsWriteModel) NewChangedEvent( +func (wm *InstanceOIDCSettingsWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, accessTokenLifetime, idTokenLifetime, refreshTokenIdleExpiration, refreshTokenExpiration time.Duration, -) (*iam.OIDCSettingsChangedEvent, bool, error) { - changes := make([]iam.OIDCSettingsChanges, 0, 4) +) (*instance.OIDCSettingsChangedEvent, bool, error) { + changes := make([]instance.OIDCSettingsChanges, 0, 4) var err error if wm.AccessTokenLifetime != accessTokenLifetime { - changes = append(changes, iam.ChangeOIDCSettingsAccessTokenLifetime(accessTokenLifetime)) + changes = append(changes, instance.ChangeOIDCSettingsAccessTokenLifetime(accessTokenLifetime)) } if wm.IdTokenLifetime != idTokenLifetime { - changes = append(changes, iam.ChangeOIDCSettingsIdTokenLifetime(idTokenLifetime)) + changes = append(changes, instance.ChangeOIDCSettingsIdTokenLifetime(idTokenLifetime)) } if wm.RefreshTokenIdleExpiration != refreshTokenIdleExpiration { - changes = append(changes, iam.ChangeOIDCSettingsRefreshTokenIdleExpiration(refreshTokenIdleExpiration)) + changes = append(changes, instance.ChangeOIDCSettingsRefreshTokenIdleExpiration(refreshTokenIdleExpiration)) } if wm.RefreshTokenExpiration != refreshTokenExpiration { - changes = append(changes, iam.ChangeOIDCSettingsRefreshTokenExpiration(refreshTokenExpiration)) + changes = append(changes, instance.ChangeOIDCSettingsRefreshTokenExpiration(refreshTokenExpiration)) } if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewOIDCSettingsChangeEvent(ctx, aggregate, changes) + changeEvent, err := instance.NewOIDCSettingsChangeEvent(ctx, aggregate, changes) if err != nil { return nil, false, err } diff --git a/internal/command/iam_oidc_settings_test.go b/internal/command/instance_oidc_settings_test.go similarity index 84% rename from internal/command/iam_oidc_settings_test.go rename to internal/command/instance_oidc_settings_test.go index 20b006646b..d664c80054 100644 --- a/internal/command/iam_oidc_settings_test.go +++ b/internal/command/instance_oidc_settings_test.go @@ -11,7 +11,7 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_AddOIDCConfig(t *testing.T) { @@ -39,8 +39,8 @@ func TestCommandSide_AddOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOIDCSettingsAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewOIDCSettingsAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, time.Hour*1, time.Hour*1, time.Hour*1, @@ -71,9 +71,9 @@ func TestCommandSide_AddOIDCConfig(t *testing.T) { expectFilter(), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewOIDCSettingsAddedEvent( + eventFromEventPusher(instance.NewOIDCSettingsAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, time.Hour*1, time.Hour*1, time.Hour*1, @@ -159,9 +159,9 @@ func TestCommandSide_ChangeOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOIDCSettingsAddedEvent( + instance.NewOIDCSettingsAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, time.Hour*1, time.Hour*1, time.Hour*1, @@ -191,9 +191,9 @@ func TestCommandSide_ChangeOIDCConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOIDCSettingsAddedEvent( + instance.NewOIDCSettingsAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, time.Hour*1, time.Hour*1, time.Hour*1, @@ -249,15 +249,15 @@ func TestCommandSide_ChangeOIDCConfig(t *testing.T) { } } -func newOIDCConfigChangedEvent(ctx context.Context, accessTokenLifetime, idTokenLifetime, refreshTokenIdleExpiration, refreshTokenExpiration time.Duration) *iam.OIDCSettingsChangedEvent { - changes := []iam.OIDCSettingsChanges{ - iam.ChangeOIDCSettingsAccessTokenLifetime(accessTokenLifetime), - iam.ChangeOIDCSettingsIdTokenLifetime(idTokenLifetime), - iam.ChangeOIDCSettingsRefreshTokenIdleExpiration(refreshTokenIdleExpiration), - iam.ChangeOIDCSettingsRefreshTokenExpiration(refreshTokenExpiration), +func newOIDCConfigChangedEvent(ctx context.Context, accessTokenLifetime, idTokenLifetime, refreshTokenIdleExpiration, refreshTokenExpiration time.Duration) *instance.OIDCSettingsChangedEvent { + changes := []instance.OIDCSettingsChanges{ + instance.ChangeOIDCSettingsAccessTokenLifetime(accessTokenLifetime), + instance.ChangeOIDCSettingsIdTokenLifetime(idTokenLifetime), + instance.ChangeOIDCSettingsRefreshTokenIdleExpiration(refreshTokenIdleExpiration), + instance.ChangeOIDCSettingsRefreshTokenExpiration(refreshTokenExpiration), } - event, _ := iam.NewOIDCSettingsChangeEvent(ctx, - &iam.NewAggregate().Aggregate, + event, _ := instance.NewOIDCSettingsChangeEvent(ctx, + &instance.NewAggregate().Aggregate, changes, ) return event diff --git a/internal/command/instance_policy_domain.go b/internal/command/instance_policy_domain.go new file mode 100644 index 0000000000..ff0ae0bd4c --- /dev/null +++ b/internal/command/instance_policy_domain.go @@ -0,0 +1,92 @@ +package command + +import ( + "context" + + "github.com/caos/zitadel/internal/domain" + caos_errs "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore" + iam_repo "github.com/caos/zitadel/internal/repository/instance" + "github.com/caos/zitadel/internal/telemetry/tracing" +) + +func (c *Commands) AddDefaultDomainPolicy(ctx context.Context, policy *domain.DomainPolicy) (*domain.DomainPolicy, error) { + addedPolicy := NewInstanceDomainPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + event, err := c.addDefaultDomainPolicy(ctx, instanceAgg, addedPolicy, policy) + if err != nil { + return nil, err + } + + pushedEvents, err := c.eventstore.Push(ctx, event) + if err != nil { + return nil, err + } + err = AppendAndReduce(addedPolicy, pushedEvents...) + if err != nil { + return nil, err + } + return writeModelToDomainPolicy(addedPolicy), nil +} + +func (c *Commands) addDefaultDomainPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceDomainPolicyWriteModel, policy *domain.DomainPolicy) (eventstore.Command, error) { + err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) + if err != nil { + return nil, err + } + if addedPolicy.State == domain.PolicyStateActive { + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-Lk0dS", "Errors.IAM.DomainPolicy.AlreadyExists") + } + return iam_repo.NewInstnaceDomainPolicyAddedEvent(ctx, instanceAgg, policy.UserLoginMustBeDomain), nil +} + +func (c *Commands) ChangeDefaultDomainPolicy(ctx context.Context, policy *domain.DomainPolicy) (*domain.DomainPolicy, error) { + existingPolicy, err := c.defaultDomainPolicyWriteModelByID(ctx) + if err != nil { + return nil, err + } + if !existingPolicy.State.Exists() { + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0Pl0d", "Errors.IAM.DomainPolicy.NotFound") + } + + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.PolicyDomainWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.UserLoginMustBeDomain) + if !hasChanged { + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + } + + pushedEvents, err := c.eventstore.Push(ctx, changedEvent) + if err != nil { + return nil, err + } + err = AppendAndReduce(existingPolicy, pushedEvents...) + if err != nil { + return nil, err + } + return writeModelToDomainPolicy(existingPolicy), nil +} + +func (c *Commands) getDefaultDomainPolicy(ctx context.Context) (*domain.DomainPolicy, error) { + policyWriteModel, err := c.defaultDomainPolicyWriteModelByID(ctx) + if err != nil { + return nil, err + } + if !policyWriteModel.State.Exists() { + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-3n8fs", "Errors.IAM.PasswordComplexityPolicy.NotFound") + } + policy := writeModelToDomainPolicy(policyWriteModel) + policy.Default = true + return policy, nil +} + +func (c *Commands) defaultDomainPolicyWriteModelByID(ctx context.Context) (policy *InstanceDomainPolicyWriteModel, err error) { + ctx, span := tracing.NewSpan(ctx) + defer func() { span.EndWithError(err) }() + + writeModel := NewInstanceDomainPolicyWriteModel() + err = c.eventstore.FilterToQueryReducer(ctx, writeModel) + if err != nil { + return nil, err + } + return writeModel, nil +} diff --git a/internal/command/instance_policy_domain_model.go b/internal/command/instance_policy_domain_model.go new file mode 100644 index 0000000000..6ce5ef0e55 --- /dev/null +++ b/internal/command/instance_policy_domain_model.go @@ -0,0 +1,71 @@ +package command + +import ( + "context" + + "github.com/caos/zitadel/internal/eventstore" + + "github.com/caos/zitadel/internal/domain" + "github.com/caos/zitadel/internal/repository/instance" + "github.com/caos/zitadel/internal/repository/policy" +) + +type InstanceDomainPolicyWriteModel struct { + PolicyDomainWriteModel +} + +func NewInstanceDomainPolicyWriteModel() *InstanceDomainPolicyWriteModel { + return &InstanceDomainPolicyWriteModel{ + PolicyDomainWriteModel{ + WriteModel: eventstore.WriteModel{ + AggregateID: domain.IAMID, + ResourceOwner: domain.IAMID, + }, + }, + } +} + +func (wm *InstanceDomainPolicyWriteModel) AppendEvents(events ...eventstore.Event) { + for _, event := range events { + switch e := event.(type) { + case *instance.InstanceDomainPolicyAddedEvent: + wm.PolicyDomainWriteModel.AppendEvents(&e.DomainPolicyAddedEvent) + case *instance.InstanceDomainPolicyChangedEvent: + wm.PolicyDomainWriteModel.AppendEvents(&e.DomainPolicyChangedEvent) + } + } +} + +func (wm *InstanceDomainPolicyWriteModel) Reduce() error { + return wm.PolicyDomainWriteModel.Reduce() +} + +func (wm *InstanceDomainPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { + return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). + ResourceOwner(wm.ResourceOwner). + AddQuery(). + AggregateTypes(instance.AggregateType). + AggregateIDs(wm.PolicyDomainWriteModel.AggregateID). + EventTypes( + instance.InstanceDomainPolicyAddedEventType, + instance.InstanceDomainPolicyChangedEventType). + Builder() +} + +func (wm *InstanceDomainPolicyWriteModel) NewChangedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + userLoginMustBeDomain bool) (*instance.InstanceDomainPolicyChangedEvent, bool) { + changes := make([]policy.OrgPolicyChanges, 0) + if wm.UserLoginMustBeDomain != userLoginMustBeDomain { + changes = append(changes, policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain)) + } + if len(changes) == 0 { + return nil, false + } + changedEvent, err := instance.NewInstanceDomainPolicyChangedEvent(ctx, aggregate, changes) + if err != nil { + return nil, false + } + return changedEvent, true +} diff --git a/internal/command/iam_policy_org_iam_test.go b/internal/command/instance_policy_domain_test.go similarity index 76% rename from internal/command/iam_policy_org_iam_test.go rename to internal/command/instance_policy_domain_test.go index 358a159b71..be016776d3 100644 --- a/internal/command/iam_policy_org_iam_test.go +++ b/internal/command/instance_policy_domain_test.go @@ -2,27 +2,28 @@ package command import ( "context" + "testing" + "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/stretchr/testify/assert" - "testing" ) -func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { +func TestCommandSide_AddDefaultDomainPolicy(t *testing.T) { type fields struct { eventstore *eventstore.Eventstore } type args struct { ctx context.Context - policy *domain.OrgIAMPolicy + policy *domain.DomainPolicy } type res struct { - want *domain.OrgIAMPolicy + want *domain.DomainPolicy err func(error) bool } tests := []struct { @@ -38,8 +39,8 @@ func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -48,7 +49,7 @@ func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -65,8 +66,8 @@ func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -76,12 +77,12 @@ func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, res: res{ - want: &domain.OrgIAMPolicy{ + want: &domain.DomainPolicy{ ObjectRoot: models.ObjectRoot{ AggregateID: "IAM", ResourceOwner: "IAM", @@ -96,7 +97,7 @@ func TestCommandSide_AddDefaultOrgIAMPolicy(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - got, err := r.AddDefaultOrgIAMPolicy(tt.args.ctx, tt.args.policy) + got, err := r.AddDefaultDomainPolicy(tt.args.ctx, tt.args.policy) if tt.res.err == nil { assert.NoError(t, err) } @@ -116,10 +117,10 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { } type args struct { ctx context.Context - policy *domain.OrgIAMPolicy + policy *domain.DomainPolicy } type res struct { - want *domain.OrgIAMPolicy + want *domain.DomainPolicy err func(error) bool } tests := []struct { @@ -138,7 +139,7 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -153,8 +154,8 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -163,7 +164,7 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -178,8 +179,8 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, ), ), @@ -195,12 +196,12 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: false, }, }, res: res{ - want: &domain.OrgIAMPolicy{ + want: &domain.DomainPolicy{ ObjectRoot: models.ObjectRoot{ AggregateID: "IAM", ResourceOwner: "IAM", @@ -215,7 +216,7 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - got, err := r.ChangeDefaultOrgIAMPolicy(tt.args.ctx, tt.args.policy) + got, err := r.ChangeDefaultDomainPolicy(tt.args.ctx, tt.args.policy) if tt.res.err == nil { assert.NoError(t, err) } @@ -229,10 +230,10 @@ func TestCommandSide_ChangeDefaultOrgIAMPolicy(t *testing.T) { } } -func newDefaultOrgIAMPolicyChangedEvent(ctx context.Context, userLoginMustBeDomain bool) *iam.OrgIAMPolicyChangedEvent { - event, _ := iam.NewOrgIAMPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, - []policy.OrgIAMPolicyChanges{ +func newDefaultOrgIAMPolicyChangedEvent(ctx context.Context, userLoginMustBeDomain bool) *instance.InstanceDomainPolicyChangedEvent { + event, _ := instance.NewInstanceDomainPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, + []policy.OrgPolicyChanges{ policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain), }, ) diff --git a/internal/command/iam_policy_label.go b/internal/command/instance_policy_label.go similarity index 65% rename from internal/command/iam_policy_label.go rename to internal/command/instance_policy_label.go index fe8f40c598..6917256290 100644 --- a/internal/command/iam_policy_label.go +++ b/internal/command/instance_policy_label.go @@ -6,14 +6,14 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDefaultLabelPolicy(ctx context.Context, policy *domain.LabelPolicy) (*domain.LabelPolicy, error) { - addedPolicy := NewIAMLabelPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.LabelPolicyWriteModel.WriteModel) - event, err := c.addDefaultLabelPolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstanceLabelPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.LabelPolicyWriteModel.WriteModel) + event, err := c.addDefaultLabelPolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -29,7 +29,7 @@ func (c *Commands) AddDefaultLabelPolicy(ctx context.Context, policy *domain.Lab return writeModelToLabelPolicy(&addedPolicy.LabelPolicyWriteModel), nil } -func (c *Commands) addDefaultLabelPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMLabelPolicyWriteModel, policy *domain.LabelPolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultLabelPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceLabelPolicyWriteModel, policy *domain.LabelPolicy) (eventstore.Command, error) { if err := policy.IsValid(); err != nil { return nil, err } @@ -38,12 +38,12 @@ func (c *Commands) addDefaultLabelPolicy(ctx context.Context, iamAgg *eventstore return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-2B0ps", "Errors.IAM.LabelPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-2B0ps", "Errors.IAM.LabelPolicy.AlreadyExists") } - return iam_repo.NewLabelPolicyAddedEvent( + return instance.NewLabelPolicyAddedEvent( ctx, - iamAgg, + instanceAgg, policy.PrimaryColor, policy.BackgroundColor, policy.WarnColor, @@ -68,12 +68,12 @@ func (c *Commands) ChangeDefaultLabelPolicy(ctx context.Context, policy *domain. } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0K9dq", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0K9dq", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) changedEvent, hasChanged := existingPolicy.NewChangedEvent( ctx, - iamAgg, + instanceAgg, policy.PrimaryColor, policy.BackgroundColor, policy.WarnColor, @@ -86,7 +86,7 @@ func (c *Commands) ChangeDefaultLabelPolicy(ctx context.Context, policy *domain. policy.ErrorMsgPopup, policy.DisableWatermark) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) @@ -107,11 +107,11 @@ func (c *Commands) ActivateDefaultLabelPolicy(ctx context.Context) (*domain.Obje } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-6M23e", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-6M23e", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyActivatedEvent(ctx, iamAgg)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyActivatedEvent(ctx, instanceAgg)) if err != nil { return nil, err } @@ -125,7 +125,7 @@ func (c *Commands) ActivateDefaultLabelPolicy(ctx context.Context) (*domain.Obje func (c *Commands) AddLogoDefaultLabelPolicy(ctx context.Context, storageKey string) (*domain.ObjectDetails, error) { if storageKey == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-3m20c", "Errors.Assets.EmptyKey") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-3m20c", "Errors.Assets.EmptyKey") } existingPolicy, err := c.defaultLabelPolicyWriteModelByID(ctx) if err != nil { @@ -133,10 +133,10 @@ func (c *Commands) AddLogoDefaultLabelPolicy(ctx context.Context, storageKey str } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-Qw0pd", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-Qw0pd", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyLogoAddedEvent(ctx, iamAgg, storageKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyLogoAddedEvent(ctx, instanceAgg, storageKey)) if err != nil { return nil, err } @@ -154,15 +154,15 @@ func (c *Commands) RemoveLogoDefaultLabelPolicy(ctx context.Context) (*domain.Ob } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-Xc8Kf", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-Xc8Kf", "Errors.IAM.LabelPolicy.NotFound") } err = c.RemoveAsset(ctx, domain.IAMID, existingPolicy.LogoKey) if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyLogoRemovedEvent(ctx, iamAgg, existingPolicy.LogoKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyLogoRemovedEvent(ctx, instanceAgg, existingPolicy.LogoKey)) if err != nil { return nil, err } @@ -175,7 +175,7 @@ func (c *Commands) RemoveLogoDefaultLabelPolicy(ctx context.Context) (*domain.Ob func (c *Commands) AddIconDefaultLabelPolicy(ctx context.Context, storageKey string) (*domain.ObjectDetails, error) { if storageKey == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-yxE4f", "Errors.Assets.EmptyKey") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-yxE4f", "Errors.Assets.EmptyKey") } existingPolicy, err := c.defaultLabelPolicyWriteModelByID(ctx) if err != nil { @@ -183,10 +183,10 @@ func (c *Commands) AddIconDefaultLabelPolicy(ctx context.Context, storageKey str } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-1yMx0", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-1yMx0", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyIconAddedEvent(ctx, iamAgg, storageKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyIconAddedEvent(ctx, instanceAgg, storageKey)) if err != nil { return nil, err } @@ -204,14 +204,14 @@ func (c *Commands) RemoveIconDefaultLabelPolicy(ctx context.Context) (*domain.Ob } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-4M0qw", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-4M0qw", "Errors.IAM.LabelPolicy.NotFound") } err = c.RemoveAsset(ctx, domain.IAMID, existingPolicy.IconKey) if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyIconRemovedEvent(ctx, iamAgg, existingPolicy.IconKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyIconRemovedEvent(ctx, instanceAgg, existingPolicy.IconKey)) if err != nil { return nil, err } @@ -224,7 +224,7 @@ func (c *Commands) RemoveIconDefaultLabelPolicy(ctx context.Context) (*domain.Ob func (c *Commands) AddLogoDarkDefaultLabelPolicy(ctx context.Context, storageKey string) (*domain.ObjectDetails, error) { if storageKey == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-4fMs9", "Errors.Assets.EmptyKey") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-4fMs9", "Errors.Assets.EmptyKey") } existingPolicy, err := c.defaultLabelPolicyWriteModelByID(ctx) if err != nil { @@ -232,10 +232,10 @@ func (c *Commands) AddLogoDarkDefaultLabelPolicy(ctx context.Context, storageKey } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-ZR9fs", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-ZR9fs", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyLogoDarkAddedEvent(ctx, iamAgg, storageKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyLogoDarkAddedEvent(ctx, instanceAgg, storageKey)) if err != nil { return nil, err } @@ -253,14 +253,14 @@ func (c *Commands) RemoveLogoDarkDefaultLabelPolicy(ctx context.Context) (*domai } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-3FGds", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-3FGds", "Errors.IAM.LabelPolicy.NotFound") } err = c.RemoveAsset(ctx, domain.IAMID, existingPolicy.LogoDarkKey) if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyLogoDarkRemovedEvent(ctx, iamAgg, existingPolicy.LogoDarkKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyLogoDarkRemovedEvent(ctx, instanceAgg, existingPolicy.LogoDarkKey)) if err != nil { return nil, err } @@ -273,7 +273,7 @@ func (c *Commands) RemoveLogoDarkDefaultLabelPolicy(ctx context.Context) (*domai func (c *Commands) AddIconDarkDefaultLabelPolicy(ctx context.Context, storageKey string) (*domain.ObjectDetails, error) { if storageKey == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-1cxM3", "Errors.Assets.EmptyKey") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-1cxM3", "Errors.Assets.EmptyKey") } existingPolicy, err := c.defaultLabelPolicyWriteModelByID(ctx) if err != nil { @@ -281,10 +281,10 @@ func (c *Commands) AddIconDarkDefaultLabelPolicy(ctx context.Context, storageKey } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-vMsf9", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-vMsf9", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyIconDarkAddedEvent(ctx, iamAgg, storageKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyIconDarkAddedEvent(ctx, instanceAgg, storageKey)) if err != nil { return nil, err } @@ -302,14 +302,14 @@ func (c *Commands) RemoveIconDarkDefaultLabelPolicy(ctx context.Context) (*domai } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-2nc7F", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-2nc7F", "Errors.IAM.LabelPolicy.NotFound") } err = c.RemoveAsset(ctx, domain.IAMID, existingPolicy.IconDarkKey) if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyIconDarkRemovedEvent(ctx, iamAgg, existingPolicy.IconDarkKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyIconDarkRemovedEvent(ctx, instanceAgg, existingPolicy.IconDarkKey)) if err != nil { return nil, err } @@ -322,7 +322,7 @@ func (c *Commands) RemoveIconDarkDefaultLabelPolicy(ctx context.Context) (*domai func (c *Commands) AddFontDefaultLabelPolicy(ctx context.Context, storageKey string) (*domain.ObjectDetails, error) { if storageKey == "" { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-1N8fs", "Errors.Assets.EmptyKey") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-1N8fs", "Errors.Assets.EmptyKey") } existingPolicy, err := c.defaultLabelPolicyWriteModelByID(ctx) if err != nil { @@ -330,10 +330,10 @@ func (c *Commands) AddFontDefaultLabelPolicy(ctx context.Context, storageKey str } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-1N8fE", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-1N8fE", "Errors.IAM.LabelPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyFontAddedEvent(ctx, iamAgg, storageKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyFontAddedEvent(ctx, instanceAgg, storageKey)) if err != nil { return nil, err } @@ -351,14 +351,14 @@ func (c *Commands) RemoveFontDefaultLabelPolicy(ctx context.Context) (*domain.Ob } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-Tk0gw", "Errors.IAM.LabelPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-Tk0gw", "Errors.IAM.LabelPolicy.NotFound") } err = c.RemoveAsset(ctx, domain.IAMID, existingPolicy.FontKey) if err != nil { return nil, err } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLabelPolicyFontRemovedEvent(ctx, iamAgg, existingPolicy.FontKey)) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LabelPolicyWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLabelPolicyFontRemovedEvent(ctx, instanceAgg, existingPolicy.FontKey)) if err != nil { return nil, err } @@ -369,11 +369,11 @@ func (c *Commands) RemoveFontDefaultLabelPolicy(ctx context.Context) (*domain.Ob return writeModelToObjectDetails(&existingPolicy.LabelPolicyWriteModel.WriteModel), nil } -func (c *Commands) defaultLabelPolicyWriteModelByID(ctx context.Context) (policy *IAMLabelPolicyWriteModel, err error) { +func (c *Commands) defaultLabelPolicyWriteModelByID(ctx context.Context) (policy *InstanceLabelPolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMLabelPolicyWriteModel() + writeModel := NewInstanceLabelPolicyWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_label_model.go b/internal/command/instance_policy_label_model.go similarity index 64% rename from internal/command/iam_policy_label_model.go rename to internal/command/instance_policy_label_model.go index eea35d01b8..274f9f4614 100644 --- a/internal/command/iam_policy_label_model.go +++ b/internal/command/instance_policy_label_model.go @@ -5,16 +5,16 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMLabelPolicyWriteModel struct { +type InstanceLabelPolicyWriteModel struct { LabelPolicyWriteModel } -func NewIAMLabelPolicyWriteModel() *IAMLabelPolicyWriteModel { - return &IAMLabelPolicyWriteModel{ +func NewInstanceLabelPolicyWriteModel() *InstanceLabelPolicyWriteModel { + return &InstanceLabelPolicyWriteModel{ LabelPolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -24,66 +24,66 @@ func NewIAMLabelPolicyWriteModel() *IAMLabelPolicyWriteModel { } } -func (wm *IAMLabelPolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceLabelPolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.LabelPolicyAddedEvent: + case *instance.LabelPolicyAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyAddedEvent) - case *iam.LabelPolicyChangedEvent: + case *instance.LabelPolicyChangedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyChangedEvent) - case *iam.LabelPolicyActivatedEvent: + case *instance.LabelPolicyActivatedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyActivatedEvent) - case *iam.LabelPolicyLogoAddedEvent: + case *instance.LabelPolicyLogoAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyLogoAddedEvent) - case *iam.LabelPolicyLogoRemovedEvent: + case *instance.LabelPolicyLogoRemovedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyLogoRemovedEvent) - case *iam.LabelPolicyLogoDarkAddedEvent: + case *instance.LabelPolicyLogoDarkAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyLogoDarkAddedEvent) - case *iam.LabelPolicyLogoDarkRemovedEvent: + case *instance.LabelPolicyLogoDarkRemovedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyLogoDarkRemovedEvent) - case *iam.LabelPolicyIconAddedEvent: + case *instance.LabelPolicyIconAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyIconAddedEvent) - case *iam.LabelPolicyIconRemovedEvent: + case *instance.LabelPolicyIconRemovedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyIconRemovedEvent) - case *iam.LabelPolicyIconDarkAddedEvent: + case *instance.LabelPolicyIconDarkAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyIconDarkAddedEvent) - case *iam.LabelPolicyIconDarkRemovedEvent: + case *instance.LabelPolicyIconDarkRemovedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyIconDarkRemovedEvent) - case *iam.LabelPolicyFontAddedEvent: + case *instance.LabelPolicyFontAddedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyFontAddedEvent) - case *iam.LabelPolicyFontRemovedEvent: + case *instance.LabelPolicyFontRemovedEvent: wm.LabelPolicyWriteModel.AppendEvents(&e.LabelPolicyFontRemovedEvent) } } } -func (wm *IAMLabelPolicyWriteModel) Reduce() error { +func (wm *InstanceLabelPolicyWriteModel) Reduce() error { return wm.LabelPolicyWriteModel.Reduce() } -func (wm *IAMLabelPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceLabelPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.LabelPolicyWriteModel.AggregateID). EventTypes( - iam.LabelPolicyAddedEventType, - iam.LabelPolicyChangedEventType, - iam.LabelPolicyLogoAddedEventType, - iam.LabelPolicyLogoRemovedEventType, - iam.LabelPolicyIconAddedEventType, - iam.LabelPolicyIconRemovedEventType, - iam.LabelPolicyLogoDarkAddedEventType, - iam.LabelPolicyLogoDarkRemovedEventType, - iam.LabelPolicyIconDarkAddedEventType, - iam.LabelPolicyIconDarkRemovedEventType, - iam.LabelPolicyFontAddedEventType, - iam.LabelPolicyFontRemovedEventType). + instance.LabelPolicyAddedEventType, + instance.LabelPolicyChangedEventType, + instance.LabelPolicyLogoAddedEventType, + instance.LabelPolicyLogoRemovedEventType, + instance.LabelPolicyIconAddedEventType, + instance.LabelPolicyIconRemovedEventType, + instance.LabelPolicyLogoDarkAddedEventType, + instance.LabelPolicyLogoDarkRemovedEventType, + instance.LabelPolicyIconDarkAddedEventType, + instance.LabelPolicyIconDarkRemovedEventType, + instance.LabelPolicyFontAddedEventType, + instance.LabelPolicyFontRemovedEventType). Builder() } -func (wm *IAMLabelPolicyWriteModel) NewChangedEvent( +func (wm *InstanceLabelPolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, primaryColor, @@ -97,7 +97,7 @@ func (wm *IAMLabelPolicyWriteModel) NewChangedEvent( hideLoginNameSuffix, errorMsgPopup, disableWatermark bool, -) (*iam.LabelPolicyChangedEvent, bool) { +) (*instance.LabelPolicyChangedEvent, bool) { changes := make([]policy.LabelPolicyChanges, 0) if wm.PrimaryColor != primaryColor { changes = append(changes, policy.ChangePrimaryColor(primaryColor)) @@ -135,7 +135,7 @@ func (wm *IAMLabelPolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewLabelPolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewLabelPolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_label_test.go b/internal/command/instance_policy_label_test.go similarity index 87% rename from internal/command/iam_policy_label_test.go rename to internal/command/instance_policy_label_test.go index cb5a5255bc..91df747c05 100644 --- a/internal/command/iam_policy_label_test.go +++ b/internal/command/instance_policy_label_test.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/caos/zitadel/internal/static" "github.com/caos/zitadel/internal/static/mock" @@ -43,8 +43,8 @@ func TestCommandSide_AddDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -90,8 +90,8 @@ func TestCommandSide_AddDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -210,8 +210,8 @@ func TestCommandSide_ChangeDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -255,8 +255,8 @@ func TestCommandSide_ChangeDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -387,8 +387,8 @@ func TestCommandSide_ActivateDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -406,8 +406,8 @@ func TestCommandSide_ActivateDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyActivatedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyActivatedEvent(context.Background(), + &instance.NewAggregate().Aggregate, ), ), }, @@ -499,8 +499,8 @@ func TestCommandSide_AddLogoDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -518,8 +518,8 @@ func TestCommandSide_AddLogoDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyLogoAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -599,8 +599,8 @@ func TestCommandSide_RemoveLogoDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -615,8 +615,8 @@ func TestCommandSide_RemoveLogoDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyLogoAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -638,8 +638,8 @@ func TestCommandSide_RemoveLogoDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -654,8 +654,8 @@ func TestCommandSide_RemoveLogoDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyLogoAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -663,8 +663,8 @@ func TestCommandSide_RemoveLogoDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyLogoRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -757,8 +757,8 @@ func TestCommandSide_AddIconDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -776,8 +776,8 @@ func TestCommandSide_AddIconDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyIconAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -856,8 +856,8 @@ func TestCommandSide_RemoveIconDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -872,8 +872,8 @@ func TestCommandSide_RemoveIconDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyIconAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -881,8 +881,8 @@ func TestCommandSide_RemoveIconDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyIconRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -975,8 +975,8 @@ func TestCommandSide_AddLogoDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -994,8 +994,8 @@ func TestCommandSide_AddLogoDarkDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyLogoDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1074,8 +1074,8 @@ func TestCommandSide_RemoveLogoDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1090,8 +1090,8 @@ func TestCommandSide_RemoveLogoDarkDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyLogoDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1113,8 +1113,8 @@ func TestCommandSide_RemoveLogoDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1129,8 +1129,8 @@ func TestCommandSide_RemoveLogoDarkDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyLogoDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1138,8 +1138,8 @@ func TestCommandSide_RemoveLogoDarkDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyLogoDarkRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyLogoDarkRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1232,8 +1232,8 @@ func TestCommandSide_AddIconDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1251,8 +1251,8 @@ func TestCommandSide_AddIconDarkDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyIconDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1331,8 +1331,8 @@ func TestCommandSide_RemoveIconDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1347,8 +1347,8 @@ func TestCommandSide_RemoveIconDarkDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyIconDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1370,8 +1370,8 @@ func TestCommandSide_RemoveIconDarkDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1386,8 +1386,8 @@ func TestCommandSide_RemoveIconDarkDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyIconDarkAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconDarkAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1395,8 +1395,8 @@ func TestCommandSide_RemoveIconDarkDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyIconDarkRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyIconDarkRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1489,8 +1489,8 @@ func TestCommandSide_AddFontDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1508,8 +1508,8 @@ func TestCommandSide_AddFontDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyFontAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyFontAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1588,8 +1588,8 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1604,8 +1604,8 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyFontAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyFontAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1627,8 +1627,8 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -1643,8 +1643,8 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { ), ), eventFromEventPusher( - iam.NewLabelPolicyFontAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyFontAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1652,8 +1652,8 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLabelPolicyFontRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyFontRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "key", ), ), @@ -1691,9 +1691,9 @@ func TestCommandSide_RemoveFontDefaultLabelPolicy(t *testing.T) { } } -func newDefaultLabelPolicyChangedEvent(ctx context.Context, primaryColor, backgroundColor, warnColor, fontColor, primaryColorDark, backgroundColorDark, warnColorDark, fontColorDark string, hideLoginNameSuffix, errMsgPopup, disableWatermark bool) *iam.LabelPolicyChangedEvent { - event, _ := iam.NewLabelPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultLabelPolicyChangedEvent(ctx context.Context, primaryColor, backgroundColor, warnColor, fontColor, primaryColorDark, backgroundColorDark, warnColorDark, fontColorDark string, hideLoginNameSuffix, errMsgPopup, disableWatermark bool) *instance.LabelPolicyChangedEvent { + event, _ := instance.NewLabelPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.LabelPolicyChanges{ policy.ChangePrimaryColor(primaryColor), policy.ChangeBackgroundColor(backgroundColor), diff --git a/internal/command/iam_policy_login.go b/internal/command/instance_policy_login.go similarity index 59% rename from internal/command/iam_policy_login.go rename to internal/command/instance_policy_login.go index add92ef0f1..de284383d2 100644 --- a/internal/command/iam_policy_login.go +++ b/internal/command/instance_policy_login.go @@ -7,12 +7,12 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) getDefaultLoginPolicy(ctx context.Context) (*domain.LoginPolicy, error) { - policyWriteModel := NewIAMLoginPolicyWriteModel() + policyWriteModel := NewInstanceLoginPolicyWriteModel() err := c.eventstore.FilterToQueryReducer(ctx, policyWriteModel) if err != nil { return nil, err @@ -23,9 +23,9 @@ func (c *Commands) getDefaultLoginPolicy(ctx context.Context) (*domain.LoginPoli } func (c *Commands) AddDefaultLoginPolicy(ctx context.Context, policy *domain.LoginPolicy) (*domain.LoginPolicy, error) { - addedPolicy := NewIAMLoginPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - event, err := c.addDefaultLoginPolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstanceLoginPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + event, err := c.addDefaultLoginPolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -40,17 +40,17 @@ func (c *Commands) AddDefaultLoginPolicy(ctx context.Context, policy *domain.Log return writeModelToLoginPolicy(&addedPolicy.LoginPolicyWriteModel), nil } -func (c *Commands) addDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMLoginPolicyWriteModel, policy *domain.LoginPolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultLoginPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceLoginPolicyWriteModel, policy *domain.LoginPolicy) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-2B0ps", "Errors.IAM.LoginPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-2B0ps", "Errors.IAM.LoginPolicy.AlreadyExists") } - return iam_repo.NewLoginPolicyAddedEvent(ctx, - iamAgg, + return instance.NewLoginPolicyAddedEvent(ctx, + instanceAgg, policy.AllowUsernamePassword, policy.AllowRegister, policy.AllowExternalIDP, @@ -65,9 +65,9 @@ func (c *Commands) addDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore } func (c *Commands) ChangeDefaultLoginPolicy(ctx context.Context, policy *domain.LoginPolicy) (*domain.LoginPolicy, error) { - existingPolicy := NewIAMLoginPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LoginPolicyWriteModel.WriteModel) - event, err := c.changeDefaultLoginPolicy(ctx, iamAgg, existingPolicy, policy) + existingPolicy := NewInstanceLoginPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LoginPolicyWriteModel.WriteModel) + event, err := c.changeDefaultLoginPolicy(ctx, instanceAgg, existingPolicy, policy) if err != nil { return nil, err } @@ -82,16 +82,16 @@ func (c *Commands) ChangeDefaultLoginPolicy(ctx context.Context, policy *domain. return writeModelToLoginPolicy(&existingPolicy.LoginPolicyWriteModel), nil } -func (c *Commands) changeDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, existingPolicy *IAMLoginPolicyWriteModel, policy *domain.LoginPolicy) (eventstore.Command, error) { +func (c *Commands) changeDefaultLoginPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, existingPolicy *InstanceLoginPolicyWriteModel, policy *domain.LoginPolicy) (eventstore.Command, error) { err := c.defaultLoginPolicyWriteModelByID(ctx, existingPolicy) if err != nil { return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-M0sif", "Errors.IAM.LoginPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-M0sif", "Errors.IAM.LoginPolicy.NotFound") } changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, - iamAgg, + instanceAgg, policy.AllowUsernamePassword, policy.AllowRegister, policy.AllowExternalIDP, @@ -104,39 +104,39 @@ func (c *Commands) changeDefaultLoginPolicy(ctx context.Context, iamAgg *eventst policy.SecondFactorCheckLifetime, policy.MultiFactorCheckLifetime) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-5M9vdd", "Errors.IAM.LoginPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-5M9vdd", "Errors.IAM.LoginPolicy.NotChanged") } return changedEvent, nil } func (c *Commands) AddIDPProviderToDefaultLoginPolicy(ctx context.Context, idpProvider *domain.IDPProvider) (*domain.IDPProvider, error) { if !idpProvider.IsValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-9nf88", "Errors.IAM.LoginPolicy.IDP.Invalid") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-9nf88", "Errors.IAM.LoginPolicy.IDP.Invalid") } - existingPolicy := NewIAMLoginPolicyWriteModel() + existingPolicy := NewInstanceLoginPolicyWriteModel() err := c.defaultLoginPolicyWriteModelByID(ctx, existingPolicy) if err != nil { return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-GVDfe", "Errors.IAM.LoginPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-GVDfe", "Errors.IAM.LoginPolicy.NotFound") } - _, err = c.getIAMIDPConfigByID(ctx, idpProvider.IDPConfigID) + _, err = c.getInstanceIDPConfigByID(ctx, idpProvider.IDPConfigID) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "IAM-m8fsd", "Errors.IDPConfig.NotExisting") + return nil, caos_errs.ThrowPreconditionFailed(err, "INSTANCE-m8fsd", "Errors.IDPConfig.NotExisting") } - idpModel := NewIAMIdentityProviderWriteModel(idpProvider.IDPConfigID) + idpModel := NewInstanceIdentityProviderWriteModel(idpProvider.IDPConfigID) err = c.eventstore.FilterToQueryReducer(ctx, idpModel) if err != nil { return nil, err } if idpModel.State == domain.IdentityProviderStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-2B0ps", "Errors.IAM.LoginPolicy.IDP.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-2B0ps", "Errors.IAM.LoginPolicy.IDP.AlreadyExists") } - iamAgg := IAMAggregateFromWriteModel(&idpModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewIdentityProviderAddedEvent(ctx, iamAgg, idpProvider.IDPConfigID)) + instanceAgg := InstanceAggregateFromWriteModel(&idpModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewIdentityProviderAddedEvent(ctx, instanceAgg, idpProvider.IDPConfigID)) if err != nil { return nil, err } @@ -149,28 +149,28 @@ func (c *Commands) AddIDPProviderToDefaultLoginPolicy(ctx context.Context, idpPr func (c *Commands) RemoveIDPProviderFromDefaultLoginPolicy(ctx context.Context, idpProvider *domain.IDPProvider, cascadeExternalIDPs ...*domain.UserIDPLink) (*domain.ObjectDetails, error) { if !idpProvider.IsValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-66m9s", "Errors.IAM.LoginPolicy.IDP.Invalid") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-66m9s", "Errors.IAM.LoginPolicy.IDP.Invalid") } - existingPolicy := NewIAMLoginPolicyWriteModel() + existingPolicy := NewInstanceLoginPolicyWriteModel() err := c.defaultLoginPolicyWriteModelByID(ctx, existingPolicy) if err != nil { return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-Dfg4t", "Errors.IAM.LoginPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-Dfg4t", "Errors.IAM.LoginPolicy.NotFound") } - idpModel := NewIAMIdentityProviderWriteModel(idpProvider.IDPConfigID) + idpModel := NewInstanceIdentityProviderWriteModel(idpProvider.IDPConfigID) err = c.eventstore.FilterToQueryReducer(ctx, idpModel) if err != nil { return nil, err } if idpModel.State == domain.IdentityProviderStateUnspecified || idpModel.State == domain.IdentityProviderStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-39fjs", "Errors.IAM.LoginPolicy.IDP.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-39fjs", "Errors.IAM.LoginPolicy.IDP.NotExisting") } - iamAgg := IAMAggregateFromWriteModel(&idpModel.IdentityProviderWriteModel.WriteModel) - events := c.removeIDPProviderFromDefaultLoginPolicy(ctx, iamAgg, idpProvider, false, cascadeExternalIDPs...) + instanceAgg := InstanceAggregateFromWriteModel(&idpModel.IdentityProviderWriteModel.WriteModel) + events := c.removeIDPProviderFromDefaultLoginPolicy(ctx, instanceAgg, idpProvider, false, cascadeExternalIDPs...) pushedEvents, err := c.eventstore.Push(ctx, events...) if err != nil { return nil, err @@ -182,12 +182,12 @@ func (c *Commands) RemoveIDPProviderFromDefaultLoginPolicy(ctx context.Context, return writeModelToObjectDetails(&idpModel.IdentityProviderWriteModel.WriteModel), nil } -func (c *Commands) removeIDPProviderFromDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, idpProvider *domain.IDPProvider, cascade bool, cascadeExternalIDPs ...*domain.UserIDPLink) []eventstore.Command { +func (c *Commands) removeIDPProviderFromDefaultLoginPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, idpProvider *domain.IDPProvider, cascade bool, cascadeExternalIDPs ...*domain.UserIDPLink) []eventstore.Command { var events []eventstore.Command if cascade { - events = append(events, iam_repo.NewIdentityProviderCascadeRemovedEvent(ctx, iamAgg, idpProvider.IDPConfigID)) + events = append(events, instance.NewIdentityProviderCascadeRemovedEvent(ctx, instanceAgg, idpProvider.IDPConfigID)) } else { - events = append(events, iam_repo.NewIdentityProviderRemovedEvent(ctx, iamAgg, idpProvider.IDPConfigID)) + events = append(events, instance.NewIdentityProviderRemovedEvent(ctx, instanceAgg, idpProvider.IDPConfigID)) } for _, idp := range cascadeExternalIDPs { @@ -203,11 +203,11 @@ func (c *Commands) removeIDPProviderFromDefaultLoginPolicy(ctx context.Context, func (c *Commands) AddSecondFactorToDefaultLoginPolicy(ctx context.Context, secondFactor domain.SecondFactorType) (domain.SecondFactorType, *domain.ObjectDetails, error) { if !secondFactor.Valid() { - return domain.SecondFactorTypeUnspecified, nil, caos_errs.ThrowInvalidArgument(nil, "IAM-5m9fs", "Errors.IAM.LoginPolicy.MFA.Unspecified") + return domain.SecondFactorTypeUnspecified, nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-5m9fs", "Errors.IAM.LoginPolicy.MFA.Unspecified") } - secondFactorModel := NewIAMSecondFactorWriteModel(secondFactor) - iamAgg := IAMAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) - event, err := c.addSecondFactorToDefaultLoginPolicy(ctx, iamAgg, secondFactorModel, secondFactor) + secondFactorModel := NewInstanceSecondFactorWriteModel(secondFactor) + instanceAgg := InstanceAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) + event, err := c.addSecondFactorToDefaultLoginPolicy(ctx, instanceAgg, secondFactorModel, secondFactor) if err != nil { return domain.SecondFactorTypeUnspecified, nil, err } @@ -223,32 +223,32 @@ func (c *Commands) AddSecondFactorToDefaultLoginPolicy(ctx context.Context, seco return secondFactorModel.MFAType, writeModelToObjectDetails(&secondFactorModel.WriteModel), nil } -func (c *Commands) addSecondFactorToDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, secondFactorModel *IAMSecondFactorWriteModel, secondFactor domain.SecondFactorType) (eventstore.Command, error) { +func (c *Commands) addSecondFactorToDefaultLoginPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, secondFactorModel *InstanceSecondFactorWriteModel, secondFactor domain.SecondFactorType) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, secondFactorModel) if err != nil { return nil, err } if secondFactorModel.State == domain.FactorStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-2B0ps", "Errors.IAM.LoginPolicy.MFA.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-2B0ps", "Errors.IAM.LoginPolicy.MFA.AlreadyExists") } - return iam_repo.NewLoginPolicySecondFactorAddedEvent(ctx, iamAgg, secondFactor), nil + return instance.NewLoginPolicySecondFactorAddedEvent(ctx, instanceAgg, secondFactor), nil } func (c *Commands) RemoveSecondFactorFromDefaultLoginPolicy(ctx context.Context, secondFactor domain.SecondFactorType) (*domain.ObjectDetails, error) { if !secondFactor.Valid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-55n8s", "Errors.IAM.LoginPolicy.MFA.Unspecified") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-55n8s", "Errors.IAM.LoginPolicy.MFA.Unspecified") } - secondFactorModel := NewIAMSecondFactorWriteModel(secondFactor) + secondFactorModel := NewInstanceSecondFactorWriteModel(secondFactor) err := c.eventstore.FilterToQueryReducer(ctx, secondFactorModel) if err != nil { return nil, err } if secondFactorModel.State == domain.FactorStateUnspecified || secondFactorModel.State == domain.FactorStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-3M9od", "Errors.IAM.LoginPolicy.MFA.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-3M9od", "Errors.IAM.LoginPolicy.MFA.NotExisting") } - iamAgg := IAMAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLoginPolicySecondFactorRemovedEvent(ctx, iamAgg, secondFactor)) + instanceAgg := InstanceAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLoginPolicySecondFactorRemovedEvent(ctx, instanceAgg, secondFactor)) if err != nil { return nil, err } @@ -261,11 +261,11 @@ func (c *Commands) RemoveSecondFactorFromDefaultLoginPolicy(ctx context.Context, func (c *Commands) AddMultiFactorToDefaultLoginPolicy(ctx context.Context, multiFactor domain.MultiFactorType) (domain.MultiFactorType, *domain.ObjectDetails, error) { if !multiFactor.Valid() { - return domain.MultiFactorTypeUnspecified, nil, caos_errs.ThrowInvalidArgument(nil, "IAM-5m9fs", "Errors.IAM.LoginPolicy.MFA.Unspecified") + return domain.MultiFactorTypeUnspecified, nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-5m9fs", "Errors.IAM.LoginPolicy.MFA.Unspecified") } - multiFactorModel := NewIAMMultiFactorWriteModel(multiFactor) - iamAgg := IAMAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) - event, err := c.addMultiFactorToDefaultLoginPolicy(ctx, iamAgg, multiFactorModel, multiFactor) + multiFactorModel := NewInstanceMultiFactorWriteModel(multiFactor) + instanceAgg := InstanceAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) + event, err := c.addMultiFactorToDefaultLoginPolicy(ctx, instanceAgg, multiFactorModel, multiFactor) if err != nil { return domain.MultiFactorTypeUnspecified, nil, err } @@ -281,32 +281,32 @@ func (c *Commands) AddMultiFactorToDefaultLoginPolicy(ctx context.Context, multi return multiFactorModel.MultiFactorWriteModel.MFAType, writeModelToObjectDetails(&multiFactorModel.WriteModel), nil } -func (c *Commands) addMultiFactorToDefaultLoginPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, multiFactorModel *IAMMultiFactorWriteModel, multiFactor domain.MultiFactorType) (eventstore.Command, error) { +func (c *Commands) addMultiFactorToDefaultLoginPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, multiFactorModel *InstanceMultiFactorWriteModel, multiFactor domain.MultiFactorType) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, multiFactorModel) if err != nil { return nil, err } if multiFactorModel.State == domain.FactorStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-3M9od", "Errors.IAM.LoginPolicy.MFA.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-3M9od", "Errors.IAM.LoginPolicy.MFA.AlreadyExists") } - return iam_repo.NewLoginPolicyMultiFactorAddedEvent(ctx, iamAgg, multiFactor), nil + return instance.NewLoginPolicyMultiFactorAddedEvent(ctx, instanceAgg, multiFactor), nil } func (c *Commands) RemoveMultiFactorFromDefaultLoginPolicy(ctx context.Context, multiFactor domain.MultiFactorType) (*domain.ObjectDetails, error) { if !multiFactor.Valid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-33m9F", "Errors.IAM.LoginPolicy.MFA.Unspecified") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-33m9F", "Errors.IAM.LoginPolicy.MFA.Unspecified") } - multiFactorModel := NewIAMMultiFactorWriteModel(multiFactor) + multiFactorModel := NewInstanceMultiFactorWriteModel(multiFactor) err := c.eventstore.FilterToQueryReducer(ctx, multiFactorModel) if err != nil { return nil, err } if multiFactorModel.State == domain.FactorStateUnspecified || multiFactorModel.State == domain.FactorStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-3M9df", "Errors.IAM.LoginPolicy.MFA.NotExisting") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-3M9df", "Errors.IAM.LoginPolicy.MFA.NotExisting") } - iamAgg := IAMAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewLoginPolicyMultiFactorRemovedEvent(ctx, iamAgg, multiFactor)) + instanceAgg := InstanceAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewLoginPolicyMultiFactorRemovedEvent(ctx, instanceAgg, multiFactor)) if err != nil { return nil, err } @@ -317,7 +317,7 @@ func (c *Commands) RemoveMultiFactorFromDefaultLoginPolicy(ctx context.Context, return writeModelToObjectDetails(&multiFactorModel.WriteModel), nil } -func (c *Commands) defaultLoginPolicyWriteModelByID(ctx context.Context, writeModel *IAMLoginPolicyWriteModel) (err error) { +func (c *Commands) defaultLoginPolicyWriteModelByID(ctx context.Context, writeModel *InstanceLoginPolicyWriteModel) (err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() diff --git a/internal/command/iam_policy_login_factors_model.go b/internal/command/instance_policy_login_factors_model.go similarity index 51% rename from internal/command/iam_policy_login_factors_model.go rename to internal/command/instance_policy_login_factors_model.go index a6dfe077bf..eb7a9ed6de 100644 --- a/internal/command/iam_policy_login_factors_model.go +++ b/internal/command/instance_policy_login_factors_model.go @@ -3,15 +3,15 @@ package command import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMSecondFactorWriteModel struct { +type InstanceSecondFactorWriteModel struct { SecondFactorWriteModel } -func NewIAMSecondFactorWriteModel(factorType domain.SecondFactorType) *IAMSecondFactorWriteModel { - return &IAMSecondFactorWriteModel{ +func NewInstanceSecondFactorWriteModel(factorType domain.SecondFactorType) *InstanceSecondFactorWriteModel { + return &InstanceSecondFactorWriteModel{ SecondFactorWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -22,14 +22,14 @@ func NewIAMSecondFactorWriteModel(factorType domain.SecondFactorType) *IAMSecond } } -func (wm *IAMSecondFactorWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceSecondFactorWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.LoginPolicySecondFactorAddedEvent: + case *instance.LoginPolicySecondFactorAddedEvent: if wm.MFAType == e.MFAType { wm.WriteModel.AppendEvents(&e.SecondFactorAddedEvent) } - case *iam.LoginPolicySecondFactorRemovedEvent: + case *instance.LoginPolicySecondFactorRemovedEvent: if wm.MFAType == e.MFAType { wm.WriteModel.AppendEvents(&e.SecondFactorRemovedEvent) } @@ -37,28 +37,28 @@ func (wm *IAMSecondFactorWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMSecondFactorWriteModel) Reduce() error { +func (wm *InstanceSecondFactorWriteModel) Reduce() error { return wm.SecondFactorWriteModel.Reduce() } -func (wm *IAMSecondFactorWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceSecondFactorWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.WriteModel.AggregateID). EventTypes( - iam.LoginPolicySecondFactorAddedEventType, - iam.LoginPolicySecondFactorRemovedEventType). + instance.LoginPolicySecondFactorAddedEventType, + instance.LoginPolicySecondFactorRemovedEventType). Builder() } -type IAMMultiFactorWriteModel struct { +type InstanceMultiFactorWriteModel struct { MultiFactorWriteModel } -func NewIAMMultiFactorWriteModel(factorType domain.MultiFactorType) *IAMMultiFactorWriteModel { - return &IAMMultiFactorWriteModel{ +func NewInstanceMultiFactorWriteModel(factorType domain.MultiFactorType) *InstanceMultiFactorWriteModel { + return &InstanceMultiFactorWriteModel{ MultiFactorWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -69,14 +69,14 @@ func NewIAMMultiFactorWriteModel(factorType domain.MultiFactorType) *IAMMultiFac } } -func (wm *IAMMultiFactorWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceMultiFactorWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.LoginPolicyMultiFactorAddedEvent: + case *instance.LoginPolicyMultiFactorAddedEvent: if wm.MFAType == e.MFAType { wm.WriteModel.AppendEvents(&e.MultiFactorAddedEvent) } - case *iam.LoginPolicyMultiFactorRemovedEvent: + case *instance.LoginPolicyMultiFactorRemovedEvent: if wm.MFAType == e.MFAType { wm.WriteModel.AppendEvents(&e.MultiFactorRemovedEvent) } @@ -84,18 +84,18 @@ func (wm *IAMMultiFactorWriteModel) AppendEvents(events ...eventstore.Event) { } } -func (wm *IAMMultiFactorWriteModel) Reduce() error { +func (wm *InstanceMultiFactorWriteModel) Reduce() error { return wm.MultiFactorWriteModel.Reduce() } -func (wm *IAMMultiFactorWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceMultiFactorWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.WriteModel.AggregateID). EventTypes( - iam.LoginPolicyMultiFactorAddedEventType, - iam.LoginPolicyMultiFactorRemovedEventType). + instance.LoginPolicyMultiFactorAddedEventType, + instance.LoginPolicyMultiFactorRemovedEventType). Builder() } diff --git a/internal/command/iam_policy_login_identity_provider_model.go b/internal/command/instance_policy_login_identity_provider_model.go similarity index 59% rename from internal/command/iam_policy_login_identity_provider_model.go rename to internal/command/instance_policy_login_identity_provider_model.go index 27c389cb90..e29799ca68 100644 --- a/internal/command/iam_policy_login_identity_provider_model.go +++ b/internal/command/instance_policy_login_identity_provider_model.go @@ -3,15 +3,15 @@ package command import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMIdentityProviderWriteModel struct { +type InstanceIdentityProviderWriteModel struct { IdentityProviderWriteModel } -func NewIAMIdentityProviderWriteModel(idpConfigID string) *IAMIdentityProviderWriteModel { - return &IAMIdentityProviderWriteModel{ +func NewInstanceIdentityProviderWriteModel(idpConfigID string) *InstanceIdentityProviderWriteModel { + return &InstanceIdentityProviderWriteModel{ IdentityProviderWriteModel: IdentityProviderWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -22,15 +22,15 @@ func NewIAMIdentityProviderWriteModel(idpConfigID string) *IAMIdentityProviderWr } } -func (wm *IAMIdentityProviderWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceIdentityProviderWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.IdentityProviderAddedEvent: + case *instance.IdentityProviderAddedEvent: if e.IDPConfigID != wm.IDPConfigID { continue } wm.IdentityProviderWriteModel.AppendEvents(&e.IdentityProviderAddedEvent) - case *iam.IdentityProviderRemovedEvent: + case *instance.IdentityProviderRemovedEvent: if e.IDPConfigID != wm.IDPConfigID { continue } @@ -39,15 +39,15 @@ func (wm *IAMIdentityProviderWriteModel) AppendEvents(events ...eventstore.Event } } -func (wm *IAMIdentityProviderWriteModel) Reduce() error { +func (wm *InstanceIdentityProviderWriteModel) Reduce() error { return wm.IdentityProviderWriteModel.Reduce() } -func (wm *IAMIdentityProviderWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceIdentityProviderWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). Builder() } diff --git a/internal/command/iam_policy_login_model.go b/internal/command/instance_policy_login_model.go similarity index 76% rename from internal/command/iam_policy_login_model.go rename to internal/command/instance_policy_login_model.go index ac32f7fbc3..91614e2678 100644 --- a/internal/command/iam_policy_login_model.go +++ b/internal/command/instance_policy_login_model.go @@ -7,16 +7,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMLoginPolicyWriteModel struct { +type InstanceLoginPolicyWriteModel struct { LoginPolicyWriteModel } -func NewIAMLoginPolicyWriteModel() *IAMLoginPolicyWriteModel { - return &IAMLoginPolicyWriteModel{ +func NewInstanceLoginPolicyWriteModel() *InstanceLoginPolicyWriteModel { + return &InstanceLoginPolicyWriteModel{ LoginPolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -26,38 +26,38 @@ func NewIAMLoginPolicyWriteModel() *IAMLoginPolicyWriteModel { } } -func (wm *IAMLoginPolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceLoginPolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.LoginPolicyAddedEvent: + case *instance.LoginPolicyAddedEvent: wm.LoginPolicyWriteModel.AppendEvents(&e.LoginPolicyAddedEvent) - case *iam.LoginPolicyChangedEvent: + case *instance.LoginPolicyChangedEvent: wm.LoginPolicyWriteModel.AppendEvents(&e.LoginPolicyChangedEvent) } } } -func (wm *IAMLoginPolicyWriteModel) IsValid() bool { +func (wm *InstanceLoginPolicyWriteModel) IsValid() bool { return wm.AggregateID != "" } -func (wm *IAMLoginPolicyWriteModel) Reduce() error { +func (wm *InstanceLoginPolicyWriteModel) Reduce() error { return wm.LoginPolicyWriteModel.Reduce() } -func (wm *IAMLoginPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceLoginPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.LoginPolicyWriteModel.AggregateID). EventTypes( - iam.LoginPolicyAddedEventType, - iam.LoginPolicyChangedEventType). + instance.LoginPolicyAddedEventType, + instance.LoginPolicyChangedEventType). Builder() } -func (wm *IAMLoginPolicyWriteModel) NewChangedEvent( +func (wm *InstanceLoginPolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, allowUsernamePassword, @@ -71,7 +71,7 @@ func (wm *IAMLoginPolicyWriteModel) NewChangedEvent( mfaInitSkipLifetime, secondFactorCheckLifetime, multiFactorCheckLifetime time.Duration, -) (*iam.LoginPolicyChangedEvent, bool) { +) (*instance.LoginPolicyChangedEvent, bool) { changes := make([]policy.LoginPolicyChanges, 0) if wm.AllowUserNamePassword != allowUsernamePassword { @@ -110,7 +110,7 @@ func (wm *IAMLoginPolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewLoginPolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewLoginPolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_login_test.go b/internal/command/instance_policy_login_test.go similarity index 86% rename from internal/command/iam_policy_login_test.go rename to internal/command/instance_policy_login_test.go index 5be9c8c626..80914390db 100644 --- a/internal/command/iam_policy_login_test.go +++ b/internal/command/instance_policy_login_test.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/caos/zitadel/internal/repository/user" @@ -42,8 +42,8 @@ func TestCommandSide_AddDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, false, @@ -81,8 +81,8 @@ func TestCommandSide_AddDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -200,8 +200,8 @@ func TestCommandSide_ChangeDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -245,8 +245,8 @@ func TestCommandSide_ChangeDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -395,8 +395,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -431,8 +431,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -449,8 +449,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name", domain.IDPConfigTypeOIDC, @@ -461,8 +461,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), @@ -486,8 +486,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -504,8 +504,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIDPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", "name", domain.IDPConfigTypeOIDC, @@ -518,8 +518,8 @@ func TestCommandSide_AddIDPProviderDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1"), ), }, @@ -621,8 +621,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -657,8 +657,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -675,14 +675,14 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), eventFromEventPusher( - iam.NewIdentityProviderRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), @@ -706,8 +706,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -724,8 +724,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), @@ -733,8 +733,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIdentityProviderRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1"), ), }, @@ -760,8 +760,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -778,8 +778,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), @@ -787,8 +787,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIdentityProviderRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1"), ), }, @@ -822,8 +822,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, true, true, @@ -840,8 +840,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewIdentityProviderAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1", ), ), @@ -856,8 +856,8 @@ func TestCommandSide_RemoveIDPProviderDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewIdentityProviderRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewIdentityProviderRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "config1"), ), eventFromEventPusher( @@ -950,8 +950,8 @@ func TestCommandSide_AddSecondFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicySecondFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP, ), ), @@ -975,8 +975,8 @@ func TestCommandSide_AddSecondFactorDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLoginPolicySecondFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP), ), }, @@ -1069,14 +1069,14 @@ func TestCommandSide_RemoveSecondFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicySecondFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP, ), ), eventFromEventPusher( - iam.NewLoginPolicySecondFactorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP, ), ), @@ -1098,8 +1098,8 @@ func TestCommandSide_RemoveSecondFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicySecondFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP, ), ), @@ -1107,8 +1107,8 @@ func TestCommandSide_RemoveSecondFactorDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLoginPolicySecondFactorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicySecondFactorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecondFactorTypeOTP), ), }, @@ -1185,8 +1185,8 @@ func TestCommandSide_AddMultiFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyMultiFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN, ), ), @@ -1210,8 +1210,8 @@ func TestCommandSide_AddMultiFactorDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLoginPolicyMultiFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN), ), }, @@ -1304,14 +1304,14 @@ func TestCommandSide_RemoveMultiFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyMultiFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN, ), ), eventFromEventPusher( - iam.NewLoginPolicyMultiFactorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN, ), ), @@ -1333,8 +1333,8 @@ func TestCommandSide_RemoveMultiFactorDefaultLoginPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLoginPolicyMultiFactorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN, ), ), @@ -1342,8 +1342,8 @@ func TestCommandSide_RemoveMultiFactorDefaultLoginPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLoginPolicyMultiFactorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyMultiFactorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN), ), }, @@ -1382,9 +1382,9 @@ func TestCommandSide_RemoveMultiFactorDefaultLoginPolicy(t *testing.T) { func newDefaultLoginPolicyChangedEvent(ctx context.Context, allowRegister, allowUsernamePassword, allowExternalIDP, forceMFA, hidePasswordReset bool, passwordlessType domain.PasswordlessType, - passwordLifetime, externalLoginLifetime, mfaInitSkipLifetime, secondFactorLifetime, multiFactorLifetime time.Duration) *iam.LoginPolicyChangedEvent { - event, _ := iam.NewLoginPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, + passwordLifetime, externalLoginLifetime, mfaInitSkipLifetime, secondFactorLifetime, multiFactorLifetime time.Duration) *instance.LoginPolicyChangedEvent { + event, _ := instance.NewLoginPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.LoginPolicyChanges{ policy.ChangeAllowRegister(allowRegister), policy.ChangeAllowExternalIDP(allowExternalIDP), diff --git a/internal/command/iam_policy_mail_template.go b/internal/command/instance_policy_mail_template.go similarity index 60% rename from internal/command/iam_policy_mail_template.go rename to internal/command/instance_policy_mail_template.go index a3d0465aa9..b21e75df97 100644 --- a/internal/command/iam_policy_mail_template.go +++ b/internal/command/instance_policy_mail_template.go @@ -6,14 +6,14 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDefaultMailTemplate(ctx context.Context, policy *domain.MailTemplate) (*domain.MailTemplate, error) { - addedPolicy := NewIAMMailTemplateWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.MailTemplateWriteModel.WriteModel) - event, err := c.addDefaultMailTemplate(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstanceMailTemplateWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.MailTemplateWriteModel.WriteModel) + event, err := c.addDefaultMailTemplate(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -29,19 +29,19 @@ func (c *Commands) AddDefaultMailTemplate(ctx context.Context, policy *domain.Ma return writeModelToMailTemplatePolicy(&addedPolicy.MailTemplateWriteModel), nil } -func (c *Commands) addDefaultMailTemplate(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMMailTemplateWriteModel, policy *domain.MailTemplate) (eventstore.Command, error) { +func (c *Commands) addDefaultMailTemplate(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceMailTemplateWriteModel, policy *domain.MailTemplate) (eventstore.Command, error) { if !policy.IsValid() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-fm9sd", "Errors.IAM.MailTemplate.Invalid") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-fm9sd", "Errors.IAM.MailTemplate.Invalid") } err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-5n8fs", "Errors.IAM.MailTemplate.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-5n8fs", "Errors.IAM.MailTemplate.AlreadyExists") } - return iam_repo.NewMailTemplateAddedEvent(ctx, iamAgg, policy.Template), nil + return instance.NewMailTemplateAddedEvent(ctx, instanceAgg, policy.Template), nil } func (c *Commands) ChangeDefaultMailTemplate(ctx context.Context, policy *domain.MailTemplate) (*domain.MailTemplate, error) { @@ -60,9 +60,9 @@ func (c *Commands) ChangeDefaultMailTemplate(ctx context.Context, policy *domain return writeModelToMailTemplatePolicy(&existingPolicy.MailTemplateWriteModel), nil } -func (c *Commands) changeDefaultMailTemplate(ctx context.Context, policy *domain.MailTemplate) (*IAMMailTemplateWriteModel, eventstore.Command, error) { +func (c *Commands) changeDefaultMailTemplate(ctx context.Context, policy *domain.MailTemplate) (*InstanceMailTemplateWriteModel, eventstore.Command, error) { if !policy.IsValid() { - return nil, nil, caos_errs.ThrowInvalidArgument(nil, "IAM-4m9ds", "Errors.IAM.MailTemplate.Invalid") + return nil, nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-4m9ds", "Errors.IAM.MailTemplate.Invalid") } existingPolicy, err := c.defaultMailTemplateWriteModelByID(ctx) if err != nil { @@ -70,23 +70,23 @@ func (c *Commands) changeDefaultMailTemplate(ctx context.Context, policy *domain } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, nil, caos_errs.ThrowNotFound(nil, "IAM-2N8fs", "Errors.IAM.MailTemplate.NotFound") + return nil, nil, caos_errs.ThrowNotFound(nil, "INSTANCE-2N8fs", "Errors.IAM.MailTemplate.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.MailTemplateWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.Template) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.MailTemplateWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.Template) if !hasChanged { - return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-3nfsG", "Errors.IAM.MailTemplate.NotChanged") + return nil, nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-3nfsG", "Errors.IAM.MailTemplate.NotChanged") } return existingPolicy, changedEvent, nil } -func (c *Commands) defaultMailTemplateWriteModelByID(ctx context.Context) (policy *IAMMailTemplateWriteModel, err error) { +func (c *Commands) defaultMailTemplateWriteModelByID(ctx context.Context) (policy *InstanceMailTemplateWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMMailTemplateWriteModel() + writeModel := NewInstanceMailTemplateWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_mail_template_model.go b/internal/command/instance_policy_mail_template_model.go similarity index 58% rename from internal/command/iam_policy_mail_template_model.go rename to internal/command/instance_policy_mail_template_model.go index 42862b38c1..4a58e458f5 100644 --- a/internal/command/iam_policy_mail_template_model.go +++ b/internal/command/instance_policy_mail_template_model.go @@ -7,16 +7,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMMailTemplateWriteModel struct { +type InstanceMailTemplateWriteModel struct { MailTemplateWriteModel } -func NewIAMMailTemplateWriteModel() *IAMMailTemplateWriteModel { - return &IAMMailTemplateWriteModel{ +func NewInstanceMailTemplateWriteModel() *InstanceMailTemplateWriteModel { + return &InstanceMailTemplateWriteModel{ MailTemplateWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -26,38 +26,38 @@ func NewIAMMailTemplateWriteModel() *IAMMailTemplateWriteModel { } } -func (wm *IAMMailTemplateWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceMailTemplateWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.MailTemplateAddedEvent: + case *instance.MailTemplateAddedEvent: wm.MailTemplateWriteModel.AppendEvents(&e.MailTemplateAddedEvent) - case *iam.MailTemplateChangedEvent: + case *instance.MailTemplateChangedEvent: wm.MailTemplateWriteModel.AppendEvents(&e.MailTemplateChangedEvent) } } } -func (wm *IAMMailTemplateWriteModel) Reduce() error { +func (wm *InstanceMailTemplateWriteModel) Reduce() error { return wm.MailTemplateWriteModel.Reduce() } -func (wm *IAMMailTemplateWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceMailTemplateWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.MailTemplateWriteModel.AggregateID). EventTypes( - iam.MailTemplateAddedEventType, - iam.MailTemplateChangedEventType). + instance.MailTemplateAddedEventType, + instance.MailTemplateChangedEventType). Builder() } -func (wm *IAMMailTemplateWriteModel) NewChangedEvent( +func (wm *InstanceMailTemplateWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, template []byte, -) (*iam.MailTemplateChangedEvent, bool) { +) (*instance.MailTemplateChangedEvent, bool) { changes := make([]policy.MailTemplateChanges, 0) if !reflect.DeepEqual(wm.Template, template) { changes = append(changes, policy.ChangeTemplate(template)) @@ -65,7 +65,7 @@ func (wm *IAMMailTemplateWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewMailTemplateChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewMailTemplateChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_mail_template_test.go b/internal/command/instance_policy_mail_template_test.go similarity index 89% rename from internal/command/iam_policy_mail_template_test.go rename to internal/command/instance_policy_mail_template_test.go index 1f03ac795d..ea12e08cc9 100644 --- a/internal/command/iam_policy_mail_template_test.go +++ b/internal/command/instance_policy_mail_template_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/stretchr/testify/assert" "testing" @@ -53,8 +53,8 @@ func TestCommandSide_AddDefaultMailTemplatePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMailTemplateAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMailTemplateAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, []byte("template"), ), ), @@ -80,8 +80,8 @@ func TestCommandSide_AddDefaultMailTemplatePolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewMailTemplateAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMailTemplateAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, []byte("template"), ), ), @@ -183,8 +183,8 @@ func TestCommandSide_ChangeDefaultMailTemplatePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMailTemplateAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMailTemplateAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, []byte("template"), ), ), @@ -208,8 +208,8 @@ func TestCommandSide_ChangeDefaultMailTemplatePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewMailTemplateAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMailTemplateAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, []byte("template"), ), ), @@ -259,9 +259,9 @@ func TestCommandSide_ChangeDefaultMailTemplatePolicy(t *testing.T) { } } -func newDefaultMailTemplatePolicyChangedEvent(ctx context.Context, template []byte) *iam.MailTemplateChangedEvent { - event, _ := iam.NewMailTemplateChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultMailTemplatePolicyChangedEvent(ctx context.Context, template []byte) *instance.MailTemplateChangedEvent { + event, _ := instance.NewMailTemplateChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.MailTemplateChanges{ policy.ChangeTemplate(template), }, diff --git a/internal/command/iam_policy_password_age.go b/internal/command/instance_policy_password_age.go similarity index 62% rename from internal/command/iam_policy_password_age.go rename to internal/command/instance_policy_password_age.go index cea284db29..9e4340c4c4 100644 --- a/internal/command/iam_policy_password_age.go +++ b/internal/command/instance_policy_password_age.go @@ -6,14 +6,14 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDefaultPasswordAgePolicy(ctx context.Context, policy *domain.PasswordAgePolicy) (*domain.PasswordAgePolicy, error) { - addedPolicy := NewIAMPasswordAgePolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - event, err := c.addDefaultPasswordAgePolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstancePasswordAgePolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + event, err := c.addDefaultPasswordAgePolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -29,16 +29,16 @@ func (c *Commands) AddDefaultPasswordAgePolicy(ctx context.Context, policy *doma return writeModelToPasswordAgePolicy(&addedPolicy.PasswordAgePolicyWriteModel), nil } -func (c *Commands) addDefaultPasswordAgePolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMPasswordAgePolicyWriteModel, policy *domain.PasswordAgePolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultPasswordAgePolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstancePasswordAgePolicyWriteModel, policy *domain.PasswordAgePolicy) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-Lk0dS", "Errors.IAM.PasswordAgePolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-Lk0dS", "Errors.IAM.PasswordAgePolicy.AlreadyExists") } - return iam_repo.NewPasswordAgePolicyAddedEvent(ctx, iamAgg, policy.ExpireWarnDays, policy.MaxAgeDays), nil + return instance.NewPasswordAgePolicyAddedEvent(ctx, instanceAgg, policy.ExpireWarnDays, policy.MaxAgeDays), nil } @@ -48,13 +48,13 @@ func (c *Commands) ChangeDefaultPasswordAgePolicy(ctx context.Context, policy *d return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.PasswordAgePolicyWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.ExpireWarnDays, policy.MaxAgeDays) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.PasswordAgePolicyWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.ExpireWarnDays, policy.MaxAgeDays) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) @@ -69,11 +69,11 @@ func (c *Commands) ChangeDefaultPasswordAgePolicy(ctx context.Context, policy *d return writeModelToPasswordAgePolicy(&existingPolicy.PasswordAgePolicyWriteModel), nil } -func (c *Commands) defaultPasswordAgePolicyWriteModelByID(ctx context.Context) (policy *IAMPasswordAgePolicyWriteModel, err error) { +func (c *Commands) defaultPasswordAgePolicyWriteModelByID(ctx context.Context) (policy *InstancePasswordAgePolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMPasswordAgePolicyWriteModel() + writeModel := NewInstancePasswordAgePolicyWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_password_age_test.go b/internal/command/instance_policy_password_age_test.go similarity index 87% rename from internal/command/iam_policy_password_age_test.go rename to internal/command/instance_policy_password_age_test.go index 672489afea..54410cbe32 100644 --- a/internal/command/iam_policy_password_age_test.go +++ b/internal/command/instance_policy_password_age_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/stretchr/testify/assert" "testing" @@ -38,8 +38,8 @@ func TestCommandSide_AddDefaultPasswordAgePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordAgePolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordAgePolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 365, 10, ), @@ -67,8 +67,8 @@ func TestCommandSide_AddDefaultPasswordAgePolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewPasswordAgePolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordAgePolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 365, 10, ), @@ -159,8 +159,8 @@ func TestCommandSide_ChangeDefaultPasswordAgePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordAgePolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordAgePolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 365, 10, ), @@ -186,8 +186,8 @@ func TestCommandSide_ChangeDefaultPasswordAgePolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordAgePolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordAgePolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 365, 10, ), @@ -240,9 +240,9 @@ func TestCommandSide_ChangeDefaultPasswordAgePolicy(t *testing.T) { } } -func newDefaultPasswordAgePolicyChangedEvent(ctx context.Context, maxAgeDays, expiryWarnDays uint64) *iam.PasswordAgePolicyChangedEvent { - event, _ := iam.NewPasswordAgePolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultPasswordAgePolicyChangedEvent(ctx context.Context, maxAgeDays, expiryWarnDays uint64) *instance.PasswordAgePolicyChangedEvent { + event, _ := instance.NewPasswordAgePolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.PasswordAgePolicyChanges{ policy.ChangeExpireWarnDays(expiryWarnDays), policy.ChangeMaxAgeDays(maxAgeDays), diff --git a/internal/command/iam_policy_password_complexity.go b/internal/command/instance_policy_password_complexity.go similarity index 62% rename from internal/command/iam_policy_password_complexity.go rename to internal/command/instance_policy_password_complexity.go index ab53d0c3cc..44b941ff1d 100644 --- a/internal/command/iam_policy_password_complexity.go +++ b/internal/command/instance_policy_password_complexity.go @@ -6,18 +6,18 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) getDefaultPasswordComplexityPolicy(ctx context.Context) (*domain.PasswordComplexityPolicy, error) { - policyWriteModel := NewIAMPasswordComplexityPolicyWriteModel() + policyWriteModel := NewInstancePasswordComplexityPolicyWriteModel() err := c.eventstore.FilterToQueryReducer(ctx, policyWriteModel) if err != nil { return nil, err } if !policyWriteModel.State.Exists() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-M0gsf", "Errors.IAM.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-M0gsf", "Errors.IAM.PasswordComplexityPolicy.NotFound") } policy := writeModelToPasswordComplexityPolicy(&policyWriteModel.PasswordComplexityPolicyWriteModel) policy.Default = true @@ -25,9 +25,9 @@ func (c *Commands) getDefaultPasswordComplexityPolicy(ctx context.Context) (*dom } func (c *Commands) AddDefaultPasswordComplexityPolicy(ctx context.Context, policy *domain.PasswordComplexityPolicy) (*domain.PasswordComplexityPolicy, error) { - addedPolicy := NewIAMPasswordComplexityPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - events, err := c.addDefaultPasswordComplexityPolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstancePasswordComplexityPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + events, err := c.addDefaultPasswordComplexityPolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -43,7 +43,7 @@ func (c *Commands) AddDefaultPasswordComplexityPolicy(ctx context.Context, polic return writeModelToPasswordComplexityPolicy(&addedPolicy.PasswordComplexityPolicyWriteModel), nil } -func (c *Commands) addDefaultPasswordComplexityPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMPasswordComplexityPolicyWriteModel, policy *domain.PasswordComplexityPolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultPasswordComplexityPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstancePasswordComplexityPolicyWriteModel, policy *domain.PasswordComplexityPolicy) (eventstore.Command, error) { if err := policy.IsValid(); err != nil { return nil, err } @@ -53,10 +53,10 @@ func (c *Commands) addDefaultPasswordComplexityPolicy(ctx context.Context, iamAg return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-Lk0dS", "Errors.IAM.PasswordComplexityPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-Lk0dS", "Errors.IAM.PasswordComplexityPolicy.AlreadyExists") } - return iam_repo.NewPasswordComplexityPolicyAddedEvent(ctx, iamAgg, policy.MinLength, policy.HasLowercase, policy.HasUppercase, policy.HasNumber, policy.HasSymbol), nil + return instance.NewPasswordComplexityPolicyAddedEvent(ctx, instanceAgg, policy.MinLength, policy.HasLowercase, policy.HasUppercase, policy.HasNumber, policy.HasSymbol), nil } func (c *Commands) ChangeDefaultPasswordComplexityPolicy(ctx context.Context, policy *domain.PasswordComplexityPolicy) (*domain.PasswordComplexityPolicy, error) { @@ -69,13 +69,13 @@ func (c *Commands) ChangeDefaultPasswordComplexityPolicy(ctx context.Context, po return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.PasswordComplexityPolicyWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.MinLength, policy.HasLowercase, policy.HasUppercase, policy.HasNumber, policy.HasSymbol) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.PasswordComplexityPolicyWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.MinLength, policy.HasLowercase, policy.HasUppercase, policy.HasNumber, policy.HasSymbol) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) if err != nil { @@ -88,11 +88,11 @@ func (c *Commands) ChangeDefaultPasswordComplexityPolicy(ctx context.Context, po return writeModelToPasswordComplexityPolicy(&existingPolicy.PasswordComplexityPolicyWriteModel), nil } -func (c *Commands) defaultPasswordComplexityPolicyWriteModelByID(ctx context.Context) (policy *IAMPasswordComplexityPolicyWriteModel, err error) { +func (c *Commands) defaultPasswordComplexityPolicyWriteModelByID(ctx context.Context) (policy *InstancePasswordComplexityPolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMPasswordComplexityPolicyWriteModel() + writeModel := NewInstancePasswordComplexityPolicyWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_password_complexity_model.go b/internal/command/instance_policy_password_complexity_model.go similarity index 63% rename from internal/command/iam_policy_password_complexity_model.go rename to internal/command/instance_policy_password_complexity_model.go index e9554e596e..b264293e9c 100644 --- a/internal/command/iam_policy_password_complexity_model.go +++ b/internal/command/instance_policy_password_complexity_model.go @@ -6,16 +6,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMPasswordComplexityPolicyWriteModel struct { +type InstancePasswordComplexityPolicyWriteModel struct { PasswordComplexityPolicyWriteModel } -func NewIAMPasswordComplexityPolicyWriteModel() *IAMPasswordComplexityPolicyWriteModel { - return &IAMPasswordComplexityPolicyWriteModel{ +func NewInstancePasswordComplexityPolicyWriteModel() *InstancePasswordComplexityPolicyWriteModel { + return &InstancePasswordComplexityPolicyWriteModel{ PasswordComplexityPolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,34 +25,34 @@ func NewIAMPasswordComplexityPolicyWriteModel() *IAMPasswordComplexityPolicyWrit } } -func (wm *IAMPasswordComplexityPolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstancePasswordComplexityPolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.PasswordComplexityPolicyAddedEvent: + case *instance.PasswordComplexityPolicyAddedEvent: wm.PasswordComplexityPolicyWriteModel.AppendEvents(&e.PasswordComplexityPolicyAddedEvent) - case *iam.PasswordComplexityPolicyChangedEvent: + case *instance.PasswordComplexityPolicyChangedEvent: wm.PasswordComplexityPolicyWriteModel.AppendEvents(&e.PasswordComplexityPolicyChangedEvent) } } } -func (wm *IAMPasswordComplexityPolicyWriteModel) Reduce() error { +func (wm *InstancePasswordComplexityPolicyWriteModel) Reduce() error { return wm.PasswordComplexityPolicyWriteModel.Reduce() } -func (wm *IAMPasswordComplexityPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstancePasswordComplexityPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.PasswordComplexityPolicyWriteModel.AggregateID). EventTypes( - iam.PasswordComplexityPolicyAddedEventType, - iam.PasswordComplexityPolicyChangedEventType). + instance.PasswordComplexityPolicyAddedEventType, + instance.PasswordComplexityPolicyChangedEventType). Builder() } -func (wm *IAMPasswordComplexityPolicyWriteModel) NewChangedEvent( +func (wm *InstancePasswordComplexityPolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, minLength uint64, @@ -60,7 +60,7 @@ func (wm *IAMPasswordComplexityPolicyWriteModel) NewChangedEvent( hasUppercase, hasNumber, hasSymbol bool, -) (*iam.PasswordComplexityPolicyChangedEvent, bool) { +) (*instance.PasswordComplexityPolicyChangedEvent, bool) { changes := make([]policy.PasswordComplexityPolicyChanges, 0) if wm.MinLength != minLength { @@ -81,7 +81,7 @@ func (wm *IAMPasswordComplexityPolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewPasswordComplexityPolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewPasswordComplexityPolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_password_complexity_test.go b/internal/command/instance_policy_password_complexity_test.go similarity index 90% rename from internal/command/iam_policy_password_complexity_test.go rename to internal/command/instance_policy_password_complexity_test.go index 627e90e14d..5e780c1644 100644 --- a/internal/command/iam_policy_password_complexity_test.go +++ b/internal/command/instance_policy_password_complexity_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/stretchr/testify/assert" "testing" @@ -59,8 +59,8 @@ func TestCommandSide_AddDefaultPasswordComplexityPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordComplexityPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 8, true, true, true, true, ), @@ -91,8 +91,8 @@ func TestCommandSide_AddDefaultPasswordComplexityPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordComplexityPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 8, true, true, true, true, ), @@ -213,8 +213,8 @@ func TestCommandSide_ChangeDefaultPasswordComplexityPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordComplexityPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 8, true, true, true, true, ), @@ -243,8 +243,8 @@ func TestCommandSide_ChangeDefaultPasswordComplexityPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPasswordComplexityPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 8, true, true, true, true, ), @@ -303,9 +303,9 @@ func TestCommandSide_ChangeDefaultPasswordComplexityPolicy(t *testing.T) { } } -func newDefaultPasswordComplexityPolicyChangedEvent(ctx context.Context, minLength uint64, hasUpper, hasLower, hasNumber, hasSymbol bool) *iam.PasswordComplexityPolicyChangedEvent { - event, _ := iam.NewPasswordComplexityPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultPasswordComplexityPolicyChangedEvent(ctx context.Context, minLength uint64, hasUpper, hasLower, hasNumber, hasSymbol bool) *instance.PasswordComplexityPolicyChangedEvent { + event, _ := instance.NewPasswordComplexityPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.PasswordComplexityPolicyChanges{ policy.ChangeMinLength(minLength), policy.ChangeHasUppercase(hasUpper), diff --git a/internal/command/iam_policy_password_lockout.go b/internal/command/instance_policy_password_lockout.go similarity index 62% rename from internal/command/iam_policy_password_lockout.go rename to internal/command/instance_policy_password_lockout.go index ea5b7edc6b..8f5d3c7f49 100644 --- a/internal/command/iam_policy_password_lockout.go +++ b/internal/command/instance_policy_password_lockout.go @@ -6,14 +6,14 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) AddDefaultLockoutPolicy(ctx context.Context, policy *domain.LockoutPolicy) (*domain.LockoutPolicy, error) { - addedPolicy := NewIAMLockoutPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - event, err := c.addDefaultLockoutPolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstanceLockoutPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + event, err := c.addDefaultLockoutPolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -29,16 +29,16 @@ func (c *Commands) AddDefaultLockoutPolicy(ctx context.Context, policy *domain.L return writeModelToLockoutPolicy(&addedPolicy.LockoutPolicyWriteModel), nil } -func (c *Commands) addDefaultLockoutPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMLockoutPolicyWriteModel, policy *domain.LockoutPolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultLockoutPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstanceLockoutPolicyWriteModel, policy *domain.LockoutPolicy) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-0olDf", "Errors.IAM.LockoutPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-0olDf", "Errors.IAM.LockoutPolicy.AlreadyExists") } - return iam_repo.NewLockoutPolicyAddedEvent(ctx, iamAgg, policy.MaxPasswordAttempts, policy.ShowLockOutFailures), nil + return instance.NewLockoutPolicyAddedEvent(ctx, instanceAgg, policy.MaxPasswordAttempts, policy.ShowLockOutFailures), nil } func (c *Commands) ChangeDefaultLockoutPolicy(ctx context.Context, policy *domain.LockoutPolicy) (*domain.LockoutPolicy, error) { @@ -47,13 +47,13 @@ func (c *Commands) ChangeDefaultLockoutPolicy(ctx context.Context, policy *domai return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0oPew", "Errors.IAM.LockoutPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0oPew", "Errors.IAM.LockoutPolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.LockoutPolicyWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.MaxPasswordAttempts, policy.ShowLockOutFailures) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.LockoutPolicyWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.MaxPasswordAttempts, policy.ShowLockOutFailures) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LockoutPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LockoutPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) @@ -67,11 +67,11 @@ func (c *Commands) ChangeDefaultLockoutPolicy(ctx context.Context, policy *domai return writeModelToLockoutPolicy(&existingPolicy.LockoutPolicyWriteModel), nil } -func (c *Commands) defaultLockoutPolicyWriteModelByID(ctx context.Context) (policy *IAMLockoutPolicyWriteModel, err error) { +func (c *Commands) defaultLockoutPolicyWriteModelByID(ctx context.Context) (policy *InstanceLockoutPolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMLockoutPolicyWriteModel() + writeModel := NewInstanceLockoutPolicyWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_password_lockout_model.go b/internal/command/instance_policy_password_lockout_model.go similarity index 59% rename from internal/command/iam_policy_password_lockout_model.go rename to internal/command/instance_policy_password_lockout_model.go index 9573e7b403..77b45d9182 100644 --- a/internal/command/iam_policy_password_lockout_model.go +++ b/internal/command/instance_policy_password_lockout_model.go @@ -6,16 +6,16 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMLockoutPolicyWriteModel struct { +type InstanceLockoutPolicyWriteModel struct { LockoutPolicyWriteModel } -func NewIAMLockoutPolicyWriteModel() *IAMLockoutPolicyWriteModel { - return &IAMLockoutPolicyWriteModel{ +func NewInstanceLockoutPolicyWriteModel() *InstanceLockoutPolicyWriteModel { + return &InstanceLockoutPolicyWriteModel{ LockoutPolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,38 +25,38 @@ func NewIAMLockoutPolicyWriteModel() *IAMLockoutPolicyWriteModel { } } -func (wm *IAMLockoutPolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstanceLockoutPolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.LockoutPolicyAddedEvent: + case *instance.LockoutPolicyAddedEvent: wm.LockoutPolicyWriteModel.AppendEvents(&e.LockoutPolicyAddedEvent) - case *iam.LockoutPolicyChangedEvent: + case *instance.LockoutPolicyChangedEvent: wm.LockoutPolicyWriteModel.AppendEvents(&e.LockoutPolicyChangedEvent) } } } -func (wm *IAMLockoutPolicyWriteModel) Reduce() error { +func (wm *InstanceLockoutPolicyWriteModel) Reduce() error { return wm.LockoutPolicyWriteModel.Reduce() } -func (wm *IAMLockoutPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceLockoutPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.LockoutPolicyWriteModel.AggregateID). EventTypes( - iam.LockoutPolicyAddedEventType, - iam.LockoutPolicyChangedEventType). + instance.LockoutPolicyAddedEventType, + instance.LockoutPolicyChangedEventType). Builder() } -func (wm *IAMLockoutPolicyWriteModel) NewChangedEvent( +func (wm *InstanceLockoutPolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, maxAttempts uint64, - showLockoutFailure bool) (*iam.LockoutPolicyChangedEvent, bool) { + showLockoutFailure bool) (*instance.LockoutPolicyChangedEvent, bool) { changes := make([]policy.LockoutPolicyChanges, 0) if wm.MaxPasswordAttempts != maxAttempts { changes = append(changes, policy.ChangeMaxAttempts(maxAttempts)) @@ -67,7 +67,7 @@ func (wm *IAMLockoutPolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewLockoutPolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewLockoutPolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_password_lockout_test.go b/internal/command/instance_policy_password_lockout_test.go similarity index 87% rename from internal/command/iam_policy_password_lockout_test.go rename to internal/command/instance_policy_password_lockout_test.go index e5ff88fc8f..fd482aafbd 100644 --- a/internal/command/iam_policy_password_lockout_test.go +++ b/internal/command/instance_policy_password_lockout_test.go @@ -2,15 +2,16 @@ package command import ( "context" + "testing" + "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" "github.com/stretchr/testify/assert" - "testing" ) func TestCommandSide_AddDefaultLockoutPolicy(t *testing.T) { @@ -38,8 +39,8 @@ func TestCommandSide_AddDefaultLockoutPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLockoutPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 10, true, ), @@ -67,8 +68,8 @@ func TestCommandSide_AddDefaultLockoutPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLockoutPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 10, true, ), @@ -159,8 +160,8 @@ func TestCommandSide_ChangeDefaultLockoutPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLockoutPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 10, true, ), @@ -186,8 +187,8 @@ func TestCommandSide_ChangeDefaultLockoutPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLockoutPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, 10, true, ), @@ -240,9 +241,9 @@ func TestCommandSide_ChangeDefaultLockoutPolicy(t *testing.T) { } } -func newDefaultLockoutPolicyChangedEvent(ctx context.Context, maxAttempts uint64, showLockoutFailure bool) *iam.LockoutPolicyChangedEvent { - event, _ := iam.NewLockoutPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultLockoutPolicyChangedEvent(ctx context.Context, maxAttempts uint64, showLockoutFailure bool) *instance.LockoutPolicyChangedEvent { + event, _ := instance.NewLockoutPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.LockoutPolicyChanges{ policy.ChangeMaxAttempts(maxAttempts), policy.ChangeShowLockOutFailures(showLockoutFailure), diff --git a/internal/command/iam_policy_privacy.go b/internal/command/instance_policy_privacy.go similarity index 63% rename from internal/command/iam_policy_privacy.go rename to internal/command/instance_policy_privacy.go index 6f428e65d5..2e33c36a92 100644 --- a/internal/command/iam_policy_privacy.go +++ b/internal/command/instance_policy_privacy.go @@ -6,18 +6,18 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/telemetry/tracing" ) func (c *Commands) getDefaultPrivacyPolicy(ctx context.Context) (*domain.PrivacyPolicy, error) { - policyWriteModel := NewIAMPrivacyPolicyWriteModel() + policyWriteModel := NewInstancePrivacyPolicyWriteModel() err := c.eventstore.FilterToQueryReducer(ctx, policyWriteModel) if err != nil { return nil, err } if !policyWriteModel.State.Exists() { - return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-559os", "Errors.IAM.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowInvalidArgument(nil, "INSTANCE-559os", "Errors.IAM.PasswordAgePolicy.NotFound") } policy := writeModelToPrivacyPolicy(&policyWriteModel.PrivacyPolicyWriteModel) policy.Default = true @@ -25,9 +25,9 @@ func (c *Commands) getDefaultPrivacyPolicy(ctx context.Context) (*domain.Privacy } func (c *Commands) AddDefaultPrivacyPolicy(ctx context.Context, policy *domain.PrivacyPolicy) (*domain.PrivacyPolicy, error) { - addedPolicy := NewIAMPrivacyPolicyWriteModel() - iamAgg := IAMAggregateFromWriteModel(&addedPolicy.WriteModel) - events, err := c.addDefaultPrivacyPolicy(ctx, iamAgg, addedPolicy, policy) + addedPolicy := NewInstancePrivacyPolicyWriteModel() + instanceAgg := InstanceAggregateFromWriteModel(&addedPolicy.WriteModel) + events, err := c.addDefaultPrivacyPolicy(ctx, instanceAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -43,16 +43,16 @@ func (c *Commands) AddDefaultPrivacyPolicy(ctx context.Context, policy *domain.P return writeModelToPrivacyPolicy(&addedPolicy.PrivacyPolicyWriteModel), nil } -func (c *Commands) addDefaultPrivacyPolicy(ctx context.Context, iamAgg *eventstore.Aggregate, addedPolicy *IAMPrivacyPolicyWriteModel, policy *domain.PrivacyPolicy) (eventstore.Command, error) { +func (c *Commands) addDefaultPrivacyPolicy(ctx context.Context, instanceAgg *eventstore.Aggregate, addedPolicy *InstancePrivacyPolicyWriteModel, policy *domain.PrivacyPolicy) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "IAM-M00rJ", "Errors.IAM.PrivacyPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "INSTANCE-M00rJ", "Errors.IAM.PrivacyPolicy.AlreadyExists") } - return iam_repo.NewPrivacyPolicyAddedEvent(ctx, iamAgg, policy.TOSLink, policy.PrivacyLink, policy.HelpLink), nil + return instance.NewPrivacyPolicyAddedEvent(ctx, instanceAgg, policy.TOSLink, policy.PrivacyLink, policy.HelpLink), nil } func (c *Commands) ChangeDefaultPrivacyPolicy(ctx context.Context, policy *domain.PrivacyPolicy) (*domain.PrivacyPolicy, error) { @@ -61,13 +61,13 @@ func (c *Commands) ChangeDefaultPrivacyPolicy(ctx context.Context, policy *domai return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "IAM-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "INSTANCE-0oPew", "Errors.IAM.PasswordAgePolicy.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&existingPolicy.PrivacyPolicyWriteModel.WriteModel) - changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, iamAgg, policy.TOSLink, policy.PrivacyLink, policy.HelpLink) + instanceAgg := InstanceAggregateFromWriteModel(&existingPolicy.PrivacyPolicyWriteModel.WriteModel) + changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, instanceAgg, policy.TOSLink, policy.PrivacyLink, policy.HelpLink) if !hasChanged { - return nil, caos_errs.ThrowPreconditionFailed(nil, "IAM-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") + return nil, caos_errs.ThrowPreconditionFailed(nil, "INSTANCE-4M9vs", "Errors.IAM.LabelPolicy.NotChanged") } pushedEvents, err := c.eventstore.Push(ctx, changedEvent) if err != nil { @@ -80,11 +80,11 @@ func (c *Commands) ChangeDefaultPrivacyPolicy(ctx context.Context, policy *domai return writeModelToPrivacyPolicy(&existingPolicy.PrivacyPolicyWriteModel), nil } -func (c *Commands) defaultPrivacyPolicyWriteModelByID(ctx context.Context) (policy *IAMPrivacyPolicyWriteModel, err error) { +func (c *Commands) defaultPrivacyPolicyWriteModelByID(ctx context.Context) (policy *InstancePrivacyPolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewIAMPrivacyPolicyWriteModel() + writeModel := NewInstancePrivacyPolicyWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_policy_privacy_model.go b/internal/command/instance_policy_privacy_model.go similarity index 61% rename from internal/command/iam_policy_privacy_model.go rename to internal/command/instance_policy_privacy_model.go index 83b5aafb8e..cf7a5b4760 100644 --- a/internal/command/iam_policy_privacy_model.go +++ b/internal/command/instance_policy_privacy_model.go @@ -3,19 +3,18 @@ package command import ( "context" - "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/eventstore" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) -type IAMPrivacyPolicyWriteModel struct { +type InstancePrivacyPolicyWriteModel struct { PrivacyPolicyWriteModel } -func NewIAMPrivacyPolicyWriteModel() *IAMPrivacyPolicyWriteModel { - return &IAMPrivacyPolicyWriteModel{ +func NewInstancePrivacyPolicyWriteModel() *InstancePrivacyPolicyWriteModel { + return &InstancePrivacyPolicyWriteModel{ PrivacyPolicyWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, @@ -25,40 +24,40 @@ func NewIAMPrivacyPolicyWriteModel() *IAMPrivacyPolicyWriteModel { } } -func (wm *IAMPrivacyPolicyWriteModel) AppendEvents(events ...eventstore.Event) { +func (wm *InstancePrivacyPolicyWriteModel) AppendEvents(events ...eventstore.Event) { for _, event := range events { switch e := event.(type) { - case *iam.PrivacyPolicyAddedEvent: + case *instance.PrivacyPolicyAddedEvent: wm.PrivacyPolicyWriteModel.AppendEvents(&e.PrivacyPolicyAddedEvent) - case *iam.PrivacyPolicyChangedEvent: + case *instance.PrivacyPolicyChangedEvent: wm.PrivacyPolicyWriteModel.AppendEvents(&e.PrivacyPolicyChangedEvent) } } } -func (wm *IAMPrivacyPolicyWriteModel) Reduce() error { +func (wm *InstancePrivacyPolicyWriteModel) Reduce() error { return wm.PrivacyPolicyWriteModel.Reduce() } -func (wm *IAMPrivacyPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstancePrivacyPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.PrivacyPolicyWriteModel.AggregateID). EventTypes( - iam.PrivacyPolicyAddedEventType, - iam.PrivacyPolicyChangedEventType). + instance.PrivacyPolicyAddedEventType, + instance.PrivacyPolicyChangedEventType). Builder() } -func (wm *IAMPrivacyPolicyWriteModel) NewChangedEvent( +func (wm *InstancePrivacyPolicyWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, tosLink, privacyLink, helpLink string, -) (*iam.PrivacyPolicyChangedEvent, bool) { +) (*instance.PrivacyPolicyChangedEvent, bool) { changes := make([]policy.PrivacyPolicyChanges, 0) if wm.TOSLink != tosLink { @@ -73,7 +72,7 @@ func (wm *IAMPrivacyPolicyWriteModel) NewChangedEvent( if len(changes) == 0 { return nil, false } - changedEvent, err := iam.NewPrivacyPolicyChangedEvent(ctx, aggregate, changes) + changedEvent, err := instance.NewPrivacyPolicyChangedEvent(ctx, aggregate, changes) if err != nil { return nil, false } diff --git a/internal/command/iam_policy_privacy_test.go b/internal/command/instance_policy_privacy_test.go similarity index 88% rename from internal/command/iam_policy_privacy_test.go rename to internal/command/instance_policy_privacy_test.go index 79ee3e2633..32162d8f9e 100644 --- a/internal/command/iam_policy_privacy_test.go +++ b/internal/command/instance_policy_privacy_test.go @@ -11,7 +11,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/policy" ) @@ -40,8 +40,8 @@ func TestCommandSide_AddDefaultPrivacyPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPrivacyPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "TOSLink", "PrivacyLink", "HelpLink", @@ -71,8 +71,8 @@ func TestCommandSide_AddDefaultPrivacyPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPrivacyPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "TOSLink", "PrivacyLink", "HelpLink", @@ -111,8 +111,8 @@ func TestCommandSide_AddDefaultPrivacyPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPrivacyPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "", "", "", @@ -207,8 +207,8 @@ func TestCommandSide_ChangeDefaultPrivacyPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPrivacyPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "TOSLink", "PrivacyLink", "HelpLink", @@ -236,8 +236,8 @@ func TestCommandSide_ChangeDefaultPrivacyPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewPrivacyPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "TOSLink", "PrivacyLink", "HelpLink", @@ -297,9 +297,9 @@ func TestCommandSide_ChangeDefaultPrivacyPolicy(t *testing.T) { } } -func newDefaultPrivacyPolicyChangedEvent(ctx context.Context, tosLink, privacyLink, helpLink string) *iam.PrivacyPolicyChangedEvent { - event, _ := iam.NewPrivacyPolicyChangedEvent(ctx, - &iam.NewAggregate().Aggregate, +func newDefaultPrivacyPolicyChangedEvent(ctx context.Context, tosLink, privacyLink, helpLink string) *instance.PrivacyPolicyChangedEvent { + event, _ := instance.NewPrivacyPolicyChangedEvent(ctx, + &instance.NewAggregate().Aggregate, []policy.PrivacyPolicyChanges{ policy.ChangeTOSLink(tosLink), policy.ChangePrivacyLink(privacyLink), diff --git a/internal/command/iam_secret_generator_model.go b/internal/command/instance_secret_generator_model.go similarity index 62% rename from internal/command/iam_secret_generator_model.go rename to internal/command/instance_secret_generator_model.go index f9caf7555d..2e948d0b81 100644 --- a/internal/command/iam_secret_generator_model.go +++ b/internal/command/instance_secret_generator_model.go @@ -6,10 +6,10 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMSecretGeneratorConfigWriteModel struct { +type InstanceSecretGeneratorConfigWriteModel struct { eventstore.WriteModel GeneratorType domain.SecretGeneratorType @@ -22,8 +22,8 @@ type IAMSecretGeneratorConfigWriteModel struct { State domain.SecretGeneratorState } -func NewIAMSecretGeneratorConfigWriteModel(GeneratorType domain.SecretGeneratorType) *IAMSecretGeneratorConfigWriteModel { - return &IAMSecretGeneratorConfigWriteModel{ +func NewInstanceSecretGeneratorConfigWriteModel(GeneratorType domain.SecretGeneratorType) *InstanceSecretGeneratorConfigWriteModel { + return &InstanceSecretGeneratorConfigWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, ResourceOwner: domain.IAMID, @@ -32,10 +32,10 @@ func NewIAMSecretGeneratorConfigWriteModel(GeneratorType domain.SecretGeneratorT } } -func (wm *IAMSecretGeneratorConfigWriteModel) Reduce() error { +func (wm *InstanceSecretGeneratorConfigWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.SecretGeneratorAddedEvent: + case *instance.SecretGeneratorAddedEvent: if wm.GeneratorType != e.GeneratorType { continue } @@ -46,7 +46,7 @@ func (wm *IAMSecretGeneratorConfigWriteModel) Reduce() error { wm.IncludeDigits = e.IncludeDigits wm.IncludeSymbols = e.IncludeDigits wm.State = domain.SecretGeneratorStateActive - case *iam.SecretGeneratorChangedEvent: + case *instance.SecretGeneratorChangedEvent: if wm.GeneratorType != e.GeneratorType { continue } @@ -68,7 +68,7 @@ func (wm *IAMSecretGeneratorConfigWriteModel) Reduce() error { if e.IncludeSymbols != nil { wm.IncludeSymbols = *e.IncludeSymbols } - case *iam.SecretGeneratorRemovedEvent: + case *instance.SecretGeneratorRemovedEvent: if wm.GeneratorType != e.GeneratorType { continue } @@ -84,20 +84,20 @@ func (wm *IAMSecretGeneratorConfigWriteModel) Reduce() error { return wm.WriteModel.Reduce() } -func (wm *IAMSecretGeneratorConfigWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceSecretGeneratorConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.SecretGeneratorAddedEventType, - iam.SecretGeneratorChangedEventType, - iam.SecretGeneratorRemovedEventType). + instance.SecretGeneratorAddedEventType, + instance.SecretGeneratorChangedEventType, + instance.SecretGeneratorRemovedEventType). Builder() } -func (wm *IAMSecretGeneratorConfigWriteModel) NewChangedEvent( +func (wm *InstanceSecretGeneratorConfigWriteModel) NewChangedEvent( ctx context.Context, aggregate *eventstore.Aggregate, generatorType domain.SecretGeneratorType, @@ -107,32 +107,32 @@ func (wm *IAMSecretGeneratorConfigWriteModel) NewChangedEvent( includeUpperLetters, includeDigits, includeSymbols bool, -) (*iam.SecretGeneratorChangedEvent, bool, error) { - changes := make([]iam.SecretGeneratorChanges, 0) +) (*instance.SecretGeneratorChangedEvent, bool, error) { + changes := make([]instance.SecretGeneratorChanges, 0) var err error if wm.Length != length { - changes = append(changes, iam.ChangeSecretGeneratorLength(length)) + changes = append(changes, instance.ChangeSecretGeneratorLength(length)) } if wm.Expiry != expiry { - changes = append(changes, iam.ChangeSecretGeneratorExpiry(expiry)) + changes = append(changes, instance.ChangeSecretGeneratorExpiry(expiry)) } if wm.IncludeLowerLetters != includeLowerLetters { - changes = append(changes, iam.ChangeSecretGeneratorIncludeLowerLetters(includeLowerLetters)) + changes = append(changes, instance.ChangeSecretGeneratorIncludeLowerLetters(includeLowerLetters)) } if wm.IncludeUpperLetters != includeUpperLetters { - changes = append(changes, iam.ChangeSecretGeneratorIncludeUpperLetters(includeUpperLetters)) + changes = append(changes, instance.ChangeSecretGeneratorIncludeUpperLetters(includeUpperLetters)) } if wm.IncludeDigits != includeDigits { - changes = append(changes, iam.ChangeSecretGeneratorIncludeDigits(includeDigits)) + changes = append(changes, instance.ChangeSecretGeneratorIncludeDigits(includeDigits)) } if wm.IncludeSymbols != includeSymbols { - changes = append(changes, iam.ChangeSecretGeneratorIncludeSymbols(includeSymbols)) + changes = append(changes, instance.ChangeSecretGeneratorIncludeSymbols(includeSymbols)) } if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewSecretGeneratorChangeEvent(ctx, aggregate, generatorType, changes) + changeEvent, err := instance.NewSecretGeneratorChangeEvent(ctx, aggregate, generatorType, changes) if err != nil { return nil, false, err } diff --git a/internal/command/iam_settings.go b/internal/command/instance_settings.go similarity index 83% rename from internal/command/iam_settings.go rename to internal/command/instance_settings.go index 8a73718995..f1cf79c649 100644 --- a/internal/command/iam_settings.go +++ b/internal/command/instance_settings.go @@ -6,7 +6,7 @@ import ( "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func (c *Commands) AddSecretGeneratorConfig(ctx context.Context, generatorType domain.SecretGeneratorType, config *crypto.GeneratorConfig) (*domain.ObjectDetails, error) { @@ -21,10 +21,10 @@ func (c *Commands) AddSecretGeneratorConfig(ctx context.Context, generatorType d if generatorWriteModel.State == domain.SecretGeneratorStateActive { return nil, caos_errs.ThrowAlreadyExists(nil, "COMMAND-3n9ls", "Errors.SecretGenerator.AlreadyExists") } - iamAgg := IAMAggregateFromWriteModel(&generatorWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSecretGeneratorAddedEvent( + instanceAgg := InstanceAggregateFromWriteModel(&generatorWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSecretGeneratorAddedEvent( ctx, - iamAgg, + instanceAgg, generatorType, config.Length, config.Expiry, @@ -54,11 +54,11 @@ func (c *Commands) ChangeSecretGeneratorConfig(ctx context.Context, generatorTyp if generatorWriteModel.State == domain.SecretGeneratorStateUnspecified || generatorWriteModel.State == domain.SecretGeneratorStateRemoved { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-3n9ls", "Errors.SecretGenerator.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&generatorWriteModel.WriteModel) + instanceAgg := InstanceAggregateFromWriteModel(&generatorWriteModel.WriteModel) changedEvent, hasChanged, err := generatorWriteModel.NewChangedEvent( ctx, - iamAgg, + instanceAgg, generatorType, config.Length, config.Expiry, @@ -95,8 +95,8 @@ func (c *Commands) RemoveSecretGeneratorConfig(ctx context.Context, generatorTyp if generatorWriteModel.State == domain.SecretGeneratorStateUnspecified || generatorWriteModel.State == domain.SecretGeneratorStateRemoved { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-b8les", "Errors.SecretGenerator.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&generatorWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSecretGeneratorRemovedEvent(ctx, iamAgg, generatorType)) + instanceAgg := InstanceAggregateFromWriteModel(&generatorWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSecretGeneratorRemovedEvent(ctx, instanceAgg, generatorType)) if err != nil { return nil, err } @@ -107,8 +107,8 @@ func (c *Commands) RemoveSecretGeneratorConfig(ctx context.Context, generatorTyp return writeModelToObjectDetails(&generatorWriteModel.WriteModel), nil } -func (c *Commands) getSecretConfig(ctx context.Context, generatorType domain.SecretGeneratorType) (_ *IAMSecretGeneratorConfigWriteModel, err error) { - writeModel := NewIAMSecretGeneratorConfigWriteModel(generatorType) +func (c *Commands) getSecretConfig(ctx context.Context, generatorType domain.SecretGeneratorType) (_ *InstanceSecretGeneratorConfigWriteModel, err error) { + writeModel := NewInstanceSecretGeneratorConfigWriteModel(generatorType) err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/iam_settings_test.go b/internal/command/instance_settings_test.go similarity index 84% rename from internal/command/iam_settings_test.go rename to internal/command/instance_settings_test.go index db25f5d6d8..85f02a17f1 100644 --- a/internal/command/iam_settings_test.go +++ b/internal/command/instance_settings_test.go @@ -12,7 +12,7 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_AddSecretGenerator(t *testing.T) { @@ -57,8 +57,8 @@ func TestCommandSide_AddSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewSecretGeneratorAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -95,9 +95,9 @@ func TestCommandSide_AddSecretGenerator(t *testing.T) { expectFilter(), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewSecretGeneratorAddedEvent( + eventFromEventPusher(instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -108,7 +108,7 @@ func TestCommandSide_AddSecretGenerator(t *testing.T) { ), ), }, - uniqueConstraintsFromEventConstraint(iam.NewAddSecretGeneratorTypeUniqueConstraint(domain.SecretGeneratorTypeInitCode)), + uniqueConstraintsFromEventConstraint(instance.NewAddSecretGeneratorTypeUniqueConstraint(domain.SecretGeneratorTypeInitCode)), ), ), }, @@ -208,9 +208,9 @@ func TestCommandSide_ChangeSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent( + instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -221,8 +221,8 @@ func TestCommandSide_ChangeSecretGenerator(t *testing.T) { ), ), eventFromEventPusher( - iam.NewSecretGeneratorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewSecretGeneratorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode), ), ), @@ -243,9 +243,9 @@ func TestCommandSide_ChangeSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent( + instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -281,9 +281,9 @@ func TestCommandSide_ChangeSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent( + instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -404,9 +404,9 @@ func TestCommandSide_RemoveSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent( + instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -417,8 +417,8 @@ func TestCommandSide_RemoveSecretGenerator(t *testing.T) { ), ), eventFromEventPusher( - iam.NewSecretGeneratorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewSecretGeneratorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode), ), ), @@ -439,9 +439,9 @@ func TestCommandSide_RemoveSecretGenerator(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSecretGeneratorAddedEvent( + instance.NewSecretGeneratorAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode, 4, time.Hour*1, @@ -455,12 +455,12 @@ func TestCommandSide_RemoveSecretGenerator(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewSecretGeneratorRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewSecretGeneratorRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, domain.SecretGeneratorTypeInitCode), ), }, - uniqueConstraintsFromEventConstraint(iam.NewRemoveSecretGeneratorTypeUniqueConstraint(domain.SecretGeneratorTypeInitCode)), + uniqueConstraintsFromEventConstraint(instance.NewRemoveSecretGeneratorTypeUniqueConstraint(domain.SecretGeneratorTypeInitCode)), ), ), }, @@ -494,17 +494,17 @@ func TestCommandSide_RemoveSecretGenerator(t *testing.T) { } } -func newSecretGeneratorChangedEvent(ctx context.Context, generatorType domain.SecretGeneratorType, length uint, expiry time.Duration, lowerCase, upperCase, digits, symbols bool) *iam.SecretGeneratorChangedEvent { - changes := []iam.SecretGeneratorChanges{ - iam.ChangeSecretGeneratorLength(length), - iam.ChangeSecretGeneratorExpiry(expiry), - iam.ChangeSecretGeneratorIncludeLowerLetters(lowerCase), - iam.ChangeSecretGeneratorIncludeUpperLetters(upperCase), - iam.ChangeSecretGeneratorIncludeDigits(digits), - iam.ChangeSecretGeneratorIncludeSymbols(symbols), +func newSecretGeneratorChangedEvent(ctx context.Context, generatorType domain.SecretGeneratorType, length uint, expiry time.Duration, lowerCase, upperCase, digits, symbols bool) *instance.SecretGeneratorChangedEvent { + changes := []instance.SecretGeneratorChanges{ + instance.ChangeSecretGeneratorLength(length), + instance.ChangeSecretGeneratorExpiry(expiry), + instance.ChangeSecretGeneratorIncludeLowerLetters(lowerCase), + instance.ChangeSecretGeneratorIncludeUpperLetters(upperCase), + instance.ChangeSecretGeneratorIncludeDigits(digits), + instance.ChangeSecretGeneratorIncludeSymbols(symbols), } - event, _ := iam.NewSecretGeneratorChangeEvent(ctx, - &iam.NewAggregate().Aggregate, + event, _ := instance.NewSecretGeneratorChangeEvent(ctx, + &instance.NewAggregate().Aggregate, generatorType, changes, ) diff --git a/internal/command/iam_smtp_config_model.go b/internal/command/instance_smtp_config_model.go similarity index 54% rename from internal/command/iam_smtp_config_model.go rename to internal/command/instance_smtp_config_model.go index fc778ac5ad..00f9967070 100644 --- a/internal/command/iam_smtp_config_model.go +++ b/internal/command/instance_smtp_config_model.go @@ -6,10 +6,10 @@ import ( "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -type IAMSMTPConfigWriteModel struct { +type InstanceSMTPConfigWriteModel struct { eventstore.WriteModel SenderAddress string @@ -21,8 +21,8 @@ type IAMSMTPConfigWriteModel struct { State domain.SMTPConfigState } -func NewIAMSMTPConfigWriteModel() *IAMSMTPConfigWriteModel { - return &IAMSMTPConfigWriteModel{ +func NewInstanceSMTPConfigWriteModel() *InstanceSMTPConfigWriteModel { + return &InstanceSMTPConfigWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, ResourceOwner: domain.IAMID, @@ -30,10 +30,10 @@ func NewIAMSMTPConfigWriteModel() *IAMSMTPConfigWriteModel { } } -func (wm *IAMSMTPConfigWriteModel) Reduce() error { +func (wm *InstanceSMTPConfigWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.SMTPConfigAddedEvent: + case *instance.SMTPConfigAddedEvent: wm.TLS = e.TLS wm.SenderAddress = e.SenderAddress wm.SenderName = e.SenderName @@ -41,7 +41,7 @@ func (wm *IAMSMTPConfigWriteModel) Reduce() error { wm.User = e.User wm.Password = e.Password wm.State = domain.SMTPConfigStateActive - case *iam.SMTPConfigChangedEvent: + case *instance.SMTPConfigChangedEvent: if e.TLS != nil { wm.TLS = *e.TLS } @@ -62,43 +62,43 @@ func (wm *IAMSMTPConfigWriteModel) Reduce() error { return wm.WriteModel.Reduce() } -func (wm *IAMSMTPConfigWriteModel) Query() *eventstore.SearchQueryBuilder { +func (wm *InstanceSMTPConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.SMTPConfigAddedEventType, - iam.SMTPConfigChangedEventType, - iam.SMTPConfigPasswordChangedEventType). + instance.SMTPConfigAddedEventType, + instance.SMTPConfigChangedEventType, + instance.SMTPConfigPasswordChangedEventType). Builder() } -func (wm *IAMSMTPConfigWriteModel) NewChangedEvent(ctx context.Context, aggregate *eventstore.Aggregate, tls bool, fromAddress, fromName, smtpHost, smtpUser string) (*iam.SMTPConfigChangedEvent, bool, error) { - changes := make([]iam.SMTPConfigChanges, 0) +func (wm *InstanceSMTPConfigWriteModel) NewChangedEvent(ctx context.Context, aggregate *eventstore.Aggregate, tls bool, fromAddress, fromName, smtpHost, smtpUser string) (*instance.SMTPConfigChangedEvent, bool, error) { + changes := make([]instance.SMTPConfigChanges, 0) var err error if wm.TLS != tls { - changes = append(changes, iam.ChangeSMTPConfigTLS(tls)) + changes = append(changes, instance.ChangeSMTPConfigTLS(tls)) } if wm.SenderAddress != fromAddress { - changes = append(changes, iam.ChangeSMTPConfigFromAddress(fromAddress)) + changes = append(changes, instance.ChangeSMTPConfigFromAddress(fromAddress)) } if wm.SenderName != fromName { - changes = append(changes, iam.ChangeSMTPConfigFromName(fromName)) + changes = append(changes, instance.ChangeSMTPConfigFromName(fromName)) } if wm.Host != smtpHost { - changes = append(changes, iam.ChangeSMTPConfigSMTPHost(smtpHost)) + changes = append(changes, instance.ChangeSMTPConfigSMTPHost(smtpHost)) } if wm.User != smtpUser { - changes = append(changes, iam.ChangeSMTPConfigSMTPUser(smtpUser)) + changes = append(changes, instance.ChangeSMTPConfigSMTPUser(smtpUser)) } if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewSMTPConfigChangeEvent(ctx, aggregate, changes) + changeEvent, err := instance.NewSMTPConfigChangeEvent(ctx, aggregate, changes) if err != nil { return nil, false, err } diff --git a/internal/command/main_test.go b/internal/command/main_test.go index f774286251..e2db05a1ad 100644 --- a/internal/command/main_test.go +++ b/internal/command/main_test.go @@ -15,7 +15,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/repository/mock" action_repo "github.com/caos/zitadel/internal/repository/action" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" key_repo "github.com/caos/zitadel/internal/repository/keypair" "github.com/caos/zitadel/internal/repository/org" proj_repo "github.com/caos/zitadel/internal/repository/project" diff --git a/internal/command/org.go b/internal/command/org.go index 0f8fe083f3..602d2e3a39 100644 --- a/internal/command/org.go +++ b/internal/command/org.go @@ -33,9 +33,9 @@ func (c *Commands) checkOrgExists(ctx context.Context, orgID string) error { } func (c *Commands) SetUpOrg(ctx context.Context, organisation *domain.Org, admin *domain.Human, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator, claimedUserIDs []string, selfregistered bool) (*domain.ObjectDetails, error) { - orgIAMPolicy, err := c.getDefaultOrgIAMPolicy(ctx) + orgIAMPolicy, err := c.getDefaultDomainPolicy(ctx) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.IAM.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.IAM.DomainPolicy.NotFound") } pwPolicy, err := c.getDefaultPasswordComplexityPolicy(ctx) if err != nil { @@ -167,7 +167,7 @@ func (c *Commands) setUpOrg( ctx context.Context, organisation *domain.Org, admin *domain.Human, - loginPolicy *domain.OrgIAMPolicy, + loginPolicy *domain.DomainPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator, diff --git a/internal/command/org_converter.go b/internal/command/org_converter.go index f149d3fee7..9a13433f63 100644 --- a/internal/command/org_converter.go +++ b/internal/command/org_converter.go @@ -13,9 +13,9 @@ func orgWriteModelToOrg(wm *OrgWriteModel) *domain.Org { } } -func orgWriteModelToOrgIAMPolicy(wm *ORGOrgIAMPolicyWriteModel) *domain.OrgIAMPolicy { - return &domain.OrgIAMPolicy{ - ObjectRoot: writeModelToObjectRoot(wm.PolicyOrgIAMWriteModel.WriteModel), +func orgWriteModelToDomainPolicy(wm *OrgDomainPolicyWriteModel) *domain.DomainPolicy { + return &domain.DomainPolicy{ + ObjectRoot: writeModelToObjectRoot(wm.PolicyDomainWriteModel.WriteModel), UserLoginMustBeDomain: wm.UserLoginMustBeDomain, } } diff --git a/internal/command/org_domain_test.go b/internal/command/org_domain_test.go index 9d94c51582..dfd4676be2 100644 --- a/internal/command/org_domain_test.go +++ b/internal/command/org_domain_test.go @@ -819,7 +819,7 @@ func TestCommandSide_ValidateOrgDomain(t *testing.T) { ), expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org2", "org2").Aggregate, false))), expectPush( diff --git a/internal/command/org_features.go b/internal/command/org_features.go index 78f0252f30..20c382e19a 100644 --- a/internal/command/org_features.go +++ b/internal/command/org_features.go @@ -384,7 +384,7 @@ func (c *Commands) getOrgFeaturesOrDefault(ctx context.Context, orgID string) (* return writeModelToFeatures(&existingFeatures.FeaturesWriteModel), nil } - existingIAMFeatures := NewIAMFeaturesWriteModel() + existingIAMFeatures := NewInstanceFeaturesWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, existingIAMFeatures) if err != nil { return nil, err diff --git a/internal/command/org_features_test.go b/internal/command/org_features_test.go index 0128d5fd46..2f0a9da4cf 100644 --- a/internal/command/org_features_test.go +++ b/internal/command/org_features_test.go @@ -17,7 +17,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/repository/features" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/static" ) @@ -157,9 +157,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -176,9 +176,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -189,9 +189,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -238,9 +238,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -250,9 +250,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -262,9 +262,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helpLink", @@ -273,9 +273,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -341,9 +341,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -360,9 +360,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -373,9 +373,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -443,9 +443,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -455,9 +455,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -467,9 +467,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -478,9 +478,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -551,9 +551,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -570,9 +570,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -583,9 +583,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -660,9 +660,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -672,9 +672,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -684,9 +684,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -695,9 +695,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -771,9 +771,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -790,9 +790,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -803,9 +803,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -887,9 +887,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -899,9 +899,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -911,9 +911,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -922,9 +922,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -1006,9 +1006,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { //orgLoginPolicyWriteModelByID expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, true, true, @@ -1025,7 +1025,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -1043,9 +1043,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { //getDefaultLoginPolicy expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, true, true, @@ -1064,10 +1064,10 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { //orgLoginPolicyAuthFactorsWriteModel expectFilter( eventFromEventPusher( - iam.NewLoginPolicySecondFactorAddedEvent(context.Background(), &iam.NewAggregate().Aggregate, domain.SecondFactorTypeU2F), + instance.NewLoginPolicySecondFactorAddedEvent(context.Background(), &instance.NewAggregate().Aggregate, domain.SecondFactorTypeU2F), ), eventFromEventPusher( - iam.NewLoginPolicyMultiFactorAddedEvent(context.Background(), &iam.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN), + instance.NewLoginPolicyMultiFactorAddedEvent(context.Background(), &instance.NewAggregate().Aggregate, domain.MultiFactorTypeU2FWithPIN), ), eventFromEventPusher( org.NewLoginPolicySecondFactorAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, domain.SecondFactorTypeOTP), @@ -1083,9 +1083,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { //orgPasswordComplexityPolicyWriteModelByID expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -1096,7 +1096,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 7, false, false, @@ -1109,9 +1109,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { //orgLabelPolicyWriteModelByID expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -1128,7 +1128,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "custom", "secondary", "warn", @@ -1181,7 +1181,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -1193,7 +1193,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -1205,7 +1205,7 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { eventFromEventPusher( org.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -1316,9 +1316,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -1335,9 +1335,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -1348,9 +1348,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -1397,9 +1397,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -1409,9 +1409,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -1421,9 +1421,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -1432,9 +1432,9 @@ func TestCommandSide_SetOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -1581,9 +1581,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent( + instance.NewLoginPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, false, false, false, @@ -1600,9 +1600,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPasswordComplexityPolicyAddedEvent( + instance.NewPasswordComplexityPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 8, false, false, @@ -1613,9 +1613,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent( + instance.NewLabelPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "primary", "secondary", "warn", @@ -1662,9 +1662,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.InitCodeMessageType, domain.MessageSubject, "text", @@ -1674,9 +1674,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewCustomTextSetEvent( + instance.NewCustomTextSetEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, domain.LoginCustomText, domain.LoginKeyExternalRegistrationUserOverviewTitle, "text", @@ -1686,9 +1686,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewPrivacyPolicyAddedEvent( + instance.NewPrivacyPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "toslink", "privacylink", "helplink", @@ -1697,9 +1697,9 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLockoutPolicyAddedEvent( + instance.NewLockoutPolicyAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, 5, false, ), @@ -1748,10 +1748,10 @@ func TestCommandSide_RemoveOrgFeatures(t *testing.T) { } } -func newIAMFeaturesSetEvent(ctx context.Context, tierName string, state domain.FeaturesState, auditLog time.Duration) *iam.FeaturesSetEvent { - event, _ := iam.NewFeaturesSetEvent( +func newIAMFeaturesSetEvent(ctx context.Context, tierName string, state domain.FeaturesState, auditLog time.Duration) *instance.FeaturesSetEvent { + event, _ := instance.NewFeaturesSetEvent( ctx, - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, []features.FeaturesChanges{ features.ChangeTierName(tierName), features.ChangeState(state), diff --git a/internal/command/org_policy_org_iam.go b/internal/command/org_policy_domain.go similarity index 55% rename from internal/command/org_policy_org_iam.go rename to internal/command/org_policy_domain.go index 8001e29cd0..ebdc4c3450 100644 --- a/internal/command/org_policy_org_iam.go +++ b/internal/command/org_policy_domain.go @@ -10,13 +10,13 @@ import ( "github.com/caos/zitadel/internal/telemetry/tracing" ) -func (c *Commands) AddOrgIAMPolicy(ctx context.Context, resourceOwner string, policy *domain.OrgIAMPolicy) (*domain.OrgIAMPolicy, error) { +func (c *Commands) AddOrgDomainPolicy(ctx context.Context, resourceOwner string, policy *domain.DomainPolicy) (*domain.DomainPolicy, error) { if resourceOwner == "" { return nil, caos_errs.ThrowInvalidArgument(nil, "Org-4Jfsf", "Errors.ResourceOwnerMissing") } - addedPolicy := NewORGOrgIAMPolicyWriteModel(resourceOwner) - orgAgg := OrgAggregateFromWriteModel(&addedPolicy.PolicyOrgIAMWriteModel.WriteModel) - event, err := c.addOrgIAMPolicy(ctx, orgAgg, addedPolicy, policy) + addedPolicy := NewOrgDomainPolicyWriteModel(resourceOwner) + orgAgg := OrgAggregateFromWriteModel(&addedPolicy.PolicyDomainWriteModel.WriteModel) + event, err := c.addOrgDomainPolicy(ctx, orgAgg, addedPolicy, policy) if err != nil { return nil, err } @@ -28,33 +28,33 @@ func (c *Commands) AddOrgIAMPolicy(ctx context.Context, resourceOwner string, po if err != nil { return nil, err } - return orgWriteModelToOrgIAMPolicy(addedPolicy), nil + return orgWriteModelToDomainPolicy(addedPolicy), nil } -func (c *Commands) addOrgIAMPolicy(ctx context.Context, orgAgg *eventstore.Aggregate, addedPolicy *ORGOrgIAMPolicyWriteModel, policy *domain.OrgIAMPolicy) (eventstore.Command, error) { +func (c *Commands) addOrgDomainPolicy(ctx context.Context, orgAgg *eventstore.Aggregate, addedPolicy *OrgDomainPolicyWriteModel, policy *domain.DomainPolicy) (eventstore.Command, error) { err := c.eventstore.FilterToQueryReducer(ctx, addedPolicy) if err != nil { return nil, err } if addedPolicy.State == domain.PolicyStateActive { - return nil, caos_errs.ThrowAlreadyExists(nil, "ORG-1M8ds", "Errors.Org.OrgIAMPolicy.AlreadyExists") + return nil, caos_errs.ThrowAlreadyExists(nil, "ORG-1M8ds", "Errors.Org.DomainPolicy.AlreadyExists") } - return org.NewOrgIAMPolicyAddedEvent(ctx, orgAgg, policy.UserLoginMustBeDomain), nil + return org.NewOrgDomainPolicyAddedEvent(ctx, orgAgg, policy.UserLoginMustBeDomain), nil } -func (c *Commands) ChangeOrgIAMPolicy(ctx context.Context, resourceOwner string, policy *domain.OrgIAMPolicy) (*domain.OrgIAMPolicy, error) { +func (c *Commands) ChangeOrgDomainPolicy(ctx context.Context, resourceOwner string, policy *domain.DomainPolicy) (*domain.DomainPolicy, error) { if resourceOwner == "" { return nil, caos_errs.ThrowInvalidArgument(nil, "Org-5H8fs", "Errors.ResourceOwnerMissing") } - existingPolicy, err := c.orgIAMPolicyWriteModelByID(ctx, resourceOwner) + existingPolicy, err := c.orgDomainPolicyWriteModelByID(ctx, resourceOwner) if err != nil { return nil, err } if existingPolicy.State == domain.PolicyStateUnspecified || existingPolicy.State == domain.PolicyStateRemoved { - return nil, caos_errs.ThrowNotFound(nil, "ORG-2N9sd", "Errors.Org.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowNotFound(nil, "ORG-2N9sd", "Errors.Org.DomainPolicy.NotFound") } - orgAgg := OrgAggregateFromWriteModel(&existingPolicy.PolicyOrgIAMWriteModel.WriteModel) + orgAgg := OrgAggregateFromWriteModel(&existingPolicy.PolicyDomainWriteModel.WriteModel) changedEvent, hasChanged := existingPolicy.NewChangedEvent(ctx, orgAgg, policy.UserLoginMustBeDomain) if !hasChanged { return nil, caos_errs.ThrowPreconditionFailed(nil, "ORG-3M9ds", "Errors.Org.LabelPolicy.NotChanged") @@ -68,14 +68,14 @@ func (c *Commands) ChangeOrgIAMPolicy(ctx context.Context, resourceOwner string, if err != nil { return nil, err } - return orgWriteModelToOrgIAMPolicy(existingPolicy), nil + return orgWriteModelToDomainPolicy(existingPolicy), nil } -func (c *Commands) RemoveOrgIAMPolicy(ctx context.Context, orgID string) error { +func (c *Commands) RemoveOrgDomainPolicy(ctx context.Context, orgID string) error { if orgID == "" { return caos_errs.ThrowInvalidArgument(nil, "Org-3H8fs", "Errors.ResourceOwnerMissing") } - existingPolicy, err := c.orgIAMPolicyWriteModelByID(ctx, orgID) + existingPolicy, err := c.orgDomainPolicyWriteModelByID(ctx, orgID) if err != nil { return err } @@ -83,27 +83,27 @@ func (c *Commands) RemoveOrgIAMPolicy(ctx context.Context, orgID string) error { return caos_errs.ThrowNotFound(nil, "ORG-Dvsh3", "Errors.Org.OrgIAMPolicy.NotFound") } - orgAgg := OrgAggregateFromWriteModel(&existingPolicy.PolicyOrgIAMWriteModel.WriteModel) - _, err = c.eventstore.Push(ctx, org.NewOrgIAMPolicyRemovedEvent(ctx, orgAgg)) + orgAgg := OrgAggregateFromWriteModel(&existingPolicy.PolicyDomainWriteModel.WriteModel) + _, err = c.eventstore.Push(ctx, org.NewOrgDomainPolicyRemovedEvent(ctx, orgAgg)) return err } -func (c *Commands) getOrgIAMPolicy(ctx context.Context, orgID string) (*domain.OrgIAMPolicy, error) { - policy, err := c.orgIAMPolicyWriteModelByID(ctx, orgID) +func (c *Commands) getOrgDomainPolicy(ctx context.Context, orgID string) (*domain.DomainPolicy, error) { + policy, err := c.orgDomainPolicyWriteModelByID(ctx, orgID) if err != nil { return nil, err } if policy.State == domain.PolicyStateActive { - return orgWriteModelToOrgIAMPolicy(policy), nil + return orgWriteModelToDomainPolicy(policy), nil } - return c.getDefaultOrgIAMPolicy(ctx) + return c.getDefaultDomainPolicy(ctx) } -func (c *Commands) orgIAMPolicyWriteModelByID(ctx context.Context, orgID string) (policy *ORGOrgIAMPolicyWriteModel, err error) { +func (c *Commands) orgDomainPolicyWriteModelByID(ctx context.Context, orgID string) (policy *OrgDomainPolicyWriteModel, err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - writeModel := NewORGOrgIAMPolicyWriteModel(orgID) + writeModel := NewOrgDomainPolicyWriteModel(orgID) err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/org_policy_domain_model.go b/internal/command/org_policy_domain_model.go new file mode 100644 index 0000000000..11c94e997e --- /dev/null +++ b/internal/command/org_policy_domain_model.go @@ -0,0 +1,72 @@ +package command + +import ( + "context" + + "github.com/caos/zitadel/internal/eventstore" + + "github.com/caos/zitadel/internal/repository/org" + "github.com/caos/zitadel/internal/repository/policy" +) + +type OrgDomainPolicyWriteModel struct { + PolicyDomainWriteModel +} + +func NewOrgDomainPolicyWriteModel(orgID string) *OrgDomainPolicyWriteModel { + return &OrgDomainPolicyWriteModel{ + PolicyDomainWriteModel{ + WriteModel: eventstore.WriteModel{ + AggregateID: orgID, + ResourceOwner: orgID, + }, + }, + } +} + +func (wm *OrgDomainPolicyWriteModel) AppendEvents(events ...eventstore.Event) { + for _, event := range events { + switch e := event.(type) { + case *org.OrgDomainPolicyAddedEvent: + wm.PolicyDomainWriteModel.AppendEvents(&e.DomainPolicyAddedEvent) + case *org.OrgDomainPolicyChangedEvent: + wm.PolicyDomainWriteModel.AppendEvents(&e.DomainPolicyChangedEvent) + case *org.OrgDomainPolicyRemovedEvent: + wm.PolicyDomainWriteModel.AppendEvents(&e.DomainPolicyRemovedEvent) + } + } +} + +func (wm *OrgDomainPolicyWriteModel) Reduce() error { + return wm.PolicyDomainWriteModel.Reduce() +} + +func (wm *OrgDomainPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { + return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). + ResourceOwner(wm.ResourceOwner). + AddQuery(). + AggregateTypes(org.AggregateType). + AggregateIDs(wm.PolicyDomainWriteModel.AggregateID). + EventTypes(org.OrgDomainPolicyAddedEventType, + org.OrgDomainPolicyChangedEventType, + org.OrgDomainPolicyRemovedEventType). + Builder() +} + +func (wm *OrgDomainPolicyWriteModel) NewChangedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + userLoginMustBeDomain bool) (*org.OrgDomainPolicyChangedEvent, bool) { + changes := make([]policy.OrgPolicyChanges, 0) + if wm.UserLoginMustBeDomain != userLoginMustBeDomain { + changes = append(changes, policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain)) + } + if len(changes) == 0 { + return nil, false + } + changedEvent, err := org.NewOrgDomainPolicyChangedEvent(ctx, aggregate, changes) + if err != nil { + return nil, false + } + return changedEvent, true +} diff --git a/internal/command/org_policy_org_iam_test.go b/internal/command/org_policy_domain_test.go similarity index 84% rename from internal/command/org_policy_org_iam_test.go rename to internal/command/org_policy_domain_test.go index 9d3a7aa67e..c6c313dcbc 100644 --- a/internal/command/org_policy_org_iam_test.go +++ b/internal/command/org_policy_domain_test.go @@ -15,17 +15,17 @@ import ( "github.com/caos/zitadel/internal/repository/policy" ) -func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { +func TestCommandSide_AddDomainPolicy(t *testing.T) { type fields struct { eventstore *eventstore.Eventstore } type args struct { ctx context.Context orgID string - policy *domain.OrgIAMPolicy + policy *domain.DomainPolicy } type res struct { - want *domain.OrgIAMPolicy + want *domain.DomainPolicy err func(error) bool } tests := []struct { @@ -43,7 +43,7 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -58,7 +58,7 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -69,7 +69,7 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { args: args{ ctx: context.Background(), orgID: "org1", - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -86,7 +86,7 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -98,12 +98,12 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { args: args{ ctx: context.Background(), orgID: "org1", - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, res: res{ - want: &domain.OrgIAMPolicy{ + want: &domain.DomainPolicy{ ObjectRoot: models.ObjectRoot{ AggregateID: "org1", ResourceOwner: "org1", @@ -118,7 +118,7 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - got, err := r.AddOrgIAMPolicy(tt.args.ctx, tt.args.orgID, tt.args.policy) + got, err := r.AddOrgDomainPolicy(tt.args.ctx, tt.args.orgID, tt.args.policy) if tt.res.err == nil { assert.NoError(t, err) } @@ -132,17 +132,17 @@ func TestCommandSide_AddOrgIAMPolicy(t *testing.T) { } } -func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { +func TestCommandSide_ChangeDomainPolicy(t *testing.T) { type fields struct { eventstore *eventstore.Eventstore } type args struct { ctx context.Context orgID string - policy *domain.OrgIAMPolicy + policy *domain.DomainPolicy } type res struct { - want *domain.OrgIAMPolicy + want *domain.DomainPolicy err func(error) bool } tests := []struct { @@ -160,7 +160,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { }, args: args{ ctx: context.Background(), - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -179,7 +179,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { args: args{ ctx: context.Background(), orgID: "org1", - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -194,7 +194,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -205,7 +205,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { args: args{ ctx: context.Background(), orgID: "org1", - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: true, }, }, @@ -220,7 +220,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -238,12 +238,12 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { args: args{ ctx: context.Background(), orgID: "org1", - policy: &domain.OrgIAMPolicy{ + policy: &domain.DomainPolicy{ UserLoginMustBeDomain: false, }, }, res: res{ - want: &domain.OrgIAMPolicy{ + want: &domain.DomainPolicy{ ObjectRoot: models.ObjectRoot{ AggregateID: "org1", ResourceOwner: "org1", @@ -258,7 +258,7 @@ func TestCommandSide_ChangeOrgIAMPolicy(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - got, err := r.ChangeOrgIAMPolicy(tt.args.ctx, tt.args.orgID, tt.args.policy) + got, err := r.ChangeOrgDomainPolicy(tt.args.ctx, tt.args.orgID, tt.args.policy) if tt.res.err == nil { assert.NoError(t, err) } @@ -327,7 +327,7 @@ func TestCommandSide_RemoveOrgIAMPolicy(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -336,7 +336,7 @@ func TestCommandSide_RemoveOrgIAMPolicy(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - org.NewOrgIAMPolicyRemovedEvent(context.Background(), + org.NewOrgDomainPolicyRemovedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate), ), }, @@ -359,7 +359,7 @@ func TestCommandSide_RemoveOrgIAMPolicy(t *testing.T) { r := &Commands{ eventstore: tt.fields.eventstore, } - err := r.RemoveOrgIAMPolicy(tt.args.ctx, tt.args.orgID) + err := r.RemoveOrgDomainPolicy(tt.args.ctx, tt.args.orgID) if tt.res.err == nil { assert.NoError(t, err) } @@ -370,10 +370,10 @@ func TestCommandSide_RemoveOrgIAMPolicy(t *testing.T) { } } -func newOrgIAMPolicyChangedEvent(ctx context.Context, orgID string, userLoginMustBeDomain bool) *org.OrgIAMPolicyChangedEvent { - event, _ := org.NewOrgIAMPolicyChangedEvent(ctx, +func newOrgIAMPolicyChangedEvent(ctx context.Context, orgID string, userLoginMustBeDomain bool) *org.OrgDomainPolicyChangedEvent { + event, _ := org.NewOrgDomainPolicyChangedEvent(ctx, &org.NewAggregate(orgID, orgID).Aggregate, - []policy.OrgIAMPolicyChanges{ + []policy.OrgPolicyChanges{ policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain), }, ) diff --git a/internal/command/org_policy_label_test.go b/internal/command/org_policy_label_test.go index c5710c9dc4..7302758109 100644 --- a/internal/command/org_policy_label_test.go +++ b/internal/command/org_policy_label_test.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" "github.com/caos/zitadel/internal/static" @@ -111,8 +111,8 @@ func TestCommandSide_AddLabelPolicy(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -159,8 +159,8 @@ func TestCommandSide_AddLabelPolicy(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -340,8 +340,8 @@ func TestCommandSide_ChangeLabelPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -405,8 +405,8 @@ func TestCommandSide_ChangeLabelPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", @@ -470,8 +470,8 @@ func TestCommandSide_ChangeLabelPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLabelPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLabelPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "#ffffff", "#ffffff", "#ffffff", diff --git a/internal/command/org_policy_login.go b/internal/command/org_policy_login.go index e2be5f94cb..4c85a7b589 100644 --- a/internal/command/org_policy_login.go +++ b/internal/command/org_policy_login.go @@ -196,7 +196,7 @@ func (c *Commands) AddIDPProviderToLoginPolicy(ctx context.Context, resourceOwne if idpProvider.Type == domain.IdentityProviderTypeOrg { _, err = c.getOrgIDPConfigByID(ctx, idpProvider.IDPConfigID, resourceOwner) } else { - _, err = c.getIAMIDPConfigByID(ctx, idpProvider.IDPConfigID) + _, err = c.getInstanceIDPConfigByID(ctx, idpProvider.IDPConfigID) } if err != nil { return nil, caos_errs.ThrowPreconditionFailed(err, "Org-3N9fs", "Errors.IDPConfig.NotExisting") diff --git a/internal/command/org_policy_login_factors_model.go b/internal/command/org_policy_login_factors_model.go index fc0f596316..0abe224b57 100644 --- a/internal/command/org_policy_login_factors_model.go +++ b/internal/command/org_policy_login_factors_model.go @@ -3,7 +3,7 @@ package command import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -132,10 +132,10 @@ type factorState struct { func (wm *OrgAuthFactorsAllowedWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.LoginPolicySecondFactorAddedEvent: + case *instance.LoginPolicySecondFactorAddedEvent: wm.ensureSecondFactor(e.MFAType) wm.SecondFactors[e.MFAType].IAM = domain.FactorStateActive - case *iam.LoginPolicySecondFactorRemovedEvent: + case *instance.LoginPolicySecondFactorRemovedEvent: wm.ensureSecondFactor(e.MFAType) wm.SecondFactors[e.MFAType].IAM = domain.FactorStateRemoved case *org.LoginPolicySecondFactorAddedEvent: @@ -144,10 +144,10 @@ func (wm *OrgAuthFactorsAllowedWriteModel) Reduce() error { case *org.LoginPolicySecondFactorRemovedEvent: wm.ensureSecondFactor(e.MFAType) wm.SecondFactors[e.MFAType].Org = domain.FactorStateRemoved - case *iam.LoginPolicyMultiFactorAddedEvent: + case *instance.LoginPolicyMultiFactorAddedEvent: wm.ensureMultiFactor(e.MFAType) wm.MultiFactors[e.MFAType].IAM = domain.FactorStateActive - case *iam.LoginPolicyMultiFactorRemovedEvent: + case *instance.LoginPolicyMultiFactorRemovedEvent: wm.ensureMultiFactor(e.MFAType) wm.MultiFactors[e.MFAType].IAM = domain.FactorStateRemoved case *org.LoginPolicyMultiFactorAddedEvent: @@ -185,13 +185,13 @@ func (wm *OrgAuthFactorsAllowedWriteModel) ensureMultiFactor(multiFactor domain. func (wm *OrgAuthFactorsAllowedWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(domain.IAMID). EventTypes( - iam.LoginPolicySecondFactorAddedEventType, - iam.LoginPolicySecondFactorRemovedEventType, - iam.LoginPolicyMultiFactorAddedEventType, - iam.LoginPolicyMultiFactorRemovedEventType, + instance.LoginPolicySecondFactorAddedEventType, + instance.LoginPolicySecondFactorRemovedEventType, + instance.LoginPolicyMultiFactorAddedEventType, + instance.LoginPolicyMultiFactorRemovedEventType, ). Or(). AggregateTypes(org.AggregateType). diff --git a/internal/command/org_policy_login_test.go b/internal/command/org_policy_login_test.go index f327d72652..b9ee222614 100644 --- a/internal/command/org_policy_login_test.go +++ b/internal/command/org_policy_login_test.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" "github.com/caos/zitadel/internal/repository/user" @@ -118,8 +118,8 @@ func TestCommandSide_AddLoginPolicy(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, false, true, true, @@ -165,8 +165,8 @@ func TestCommandSide_AddLoginPolicy(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, false, true, true, @@ -351,8 +351,8 @@ func TestCommandSide_ChangeLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, false, true, true, @@ -415,8 +415,8 @@ func TestCommandSide_ChangeLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, false, true, true, @@ -480,8 +480,8 @@ func TestCommandSide_ChangeLoginPolicy(t *testing.T) { ), expectFilter( eventFromEventPusher( - iam.NewLoginPolicyAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewLoginPolicyAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, false, false, false, diff --git a/internal/command/org_policy_org_iam_model.go b/internal/command/org_policy_org_iam_model.go deleted file mode 100644 index 92ec66b62d..0000000000 --- a/internal/command/org_policy_org_iam_model.go +++ /dev/null @@ -1,72 +0,0 @@ -package command - -import ( - "context" - - "github.com/caos/zitadel/internal/eventstore" - - "github.com/caos/zitadel/internal/repository/org" - "github.com/caos/zitadel/internal/repository/policy" -) - -type ORGOrgIAMPolicyWriteModel struct { - PolicyOrgIAMWriteModel -} - -func NewORGOrgIAMPolicyWriteModel(orgID string) *ORGOrgIAMPolicyWriteModel { - return &ORGOrgIAMPolicyWriteModel{ - PolicyOrgIAMWriteModel{ - WriteModel: eventstore.WriteModel{ - AggregateID: orgID, - ResourceOwner: orgID, - }, - }, - } -} - -func (wm *ORGOrgIAMPolicyWriteModel) AppendEvents(events ...eventstore.Event) { - for _, event := range events { - switch e := event.(type) { - case *org.OrgIAMPolicyAddedEvent: - wm.PolicyOrgIAMWriteModel.AppendEvents(&e.OrgIAMPolicyAddedEvent) - case *org.OrgIAMPolicyChangedEvent: - wm.PolicyOrgIAMWriteModel.AppendEvents(&e.OrgIAMPolicyChangedEvent) - case *org.OrgIAMPolicyRemovedEvent: - wm.PolicyOrgIAMWriteModel.AppendEvents(&e.OrgIAMPolicyRemovedEvent) - } - } -} - -func (wm *ORGOrgIAMPolicyWriteModel) Reduce() error { - return wm.PolicyOrgIAMWriteModel.Reduce() -} - -func (wm *ORGOrgIAMPolicyWriteModel) Query() *eventstore.SearchQueryBuilder { - return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). - ResourceOwner(wm.ResourceOwner). - AddQuery(). - AggregateTypes(org.AggregateType). - AggregateIDs(wm.PolicyOrgIAMWriteModel.AggregateID). - EventTypes(org.OrgIAMPolicyAddedEventType, - org.OrgIAMPolicyChangedEventType, - org.OrgIAMPolicyRemovedEventType). - Builder() -} - -func (wm *ORGOrgIAMPolicyWriteModel) NewChangedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - userLoginMustBeDomain bool) (*org.OrgIAMPolicyChangedEvent, bool) { - changes := make([]policy.OrgIAMPolicyChanges, 0) - if wm.UserLoginMustBeDomain != userLoginMustBeDomain { - changes = append(changes, policy.ChangeUserLoginMustBeDomain(userLoginMustBeDomain)) - } - if len(changes) == 0 { - return nil, false - } - changedEvent, err := org.NewOrgIAMPolicyChangedEvent(ctx, aggregate, changes) - if err != nil { - return nil, false - } - return changedEvent, true -} diff --git a/internal/command/policy_org_iam_model.go b/internal/command/policy_org_model.go similarity index 77% rename from internal/command/policy_org_iam_model.go rename to internal/command/policy_org_model.go index 68f05ecd6a..5c296e68b5 100644 --- a/internal/command/policy_org_iam_model.go +++ b/internal/command/policy_org_model.go @@ -6,20 +6,20 @@ import ( "github.com/caos/zitadel/internal/repository/policy" ) -type PolicyOrgIAMWriteModel struct { +type PolicyDomainWriteModel struct { eventstore.WriteModel UserLoginMustBeDomain bool State domain.PolicyState } -func (wm *PolicyOrgIAMWriteModel) Reduce() error { +func (wm *PolicyDomainWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *policy.OrgIAMPolicyAddedEvent: + case *policy.DomainPolicyAddedEvent: wm.UserLoginMustBeDomain = e.UserLoginMustBeDomain wm.State = domain.PolicyStateActive - case *policy.OrgIAMPolicyChangedEvent: + case *policy.DomainPolicyChangedEvent: if e.UserLoginMustBeDomain != nil { wm.UserLoginMustBeDomain = *e.UserLoginMustBeDomain } diff --git a/internal/command/project.go b/internal/command/project.go index 461895c24f..29a86d04f5 100644 --- a/internal/command/project.go +++ b/internal/command/project.go @@ -38,7 +38,7 @@ func (c *Commands) addProject(ctx context.Context, projectAdd *domain.Project, r projectAgg := ProjectAggregateFromWriteModel(&addedProject.WriteModel) projectRole := domain.RoleProjectOwner - iam, err := c.GetIAM(ctx) + iam, err := c.GetInstance(ctx) if err != nil { return nil, nil, err } diff --git a/internal/command/project_test.go b/internal/command/project_test.go index 1671e37ef1..1289597368 100644 --- a/internal/command/project_test.go +++ b/internal/command/project_test.go @@ -13,7 +13,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/v1/models" "github.com/caos/zitadel/internal/id" id_mock "github.com/caos/zitadel/internal/id/mock" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/member" "github.com/caos/zitadel/internal/repository/project" ) @@ -62,8 +62,8 @@ func TestCommandSide_AddProject(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewGlobalOrgSetEventEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewGlobalOrgSetEventEvent(context.Background(), + &instance.NewAggregate().Aggregate, "globalorg", ), ), @@ -114,8 +114,8 @@ func TestCommandSide_AddProject(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewGlobalOrgSetEventEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewGlobalOrgSetEventEvent(context.Background(), + &instance.NewAggregate().Aggregate, "globalorg", ), ), @@ -176,8 +176,8 @@ func TestCommandSide_AddProject(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewGlobalOrgSetEventEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewGlobalOrgSetEventEvent(context.Background(), + &instance.NewAggregate().Aggregate, "globalorg", ), ), diff --git a/internal/command/setup.go b/internal/command/setup.go index 12a59bb742..9b7fff81c3 100644 --- a/internal/command/setup.go +++ b/internal/command/setup.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore/v1/models" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" ) type Step interface { @@ -23,7 +23,7 @@ const ( ) func (c *Commands) ExecuteSetupSteps(ctx context.Context, steps []Step) error { - iam, err := c.GetIAM(ctx) + iam, err := c.GetInstance(ctx) if err != nil && !caos_errs.IsNotFound(err) { return err } @@ -33,7 +33,7 @@ func (c *Commands) ExecuteSetupSteps(ctx context.Context, steps []Step) error { } if iam == nil { - iam = &domain.IAM{ObjectRoot: models.ObjectRoot{}} + iam = &domain.Instance{ObjectRoot: models.ObjectRoot{}} } ctx = setSetUpContextData(ctx) @@ -56,7 +56,7 @@ func setSetUpContextData(ctx context.Context) context.Context { return authz.SetCtxData(ctx, authz.CtxData{UserID: SetupUser}) } -func (c *Commands) StartSetup(ctx context.Context, step domain.Step) (*domain.IAM, error) { +func (c *Commands) StartSetup(ctx context.Context, step domain.Step) (*domain.Instance, error) { logging.Log("COMMA-3M9fs").Infof("start setup step %v", step) iamWriteModel, err := c.getIAMWriteModel(ctx) if err != nil && !caos_errs.IsNotFound(err) { @@ -65,7 +65,7 @@ func (c *Commands) StartSetup(ctx context.Context, step domain.Step) (*domain.IA if iamWriteModel.SetUpStarted >= step || iamWriteModel.SetUpStarted != iamWriteModel.SetUpDone { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-9so34", "setup error") } - aggregate := IAMAggregateFromWriteModel(&iamWriteModel.WriteModel) + aggregate := InstanceAggregateFromWriteModel(&iamWriteModel.WriteModel) pushedEvents, err := c.eventstore.Push(ctx, iam_repo.NewSetupStepStartedEvent(ctx, aggregate, step)) if err != nil { return nil, caos_errs.ThrowPreconditionFailed(nil, "EVENT-Grgh1", "Setup start failed") @@ -75,10 +75,10 @@ func (c *Commands) StartSetup(ctx context.Context, step domain.Step) (*domain.IA return nil, err } logging.LogWithFields("SETUP-fhh21", "step", step).Info("setup step started") - return writeModelToIAM(iamWriteModel), nil + return writeModelToInstance(iamWriteModel), nil } -func (c *Commands) setup(ctx context.Context, step Step, iamAggregateProvider func(*IAMWriteModel) ([]eventstore.Command, error)) error { +func (c *Commands) setup(ctx context.Context, step Step, iamAggregateProvider func(*InstanceWriteModel) ([]eventstore.Command, error)) error { iam, err := c.getIAMWriteModel(ctx) if err != nil && !caos_errs.IsNotFound(err) { return err @@ -90,7 +90,7 @@ func (c *Commands) setup(ctx context.Context, step Step, iamAggregateProvider fu if err != nil { return err } - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) events = append(events, iam_repo.NewSetupStepDoneEvent(ctx, iamAgg, step.Step())) _, err = c.eventstore.Push(ctx, events...) diff --git a/internal/command/setup_step1.go b/internal/command/setup_step1.go index e05db49f94..1570ab2d61 100644 --- a/internal/command/setup_step1.go +++ b/internal/command/setup_step1.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" ) const ( @@ -94,10 +94,10 @@ type API struct { func (c *Commands) SetupStep1(ctx context.Context, step1 *Step1) error { var events []eventstore.Command - iamWriteModel := NewIAMWriteModel() - iamAgg := IAMAggregateFromWriteModel(&iamWriteModel.WriteModel) + iamWriteModel := NewInstanceWriteModel() + iamAgg := InstanceAggregateFromWriteModel(&iamWriteModel.WriteModel) //create default login policy - loginPolicyEvent, err := c.addDefaultLoginPolicy(ctx, iamAgg, NewIAMLoginPolicyWriteModel(), + loginPolicyEvent, err := c.addDefaultLoginPolicy(ctx, iamAgg, NewInstanceLoginPolicyWriteModel(), &domain.LoginPolicy{ AllowUsernamePassword: step1.DefaultLoginPolicy.AllowUsernamePassword, AllowRegister: step1.DefaultLoginPolicy.AllowRegister, @@ -110,7 +110,7 @@ func (c *Commands) SetupStep1(ctx context.Context, step1 *Step1) error { logging.Log("SETUP-sd2hj").Info("default login policy set up") //create orgs for _, organisation := range step1.Orgs { - orgIAMPolicy := &domain.OrgIAMPolicy{UserLoginMustBeDomain: true} + orgIAMPolicy := &domain.DomainPolicy{UserLoginMustBeDomain: true} if organisation.OrgIamPolicy { orgIAMPolicy.UserLoginMustBeDomain = false } @@ -146,7 +146,7 @@ func (c *Commands) SetupStep1(ctx context.Context, step1 *Step1) error { logging.LogWithFields("SETUP-Gdsfg", "id", orgAgg.ID, "name", organisation.Name).Info("org set up") if organisation.OrgIamPolicy { - orgIAMPolicyEvent, err := c.addOrgIAMPolicy(ctx, orgAgg, NewORGOrgIAMPolicyWriteModel(orgAgg.ID), orgIAMPolicy) + orgIAMPolicyEvent, err := c.addOrgDomainPolicy(ctx, orgAgg, NewOrgDomainPolicyWriteModel(orgAgg.ID), orgIAMPolicy) if err != nil { return err } @@ -175,7 +175,7 @@ func (c *Commands) SetupStep1(ctx context.Context, step1 *Step1) error { } events = append(events, iamProjectEvent) logging.Log("SETUP-Bdfs1").Info("IAM project set") - iamEvent, err := c.addIAMMember(ctx, iamAgg, NewIAMMemberWriteModel(humanWriteModel.AggregateID), domain.NewMember(iamAgg.ID, humanWriteModel.AggregateID, domain.RoleIAMOwner)) + iamEvent, err := c.addInstanceMember(ctx, iamAgg, NewInstanceMemberWriteModel(humanWriteModel.AggregateID), domain.NewMember(iamAgg.ID, humanWriteModel.AggregateID, domain.RoleIAMOwner)) if err != nil { return err } diff --git a/internal/command/setup_step10.go b/internal/command/setup_step10.go index b11a055a6b..13293e233e 100644 --- a/internal/command/setup_step10.go +++ b/internal/command/setup_step10.go @@ -22,9 +22,9 @@ func (s *Step10) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep10(ctx context.Context, step *Step10) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - mailTemplateEvent, err := c.addDefaultMailTemplate(ctx, iamAgg, NewIAMMailTemplateWriteModel(), &step.DefaultMailTemplate) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + mailTemplateEvent, err := c.addDefaultMailTemplate(ctx, iamAgg, NewInstanceMailTemplateWriteModel(), &step.DefaultMailTemplate) if err != nil { return nil, err } diff --git a/internal/command/setup_step11.go b/internal/command/setup_step11.go index a531b2a58d..be6fb920b4 100644 --- a/internal/command/setup_step11.go +++ b/internal/command/setup_step11.go @@ -6,7 +6,7 @@ import ( "github.com/caos/logging" "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" ) type Step11 struct { @@ -22,8 +22,8 @@ func (s *Step11) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep11(ctx context.Context, step *Step11) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) var uniqueContraintMigrations []*domain.UniqueConstraintMigration if step.MigrateV1EventstoreToV2 { uniqueConstraints := NewUniqueConstraintReadModel(ctx, c) diff --git a/internal/command/setup_step12.go b/internal/command/setup_step12.go index 1f2ae1dabb..c22c895792 100644 --- a/internal/command/setup_step12.go +++ b/internal/command/setup_step12.go @@ -31,8 +31,8 @@ func (s *Step12) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep12(ctx context.Context, step *Step12) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - featuresWriteModel := NewIAMFeaturesWriteModel() + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + featuresWriteModel := NewInstanceFeaturesWriteModel() featuresEvent, err := c.setDefaultFeatures(ctx, featuresWriteModel, &domain.Features{ TierName: step.TierName, TierDescription: step.TierDescription, diff --git a/internal/command/setup_step13.go b/internal/command/setup_step13.go index 5a354c1398..3958351bfb 100644 --- a/internal/command/setup_step13.go +++ b/internal/command/setup_step13.go @@ -21,7 +21,7 @@ func (s *Step13) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep13(ctx context.Context, step *Step13) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { _, mailTemplateEvent, err := c.changeDefaultMailTemplate(ctx, &step.DefaultMailTemplate) if err != nil { return nil, err diff --git a/internal/command/setup_step14.go b/internal/command/setup_step14.go index a897547cc9..ff93d84d28 100644 --- a/internal/command/setup_step14.go +++ b/internal/command/setup_step14.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" org_repo "github.com/caos/zitadel/internal/repository/org" ) @@ -24,8 +24,8 @@ func (s *Step14) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep14(ctx context.Context, step *Step14) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) var events []eventstore.Command if step.ActivateExistingLabelPolicies { existingPolicies := NewExistingLabelPoliciesReadModel(ctx) diff --git a/internal/command/setup_step15.go b/internal/command/setup_step15.go index d5b139cd38..2c88ad6a1c 100644 --- a/internal/command/setup_step15.go +++ b/internal/command/setup_step15.go @@ -21,7 +21,7 @@ func (s *Step15) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep15(ctx context.Context, step *Step15) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { _, mailTemplateEvent, err := c.changeDefaultMailTemplate(ctx, &step.DefaultMailTemplate) if err != nil { return nil, err diff --git a/internal/command/setup_step16.go b/internal/command/setup_step16.go index 93b5ef1939..e6d6b3e567 100644 --- a/internal/command/setup_step16.go +++ b/internal/command/setup_step16.go @@ -21,8 +21,8 @@ func (s *Step16) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep16(ctx context.Context, step *Step16) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) events := make([]eventstore.Command, 0) for _, text := range step.DefaultMessageTexts { diff --git a/internal/command/setup_step17.go b/internal/command/setup_step17.go index 5f6a6ae0c6..45fb4120e3 100644 --- a/internal/command/setup_step17.go +++ b/internal/command/setup_step17.go @@ -21,9 +21,9 @@ func (s *Step17) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep17(ctx context.Context, step *Step17) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - addedPolicy := NewIAMPrivacyPolicyWriteModel() + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + addedPolicy := NewInstancePrivacyPolicyWriteModel() events, err := c.addDefaultPrivacyPolicy(ctx, iamAgg, addedPolicy, &step.PrivacyPolicy) if err != nil { return nil, err diff --git a/internal/command/setup_step18.go b/internal/command/setup_step18.go index 379327353c..aa5c8f725d 100644 --- a/internal/command/setup_step18.go +++ b/internal/command/setup_step18.go @@ -21,9 +21,9 @@ func (s *Step18) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep18(ctx context.Context, step *Step18) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - addedPolicy := NewIAMLockoutPolicyWriteModel() + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + addedPolicy := NewInstanceLockoutPolicyWriteModel() events, err := c.addDefaultLockoutPolicy(ctx, iamAgg, addedPolicy, &step.LockoutPolicy) if err != nil { return nil, err diff --git a/internal/command/setup_step19.go b/internal/command/setup_step19.go index 4469d468f4..f5d5793861 100644 --- a/internal/command/setup_step19.go +++ b/internal/command/setup_step19.go @@ -23,7 +23,7 @@ func (s *Step19) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep19(ctx context.Context, step *Step19) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { events := make([]eventstore.Command, 0) orgs := newOrgsWithUsernameNotDomain() if err := c.eventstore.FilterToQueryReducer(ctx, orgs); err != nil { @@ -90,14 +90,14 @@ func (wm *orgsWithUsernameNotDomain) AppendEvents(events ...eventstore.Event) { wm.orgEvents[e.Aggregate().ID] = append(wm.orgEvents[e.Aggregate().ID], e) case *org.OrgRemovedEvent: delete(wm.orgEvents, e.Aggregate().ID) - case *org.OrgIAMPolicyAddedEvent: + case *org.OrgDomainPolicyAddedEvent: wm.orgEvents[e.Aggregate().ID] = append(wm.orgEvents[e.Aggregate().ID], e) - case *org.OrgIAMPolicyChangedEvent: + case *org.OrgDomainPolicyChangedEvent: if e.UserLoginMustBeDomain == nil { continue } wm.orgEvents[e.Aggregate().ID] = append(wm.orgEvents[e.Aggregate().ID], e) - case *org.OrgIAMPolicyRemovedEvent: + case *org.OrgDomainPolicyRemovedEvent: delete(wm.orgEvents, e.Aggregate().ID) } } @@ -107,11 +107,11 @@ func (wm *orgsWithUsernameNotDomain) Reduce() error { for _, events := range wm.orgEvents { for _, event := range events { switch e := event.(type) { - case *org.OrgIAMPolicyAddedEvent: + case *org.OrgDomainPolicyAddedEvent: if !e.UserLoginMustBeDomain { wm.orgs[e.Aggregate().ID] = true } - case *org.OrgIAMPolicyChangedEvent: + case *org.OrgDomainPolicyChangedEvent: if !*e.UserLoginMustBeDomain { wm.orgs[e.Aggregate().ID] = true } @@ -129,9 +129,9 @@ func (wm *orgsWithUsernameNotDomain) Query() *eventstore.SearchQueryBuilder { EventTypes( org.OrgAddedEventType, org.OrgRemovedEventType, - org.OrgIAMPolicyAddedEventType, - org.OrgIAMPolicyChangedEventType, - org.OrgIAMPolicyRemovedEventType). + org.OrgDomainPolicyAddedEventType, + org.OrgDomainPolicyChangedEventType, + org.OrgDomainPolicyRemovedEventType). Builder() } diff --git a/internal/command/setup_step2.go b/internal/command/setup_step2.go index 98951c2f89..dff42e07c7 100644 --- a/internal/command/setup_step2.go +++ b/internal/command/setup_step2.go @@ -23,9 +23,9 @@ func (s *Step2) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep2(ctx context.Context, step *Step2) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - event, err := c.addDefaultPasswordComplexityPolicy(ctx, iamAgg, NewIAMPasswordComplexityPolicyWriteModel(), &domain.PasswordComplexityPolicy{ + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + event, err := c.addDefaultPasswordComplexityPolicy(ctx, iamAgg, NewInstancePasswordComplexityPolicyWriteModel(), &domain.PasswordComplexityPolicy{ MinLength: step.DefaultPasswordComplexityPolicy.MinLength, HasLowercase: step.DefaultPasswordComplexityPolicy.HasLowercase, HasUppercase: step.DefaultPasswordComplexityPolicy.HasUppercase, diff --git a/internal/command/setup_step20.go b/internal/command/setup_step20.go index 356835ffba..9f02c3b063 100644 --- a/internal/command/setup_step20.go +++ b/internal/command/setup_step20.go @@ -18,7 +18,7 @@ func (s *Step20) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep20(ctx context.Context, step *Step20) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { err := c.eventstore.Step20(ctx, iam.Events[len(iam.Events)-1].Sequence()) return nil, err } diff --git a/internal/command/setup_step21.go b/internal/command/setup_step21.go index f3d9d3e603..c05c2e8d70 100644 --- a/internal/command/setup_step21.go +++ b/internal/command/setup_step21.go @@ -20,7 +20,7 @@ func (s *Step21) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep21(ctx context.Context, step *Step21) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { events := make([]eventstore.Command, 0) globalMembers := newGlobalOrgMemberWriteModel(iam.GlobalOrgID, domain.RoleOrgProjectCreator) orgAgg := OrgAggregateFromWriteModel(&globalMembers.WriteModel) diff --git a/internal/command/setup_step3.go b/internal/command/setup_step3.go index c12d9e2ad0..1b723c5f01 100644 --- a/internal/command/setup_step3.go +++ b/internal/command/setup_step3.go @@ -23,9 +23,9 @@ func (s *Step3) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep3(ctx context.Context, step *Step3) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - event, err := c.addDefaultPasswordAgePolicy(ctx, iamAgg, NewIAMPasswordAgePolicyWriteModel(), &domain.PasswordAgePolicy{ + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + event, err := c.addDefaultPasswordAgePolicy(ctx, iamAgg, NewInstancePasswordAgePolicyWriteModel(), &domain.PasswordAgePolicy{ MaxAgeDays: step.DefaultPasswordAgePolicy.MaxAgeDays, ExpireWarnDays: step.DefaultPasswordAgePolicy.ExpireWarnDays, }) diff --git a/internal/command/setup_step4.go b/internal/command/setup_step4.go index b52a09a93b..201fe13f74 100644 --- a/internal/command/setup_step4.go +++ b/internal/command/setup_step4.go @@ -24,7 +24,7 @@ func (s *Step4) execute(ctx context.Context, commandSide *Commands) error { //SetupStep4 is no op in favour of step 18. //Password lockout policy is replaced by lockout policy func (c *Commands) SetupStep4(ctx context.Context, step *Step4) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { return nil, nil } return c.setup(ctx, step, fn) diff --git a/internal/command/setup_step5.go b/internal/command/setup_step5.go index 99d79de046..c6e9402192 100644 --- a/internal/command/setup_step5.go +++ b/internal/command/setup_step5.go @@ -11,7 +11,7 @@ import ( ) type Step5 struct { - DefaultOrgIAMPolicy domain.OrgIAMPolicy + DefaultOrgIAMPolicy domain.DomainPolicy } func (s *Step5) Step() domain.Step { @@ -23,9 +23,9 @@ func (s *Step5) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep5(ctx context.Context, step *Step5) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - event, err := c.addDefaultOrgIAMPolicy(ctx, iamAgg, NewIAMOrgIAMPolicyWriteModel(), &domain.OrgIAMPolicy{ + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + event, err := c.addDefaultDomainPolicy(ctx, iamAgg, NewInstanceDomainPolicyWriteModel(), &domain.DomainPolicy{ UserLoginMustBeDomain: step.DefaultOrgIAMPolicy.UserLoginMustBeDomain, }) if err != nil { diff --git a/internal/command/setup_step6.go b/internal/command/setup_step6.go index 80ab31f779..431169f386 100644 --- a/internal/command/setup_step6.go +++ b/internal/command/setup_step6.go @@ -23,9 +23,9 @@ func (s *Step6) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep6(ctx context.Context, step *Step6) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - iamAgg := IAMAggregateFromWriteModel(&iam.WriteModel) - event, err := c.addDefaultLabelPolicy(ctx, iamAgg, NewIAMLabelPolicyWriteModel(), &step.DefaultLabelPolicy) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + iamAgg := InstanceAggregateFromWriteModel(&iam.WriteModel) + event, err := c.addDefaultLabelPolicy(ctx, iamAgg, NewInstanceLabelPolicyWriteModel(), &step.DefaultLabelPolicy) if err != nil { return nil, err } diff --git a/internal/command/setup_step7.go b/internal/command/setup_step7.go index 16de653186..98205483c8 100644 --- a/internal/command/setup_step7.go +++ b/internal/command/setup_step7.go @@ -22,9 +22,9 @@ func (s *Step7) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep7(ctx context.Context, step *Step7) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - secondFactorModel := NewIAMSecondFactorWriteModel(domain.SecondFactorTypeOTP) - iamAgg := IAMAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + secondFactorModel := NewInstanceSecondFactorWriteModel(domain.SecondFactorTypeOTP) + iamAgg := InstanceAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) if !step.OTP { return []eventstore.Command{}, nil } diff --git a/internal/command/setup_step8.go b/internal/command/setup_step8.go index 1145bc1cad..1eb0d69507 100644 --- a/internal/command/setup_step8.go +++ b/internal/command/setup_step8.go @@ -22,9 +22,9 @@ func (s *Step8) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep8(ctx context.Context, step *Step8) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - secondFactorModel := NewIAMSecondFactorWriteModel(domain.SecondFactorTypeU2F) - iamAgg := IAMAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + secondFactorModel := NewInstanceSecondFactorWriteModel(domain.SecondFactorTypeU2F) + iamAgg := InstanceAggregateFromWriteModel(&secondFactorModel.SecondFactorWriteModel.WriteModel) if !step.U2F { return []eventstore.Command{}, nil } diff --git a/internal/command/setup_step9.go b/internal/command/setup_step9.go index 1dfd79af56..3894f5c290 100644 --- a/internal/command/setup_step9.go +++ b/internal/command/setup_step9.go @@ -22,9 +22,9 @@ func (s *Step9) execute(ctx context.Context, commandSide *Commands) error { } func (c *Commands) SetupStep9(ctx context.Context, step *Step9) error { - fn := func(iam *IAMWriteModel) ([]eventstore.Command, error) { - multiFactorModel := NewIAMMultiFactorWriteModel(domain.MultiFactorTypeU2FWithPIN) - iamAgg := IAMAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) + fn := func(iam *InstanceWriteModel) ([]eventstore.Command, error) { + multiFactorModel := NewInstanceMultiFactorWriteModel(domain.MultiFactorTypeU2FWithPIN) + iamAgg := InstanceAggregateFromWriteModel(&multiFactorModel.MultiFactorWriteModel.WriteModel) if !step.Passwordless { return []eventstore.Command{}, nil } @@ -49,5 +49,5 @@ func setPasswordlessAllowedInPolicy(ctx context.Context, c *Commands, iamAgg *ev return nil, err } policy.PasswordlessType = domain.PasswordlessTypeAllowed - return c.changeDefaultLoginPolicy(ctx, iamAgg, NewIAMLoginPolicyWriteModel(), policy) + return c.changeDefaultLoginPolicy(ctx, iamAgg, NewInstanceLoginPolicyWriteModel(), policy) } diff --git a/internal/command/sms_config.go b/internal/command/sms_config.go index e3af258820..3a304f849e 100644 --- a/internal/command/sms_config.go +++ b/internal/command/sms_config.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/notification/channels/twilio" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func (c *Commands) AddSMSConfigTwilio(ctx context.Context, config *twilio.TwilioConfig) (string, *domain.ObjectDetails, error) { @@ -28,8 +28,8 @@ func (c *Commands) AddSMSConfigTwilio(ctx context.Context, config *twilio.Twilio } } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMSConfigTwilioAddedEvent( + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMSConfigTwilioAddedEvent( ctx, iamAgg, id, @@ -57,7 +57,7 @@ func (c *Commands) ChangeSMSConfigTwilio(ctx context.Context, id string, config if !smsConfigWriteModel.State.Exists() || smsConfigWriteModel.Twilio == nil { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-2m9fw", "Errors.SMSConfig.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) changedEvent, hasChanged, err := smsConfigWriteModel.NewChangedEvent( ctx, @@ -90,12 +90,12 @@ func (c *Commands) ChangeSMSConfigTwilioToken(ctx context.Context, id, token str if !smsConfigWriteModel.State.Exists() || smsConfigWriteModel.Twilio == nil { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-fj9wf", "Errors.SMSConfig.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) newtoken, err := crypto.Encrypt([]byte(token), c.smsCrypto) if err != nil { return nil, err } - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMSConfigTokenChangedEvent( + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMSConfigTokenChangedEvent( ctx, iamAgg, id, @@ -125,8 +125,8 @@ func (c *Commands) ActivateSMSConfigTwilio(ctx context.Context, id string) (*dom if smsConfigWriteModel.State == domain.SMSConfigStateActive { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-sn9we", "Errors.SMSConfig.AlreadyActive") } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMSConfigTwilioActivatedEvent( + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMSConfigTwilioActivatedEvent( ctx, iamAgg, id)) @@ -155,8 +155,8 @@ func (c *Commands) DeactivateSMSConfigTwilio(ctx context.Context, id string) (*d return nil, caos_errs.ThrowNotFound(nil, "COMMAND-dm9e3", "Errors.SMSConfig.AlreadyDeactivated") } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMSConfigDeactivatedEvent( + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMSConfigDeactivatedEvent( ctx, iamAgg, id)) @@ -182,8 +182,8 @@ func (c *Commands) RemoveSMSConfigTwilio(ctx context.Context, id string) (*domai return nil, caos_errs.ThrowNotFound(nil, "COMMAND-sn9we", "Errors.SMSConfig.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMSConfigRemovedEvent( + iamAgg := InstanceAggregateFromWriteModel(&smsConfigWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMSConfigRemovedEvent( ctx, iamAgg, id)) diff --git a/internal/command/sms_config_model.go b/internal/command/sms_config_model.go index 93f84998ef..746e38f5ac 100644 --- a/internal/command/sms_config_model.go +++ b/internal/command/sms_config_model.go @@ -6,7 +6,7 @@ import ( "github.com/caos/zitadel/internal/crypto" "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) type IAMSMSConfigWriteModel struct { @@ -36,7 +36,7 @@ func NewIAMSMSConfigWriteModel(id string) *IAMSMSConfigWriteModel { func (wm *IAMSMSConfigWriteModel) Reduce() error { for _, event := range wm.Events { switch e := event.(type) { - case *iam.SMSConfigTwilioAddedEvent: + case *instance.SMSConfigTwilioAddedEvent: if wm.ID != e.ID { continue } @@ -46,7 +46,7 @@ func (wm *IAMSMSConfigWriteModel) Reduce() error { SenderNumber: e.SenderNumber, } wm.State = domain.SMSConfigStateInactive - case *iam.SMSConfigTwilioChangedEvent: + case *instance.SMSConfigTwilioChangedEvent: if wm.ID != e.ID { continue } @@ -56,22 +56,22 @@ func (wm *IAMSMSConfigWriteModel) Reduce() error { if e.SenderNumber != nil { wm.Twilio.SenderNumber = *e.SenderNumber } - case *iam.SMSConfigTwilioTokenChangedEvent: + case *instance.SMSConfigTwilioTokenChangedEvent: if wm.ID != e.ID { continue } wm.Twilio.Token = e.Token - case *iam.SMSConfigActivatedEvent: + case *instance.SMSConfigActivatedEvent: if wm.ID != e.ID { continue } wm.State = domain.SMSConfigStateActive - case *iam.SMSConfigDeactivatedEvent: + case *instance.SMSConfigDeactivatedEvent: if wm.ID != e.ID { continue } wm.State = domain.SMSConfigStateInactive - case *iam.SMSConfigRemovedEvent: + case *instance.SMSConfigRemovedEvent: if wm.ID != e.ID { continue } @@ -85,33 +85,33 @@ func (wm *IAMSMSConfigWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). - AggregateTypes(iam.AggregateType). + AggregateTypes(instance.AggregateType). AggregateIDs(wm.AggregateID). EventTypes( - iam.SMSConfigTwilioAddedEventType, - iam.SMSConfigTwilioChangedEventType, - iam.SMSConfigTwilioTokenChangedEventType, - iam.SMSConfigActivatedEventType, - iam.SMSConfigDeactivatedEventType, - iam.SMSConfigRemovedEventType). + instance.SMSConfigTwilioAddedEventType, + instance.SMSConfigTwilioChangedEventType, + instance.SMSConfigTwilioTokenChangedEventType, + instance.SMSConfigActivatedEventType, + instance.SMSConfigDeactivatedEventType, + instance.SMSConfigRemovedEventType). Builder() } -func (wm *IAMSMSConfigWriteModel) NewChangedEvent(ctx context.Context, aggregate *eventstore.Aggregate, id, sid, senderNumber string) (*iam.SMSConfigTwilioChangedEvent, bool, error) { - changes := make([]iam.SMSConfigTwilioChanges, 0) +func (wm *IAMSMSConfigWriteModel) NewChangedEvent(ctx context.Context, aggregate *eventstore.Aggregate, id, sid, senderNumber string) (*instance.SMSConfigTwilioChangedEvent, bool, error) { + changes := make([]instance.SMSConfigTwilioChanges, 0) var err error if wm.Twilio.SID != sid { - changes = append(changes, iam.ChangeSMSConfigTwilioSID(sid)) + changes = append(changes, instance.ChangeSMSConfigTwilioSID(sid)) } if wm.Twilio.SenderNumber != senderNumber { - changes = append(changes, iam.ChangeSMSConfigTwilioSenderNumber(senderNumber)) + changes = append(changes, instance.ChangeSMSConfigTwilioSenderNumber(senderNumber)) } if len(changes) == 0 { return nil, false, nil } - changeEvent, err := iam.NewSMSConfigTwilioChangedEvent(ctx, aggregate, id, changes) + changeEvent, err := instance.NewSMSConfigTwilioChangedEvent(ctx, aggregate, id, changes) if err != nil { return nil, false, err } diff --git a/internal/command/sms_config_test.go b/internal/command/sms_config_test.go index f085f0c532..abc5f67d3f 100644 --- a/internal/command/sms_config_test.go +++ b/internal/command/sms_config_test.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/id" id_mock "github.com/caos/zitadel/internal/id/mock" "github.com/caos/zitadel/internal/notification/channels/twilio" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" ) @@ -45,9 +45,9 @@ func TestCommandSide_AddSMSConfigTwilio(t *testing.T) { expectFilter(), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewSMSConfigTwilioAddedEvent( + eventFromEventPusher(instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "senderName", @@ -159,9 +159,9 @@ func TestCommandSide_ChangeSMSConfigTwilio(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMSConfigTwilioAddedEvent( + instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "senderName", @@ -196,9 +196,9 @@ func TestCommandSide_ChangeSMSConfigTwilio(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMSConfigTwilioAddedEvent( + instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "token", @@ -315,9 +315,9 @@ func TestCommandSide_ActivateSMSConfigTwilio(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMSConfigTwilioAddedEvent( + instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "sender-name", @@ -328,9 +328,9 @@ func TestCommandSide_ActivateSMSConfigTwilio(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewSMSConfigTwilioActivatedEvent( + instance.NewSMSConfigTwilioActivatedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", ), ), @@ -423,9 +423,9 @@ func TestCommandSide_DeactivateSMSConfigTwilio(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMSConfigTwilioAddedEvent( + instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "sender-name", @@ -433,9 +433,9 @@ func TestCommandSide_DeactivateSMSConfigTwilio(t *testing.T) { ), ), eventFromEventPusher( - iam.NewSMSConfigTwilioActivatedEvent( + instance.NewSMSConfigTwilioActivatedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", ), ), @@ -443,9 +443,9 @@ func TestCommandSide_DeactivateSMSConfigTwilio(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewSMSConfigDeactivatedEvent( + instance.NewSMSConfigDeactivatedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", ), ), @@ -538,9 +538,9 @@ func TestCommandSide_RemoveSMSConfigTwilio(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMSConfigTwilioAddedEvent( + instance.NewSMSConfigTwilioAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", "sid", "sender-name", @@ -551,9 +551,9 @@ func TestCommandSide_RemoveSMSConfigTwilio(t *testing.T) { expectPush( []*repository.Event{ eventFromEventPusher( - iam.NewSMSConfigRemovedEvent( + instance.NewSMSConfigRemovedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, "providerid", ), ), @@ -591,13 +591,13 @@ func TestCommandSide_RemoveSMSConfigTwilio(t *testing.T) { } } -func newSMSConfigTwilioChangedEvent(ctx context.Context, id, sid, senderName string) *iam.SMSConfigTwilioChangedEvent { - changes := []iam.SMSConfigTwilioChanges{ - iam.ChangeSMSConfigTwilioSID(sid), - iam.ChangeSMSConfigTwilioSenderNumber(senderName), +func newSMSConfigTwilioChangedEvent(ctx context.Context, id, sid, senderName string) *instance.SMSConfigTwilioChangedEvent { + changes := []instance.SMSConfigTwilioChanges{ + instance.ChangeSMSConfigTwilioSID(sid), + instance.ChangeSMSConfigTwilioSenderNumber(senderName), } - event, _ := iam.NewSMSConfigTwilioChangedEvent(ctx, - &iam.NewAggregate().Aggregate, + event, _ := instance.NewSMSConfigTwilioChangedEvent(ctx, + &instance.NewAggregate().Aggregate, id, changes, ) diff --git a/internal/command/smtp.go b/internal/command/smtp.go index 173197e19f..b02060d829 100644 --- a/internal/command/smtp.go +++ b/internal/command/smtp.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/domain" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/notification/channels/smtp" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func (c *Commands) AddSMTPConfig(ctx context.Context, config *smtp.EmailConfig) (*domain.ObjectDetails, error) { @@ -26,8 +26,8 @@ func (c *Commands) AddSMTPConfig(ctx context.Context, config *smtp.EmailConfig) } } - iamAgg := IAMAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMTPConfigAddedEvent( + iamAgg := InstanceAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMTPConfigAddedEvent( ctx, iamAgg, config.Tls, @@ -54,7 +54,7 @@ func (c *Commands) ChangeSMTPConfig(ctx context.Context, config *smtp.EmailConfi if smtpConfigWriteModel.State == domain.SMTPConfigStateUnspecified { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-3n9ls", "Errors.SMTPConfig.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) + iamAgg := InstanceAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) changedEvent, hasChanged, err := smtpConfigWriteModel.NewChangedEvent( ctx, @@ -89,12 +89,12 @@ func (c *Commands) ChangeSMTPConfigPassword(ctx context.Context, password string if smtpConfigWriteModel.State == domain.SMTPConfigStateUnspecified { return nil, caos_errs.ThrowNotFound(nil, "COMMAND-3n9ls", "Errors.SMTPConfig.NotFound") } - iamAgg := IAMAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) + iamAgg := InstanceAggregateFromWriteModel(&smtpConfigWriteModel.WriteModel) newPW, err := crypto.Encrypt([]byte(password), c.smtpPasswordCrypto) if err != nil { return nil, err } - pushedEvents, err := c.eventstore.Push(ctx, iam.NewSMTPConfigPasswordChangedEvent( + pushedEvents, err := c.eventstore.Push(ctx, instance.NewSMTPConfigPasswordChangedEvent( ctx, iamAgg, newPW)) @@ -108,8 +108,8 @@ func (c *Commands) ChangeSMTPConfigPassword(ctx context.Context, password string return writeModelToObjectDetails(&smtpConfigWriteModel.WriteModel), nil } -func (c *Commands) getSMTPConfig(ctx context.Context) (_ *IAMSMTPConfigWriteModel, err error) { - writeModel := NewIAMSMTPConfigWriteModel() +func (c *Commands) getSMTPConfig(ctx context.Context) (_ *InstanceSMTPConfigWriteModel, err error) { + writeModel := NewInstanceSMTPConfigWriteModel() err = c.eventstore.FilterToQueryReducer(ctx, writeModel) if err != nil { return nil, err diff --git a/internal/command/smtp_test.go b/internal/command/smtp_test.go index c297c831e5..258f02e472 100644 --- a/internal/command/smtp_test.go +++ b/internal/command/smtp_test.go @@ -13,7 +13,7 @@ import ( caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestCommandSide_AddSMTPConfig(t *testing.T) { @@ -42,8 +42,8 @@ func TestCommandSide_AddSMTPConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMTPConfigAddedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewSMTPConfigAddedEvent(context.Background(), + &instance.NewAggregate().Aggregate, true, "from", "name", @@ -73,9 +73,9 @@ func TestCommandSide_AddSMTPConfig(t *testing.T) { expectFilter(), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewSMTPConfigAddedEvent( + eventFromEventPusher(instance.NewSMTPConfigAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, "from", "name", @@ -176,9 +176,9 @@ func TestCommandSide_ChangeSMTPConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMTPConfigAddedEvent( + instance.NewSMTPConfigAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, "from", "name", @@ -213,9 +213,9 @@ func TestCommandSide_ChangeSMTPConfig(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMTPConfigAddedEvent( + instance.NewSMTPConfigAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, "from", "name", @@ -321,9 +321,9 @@ func TestCommandSide_ChangeSMTPConfigPassword(t *testing.T) { t, expectFilter( eventFromEventPusher( - iam.NewSMTPConfigAddedEvent( + instance.NewSMTPConfigAddedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, true, "from", "name", @@ -335,9 +335,9 @@ func TestCommandSide_ChangeSMTPConfigPassword(t *testing.T) { ), expectPush( []*repository.Event{ - eventFromEventPusher(iam.NewSMTPConfigPasswordChangedEvent( + eventFromEventPusher(instance.NewSMTPConfigPasswordChangedEvent( context.Background(), - &iam.NewAggregate().Aggregate, + &instance.NewAggregate().Aggregate, &crypto.CryptoValue{ CryptoType: crypto.TypeEncryption, Algorithm: "enc", @@ -382,16 +382,16 @@ func TestCommandSide_ChangeSMTPConfigPassword(t *testing.T) { } } -func newSMTPConfigChangedEvent(ctx context.Context, tls bool, fromAddress, fromName, host, user string) *iam.SMTPConfigChangedEvent { - changes := []iam.SMTPConfigChanges{ - iam.ChangeSMTPConfigTLS(tls), - iam.ChangeSMTPConfigFromAddress(fromAddress), - iam.ChangeSMTPConfigFromName(fromName), - iam.ChangeSMTPConfigSMTPHost(host), - iam.ChangeSMTPConfigSMTPUser(user), +func newSMTPConfigChangedEvent(ctx context.Context, tls bool, fromAddress, fromName, host, user string) *instance.SMTPConfigChangedEvent { + changes := []instance.SMTPConfigChanges{ + instance.ChangeSMTPConfigTLS(tls), + instance.ChangeSMTPConfigFromAddress(fromAddress), + instance.ChangeSMTPConfigFromName(fromName), + instance.ChangeSMTPConfigSMTPHost(host), + instance.ChangeSMTPConfigSMTPUser(user), } - event, _ := iam.NewSMTPConfigChangeEvent(ctx, - &iam.NewAggregate().Aggregate, + event, _ := instance.NewSMTPConfigChangeEvent(ctx, + &instance.NewAggregate().Aggregate, changes, ) return event diff --git a/internal/command/unique_constraints_model.go b/internal/command/unique_constraints_model.go index d76959b3d5..41900738c4 100644 --- a/internal/command/unique_constraints_model.go +++ b/internal/command/unique_constraints_model.go @@ -6,8 +6,8 @@ import ( "github.com/caos/logging" "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/member" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" @@ -25,7 +25,7 @@ type UniqueConstraintReadModel struct { } type commandProvider interface { - getOrgIAMPolicy(ctx context.Context, orgID string) (*domain.OrgIAMPolicy, error) + getOrgDomainPolicy(ctx context.Context, orgID string) (*domain.DomainPolicy, error) } func NewUniqueConstraintReadModel(ctx context.Context, provider commandProvider) *UniqueConstraintReadModel { @@ -50,14 +50,14 @@ func (rm *UniqueConstraintReadModel) Reduce() error { rm.addUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, org.NewAddOrgDomainUniqueConstraint(e.Domain)) case *org.DomainRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, org.UniqueOrgDomain) - case *iam.IDPConfigAddedEvent: + case *instance.IDPConfigAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.NewAddIDPConfigNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)) - case *iam.IDPConfigChangedEvent: + case *instance.IDPConfigChangedEvent: if e.Name == nil { continue } rm.changeUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.NewAddIDPConfigNameUniqueConstraint(*e.Name, e.Aggregate().ResourceOwner)) - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.UniqueIDPConfigNameType) case *org.IDPConfigAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.NewAddIDPConfigNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)) @@ -68,7 +68,7 @@ func (rm *UniqueConstraintReadModel) Reduce() error { rm.changeUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.NewAddIDPConfigNameUniqueConstraint(*e.Name, e.Aggregate().ResourceOwner)) case *org.IDPConfigRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.ConfigID, idpconfig.UniqueIDPConfigNameType) - case *iam.MailTextAddedEvent: + case *instance.MailTextAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.MailTextType+e.Language, policy.NewAddMailTextUniqueConstraint(e.Aggregate().ID, e.MailTextType, e.Language)) case *org.MailTextAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.MailTextType+e.Language, policy.NewAddMailTextUniqueConstraint(e.Aggregate().ID, e.MailTextType, e.Language)) @@ -109,21 +109,21 @@ func (rm *UniqueConstraintReadModel) Reduce() error { case *project.RoleRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.Key, project.UniqueRoleType) case *user.HumanAddedEvent: - policy, err := rm.commandProvider.getOrgIAMPolicy(rm.ctx, e.Aggregate().ResourceOwner) + policy, err := rm.commandProvider.getOrgDomainPolicy(rm.ctx, e.Aggregate().ResourceOwner) if err != nil { logging.Log("COMMAND-0k9Gs").WithError(err).Error("could not read policy for human added event unique constraint") continue } rm.addUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, user.NewAddUsernameUniqueConstraint(e.UserName, e.Aggregate().ResourceOwner, policy.UserLoginMustBeDomain)) case *user.HumanRegisteredEvent: - policy, err := rm.commandProvider.getOrgIAMPolicy(rm.ctx, e.Aggregate().ResourceOwner) + policy, err := rm.commandProvider.getOrgDomainPolicy(rm.ctx, e.Aggregate().ResourceOwner) if err != nil { logging.Log("COMMAND-m9fod").WithError(err).Error("could not read policy for human registered event unique constraint") continue } rm.addUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, user.NewAddUsernameUniqueConstraint(e.UserName, e.Aggregate().ResourceOwner, policy.UserLoginMustBeDomain)) case *user.MachineAddedEvent: - policy, err := rm.commandProvider.getOrgIAMPolicy(rm.ctx, e.Aggregate().ResourceOwner) + policy, err := rm.commandProvider.getOrgDomainPolicy(rm.ctx, e.Aggregate().ResourceOwner) if err != nil { logging.Log("COMMAND-2n8vs").WithError(err).Error("could not read policy for machine added event unique constraint") continue @@ -133,14 +133,14 @@ func (rm *UniqueConstraintReadModel) Reduce() error { rm.removeUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, user.UniqueUsername) rm.listRemoveUniqueConstraint(e.Aggregate().ID, user.UniqueUserIDPLinkType) case *user.UsernameChangedEvent: - policy, err := rm.commandProvider.getOrgIAMPolicy(rm.ctx, e.Aggregate().ResourceOwner) + policy, err := rm.commandProvider.getOrgDomainPolicy(rm.ctx, e.Aggregate().ResourceOwner) if err != nil { logging.Log("COMMAND-5n8gk").WithError(err).Error("could not read policy for username changed event unique constraint") continue } rm.changeUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, user.NewAddUsernameUniqueConstraint(e.UserName, e.Aggregate().ResourceOwner, policy.UserLoginMustBeDomain)) case *user.DomainClaimedEvent: - policy, err := rm.commandProvider.getOrgIAMPolicy(rm.ctx, e.Aggregate().ResourceOwner) + policy, err := rm.commandProvider.getOrgDomainPolicy(rm.ctx, e.Aggregate().ResourceOwner) if err != nil { logging.Log("COMMAND-xb8uf").WithError(err).Error("could not read policy for domain claimed event unique constraint") continue @@ -158,11 +158,11 @@ func (rm *UniqueConstraintReadModel) Reduce() error { rm.removeUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, usergrant.UniqueUserGrant) case *usergrant.UserGrantCascadeRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.Aggregate().ID, usergrant.UniqueUserGrant) - case *iam.MemberAddedEvent: + case *instance.MemberAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.UserID, member.NewAddMemberUniqueConstraint(e.Aggregate().ID, e.UserID)) - case *iam.MemberRemovedEvent: + case *instance.MemberRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.UserID, member.UniqueMember) - case *iam.MemberCascadeRemovedEvent: + case *instance.MemberCascadeRemovedEvent: rm.removeUniqueConstraint(e.Aggregate().ID, e.UserID, member.UniqueMember) case *org.MemberAddedEvent: rm.addUniqueConstraint(e.Aggregate().ID, e.UserID, member.NewAddMemberUniqueConstraint(e.Aggregate().ID, e.UserID)) @@ -184,7 +184,7 @@ func (rm *UniqueConstraintReadModel) Reduce() error { func (rm *UniqueConstraintReadModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). AddQuery().AggregateTypes( - iam.AggregateType, + instance.AggregateType, org.AggregateType, project.AggregateType, user.AggregateType, @@ -194,13 +194,13 @@ func (rm *UniqueConstraintReadModel) Query() *eventstore.SearchQueryBuilder { org.OrgChangedEventType, org.OrgDomainVerifiedEventType, org.OrgDomainRemovedEventType, - iam.IDPConfigAddedEventType, - iam.IDPConfigChangedEventType, - iam.IDPConfigRemovedEventType, + instance.IDPConfigAddedEventType, + instance.IDPConfigChangedEventType, + instance.IDPConfigRemovedEventType, org.IDPConfigAddedEventType, org.IDPConfigChangedEventType, org.IDPConfigRemovedEventType, - iam.MailTextAddedEventType, + instance.MailTextAddedEventType, org.MailTextAddedEventType, org.MailTextRemovedEventType, project.ProjectAddedType, @@ -230,9 +230,9 @@ func (rm *UniqueConstraintReadModel) Query() *eventstore.SearchQueryBuilder { usergrant.UserGrantAddedType, usergrant.UserGrantRemovedType, usergrant.UserGrantCascadeRemovedType, - iam.MemberAddedEventType, - iam.MemberRemovedEventType, - iam.MemberCascadeRemovedEventType, + instance.MemberAddedEventType, + instance.MemberRemovedEventType, + instance.MemberCascadeRemovedEventType, org.MemberAddedEventType, org.MemberRemovedEventType, org.MemberCascadeRemovedEventType, diff --git a/internal/command/user.go b/internal/command/user.go index cb8ef5236f..44fc171e7b 100644 --- a/internal/command/user.go +++ b/internal/command/user.go @@ -36,12 +36,12 @@ func (c *Commands) ChangeUsername(ctx context.Context, orgID, userID, userName s return nil, caos_errs.ThrowPreconditionFailed(nil, "COMMAND-6m9gs", "Errors.User.UsernameNotChanged") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, orgID) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, orgID) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-38fnu", "Errors.Org.OrgIAMPolicy.NotExisting") + return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-38fnu", "Errors.Org.DomainPolicy.NotExisting") } - if err := CheckOrgIAMPolicyForUserName(userName, orgIAMPolicy); err != nil { + if err := CheckDomainPolicyForUserName(userName, orgIAMPolicy); err != nil { return nil, err } userAgg := UserAggregateFromWriteModel(&existingUser.WriteModel) @@ -186,7 +186,7 @@ func (c *Commands) RemoveUser(ctx context.Context, userID, resourceOwner string, return nil, caos_errs.ThrowNotFound(nil, "COMMAND-m9od", "Errors.User.NotFound") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, existingUser.ResourceOwner) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, existingUser.ResourceOwner) if err != nil { return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-3M9fs", "Errors.Org.OrgIAMPolicy.NotExisting") } @@ -320,7 +320,7 @@ func (c *Commands) userDomainClaimed(ctx context.Context, userID string) (events changedUserGrant := NewUserWriteModel(userID, existingUser.ResourceOwner) userAgg := UserAggregateFromWriteModel(&changedUserGrant.WriteModel) - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, existingUser.ResourceOwner) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, existingUser.ResourceOwner) if err != nil { return nil, nil, err } diff --git a/internal/command/user_human.go b/internal/command/user_human.go index 370f77a594..0c9e6adb12 100644 --- a/internal/command/user_human.go +++ b/internal/command/user_human.go @@ -28,9 +28,9 @@ func (c *Commands) AddHuman(ctx context.Context, orgID string, human *domain.Hum if orgID == "" { return nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-XYFk9", "Errors.ResourceOwnerMissing") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, orgID) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, orgID) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.Org.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.Org.DomainPolicy.NotFound") } pwPolicy, err := c.getOrgPasswordComplexityPolicy(ctx, orgID) if err != nil { @@ -57,9 +57,9 @@ func (c *Commands) ImportHuman(ctx context.Context, orgID string, human *domain. if orgID == "" { return nil, nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-5N8fs", "Errors.ResourceOwnerMissing") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, orgID) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, orgID) if err != nil { - return nil, nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-2N9fs", "Errors.Org.OrgIAMPolicy.NotFound") + return nil, nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-2N9fs", "Errors.Org.DomainPolicy.NotFound") } pwPolicy, err := c.getOrgPasswordComplexityPolicy(ctx, orgID) if err != nil { @@ -89,7 +89,7 @@ func (c *Commands) ImportHuman(ctx context.Context, orgID string, human *domain. return writeModelToHuman(addedHuman), passwordlessCode, nil } -func (c *Commands) addHuman(ctx context.Context, orgID string, human *domain.Human, orgIAMPolicy *domain.OrgIAMPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { +func (c *Commands) addHuman(ctx context.Context, orgID string, human *domain.Human, orgIAMPolicy *domain.DomainPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { if orgID == "" || !human.IsValid() { return nil, nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-67Ms8", "Errors.User.Invalid") } @@ -99,7 +99,7 @@ func (c *Commands) addHuman(ctx context.Context, orgID string, human *domain.Hum return c.createHuman(ctx, orgID, human, nil, false, false, orgIAMPolicy, pwPolicy, initCodeGenerator, phoneCodeGenerator) } -func (c *Commands) importHuman(ctx context.Context, orgID string, human *domain.Human, passwordless bool, orgIAMPolicy *domain.OrgIAMPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator, passwordlessCodeGenerator crypto.Generator) (events []eventstore.Command, humanWriteModel *HumanWriteModel, passwordlessCodeWriteModel *HumanPasswordlessInitCodeWriteModel, code string, err error) { +func (c *Commands) importHuman(ctx context.Context, orgID string, human *domain.Human, passwordless bool, orgIAMPolicy *domain.DomainPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator, passwordlessCodeGenerator crypto.Generator) (events []eventstore.Command, humanWriteModel *HumanWriteModel, passwordlessCodeWriteModel *HumanPasswordlessInitCodeWriteModel, code string, err error) { if orgID == "" || !human.IsValid() { return nil, nil, nil, "", caos_errs.ThrowInvalidArgument(nil, "COMMAND-00p2b", "Errors.User.Invalid") } @@ -122,9 +122,9 @@ func (c *Commands) RegisterHuman(ctx context.Context, orgID string, human *domai if orgID == "" { return nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-GEdf2", "Errors.ResourceOwnerMissing") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, orgID) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, orgID) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.Org.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-33M9f", "Errors.Org.DomainPolicy.NotFound") } pwPolicy, err := c.getOrgPasswordComplexityPolicy(ctx, orgID) if err != nil { @@ -171,7 +171,7 @@ func (c *Commands) RegisterHuman(ctx context.Context, orgID string, human *domai return writeModelToHuman(registeredHuman), nil } -func (c *Commands) registerHuman(ctx context.Context, orgID string, human *domain.Human, link *domain.UserIDPLink, orgIAMPolicy *domain.OrgIAMPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { +func (c *Commands) registerHuman(ctx context.Context, orgID string, human *domain.Human, link *domain.UserIDPLink, orgIAMPolicy *domain.DomainPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { if human != nil && human.Username == "" { human.Username = human.EmailAddress } @@ -184,8 +184,8 @@ func (c *Commands) registerHuman(ctx context.Context, orgID string, human *domai return c.createHuman(ctx, orgID, human, link, true, false, orgIAMPolicy, pwPolicy, initCodeGenerator, phoneCodeGenerator) } -func (c *Commands) createHuman(ctx context.Context, orgID string, human *domain.Human, link *domain.UserIDPLink, selfregister, passwordless bool, orgIAMPolicy *domain.OrgIAMPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { - if err := human.CheckOrgIAMPolicy(orgIAMPolicy); err != nil { +func (c *Commands) createHuman(ctx context.Context, orgID string, human *domain.Human, link *domain.UserIDPLink, selfregister, passwordless bool, orgIAMPolicy *domain.DomainPolicy, pwPolicy *domain.PasswordComplexityPolicy, initCodeGenerator crypto.Generator, phoneCodeGenerator crypto.Generator) ([]eventstore.Command, *HumanWriteModel, error) { + if err := human.CheckDomainPolicy(orgIAMPolicy); err != nil { return nil, nil, err } if !orgIAMPolicy.UserLoginMustBeDomain { diff --git a/internal/command/user_human_otp.go b/internal/command/user_human_otp.go index 5e0ad5cccc..a3782de63f 100644 --- a/internal/command/user_human_otp.go +++ b/internal/command/user_human_otp.go @@ -25,7 +25,7 @@ func (c *Commands) AddHumanOTP(ctx context.Context, userID, resourceowner string logging.Log("COMMAND-Cm0ds").WithError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Debug("unable to get org for loginname") return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-55M9f", "Errors.Org.NotFound") } - orgPolicy, err := c.getOrgIAMPolicy(ctx, org.AggregateID) + orgPolicy, err := c.getOrgDomainPolicy(ctx, org.AggregateID) if err != nil { logging.Log("COMMAND-y5zv9").WithError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Debug("unable to get org policy for loginname") return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-8ugTs", "Errors.Org.OrgIAMPolicy.NotFound") diff --git a/internal/command/user_human_otp_test.go b/internal/command/user_human_otp_test.go index a92094bb23..a7f4f95a5c 100644 --- a/internal/command/user_human_otp_test.go +++ b/internal/command/user_human_otp_test.go @@ -176,7 +176,7 @@ func TestCommandSide_AddHumanOTP(t *testing.T) { ), expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), diff --git a/internal/command/user_human_test.go b/internal/command/user_human_test.go index 2d1ac193e2..0b9c6cd423 100644 --- a/internal/command/user_human_test.go +++ b/internal/command/user_human_test.go @@ -102,7 +102,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -137,7 +137,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -178,7 +178,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -272,7 +272,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -359,7 +359,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -440,7 +440,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -539,7 +539,7 @@ func TestCommandSide_AddHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -732,7 +732,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -767,7 +767,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -808,7 +808,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -896,7 +896,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -978,7 +978,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1082,7 +1082,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1190,7 +1190,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1294,7 +1294,7 @@ func TestCommandSide_ImportHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1495,7 +1495,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -1533,7 +1533,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -1579,7 +1579,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -1641,7 +1641,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -1703,7 +1703,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, false, ), @@ -1782,7 +1782,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, false, ), @@ -1919,7 +1919,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -2024,7 +2024,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("org1", "org1").Aggregate, true, ), @@ -2123,7 +2123,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), @@ -2244,7 +2244,7 @@ func TestCommandSide_RegisterHuman(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, true, ), diff --git a/internal/command/user_human_webauthn.go b/internal/command/user_human_webauthn.go index a12a5cbdd8..827ef60842 100644 --- a/internal/command/user_human_webauthn.go +++ b/internal/command/user_human_webauthn.go @@ -149,7 +149,7 @@ func (c *Commands) addHumanWebAuthN(ctx context.Context, userID, resourceowner s if err != nil { return nil, nil, nil, err } - orgPolicy, err := c.getOrgIAMPolicy(ctx, org.AggregateID) + orgPolicy, err := c.getOrgDomainPolicy(ctx, org.AggregateID) if err != nil { return nil, nil, nil, err } diff --git a/internal/command/user_idp_link.go b/internal/command/user_idp_link.go index 199b025b4c..24ff5505a8 100644 --- a/internal/command/user_idp_link.go +++ b/internal/command/user_idp_link.go @@ -43,7 +43,7 @@ func (c *Commands) addUserIDPLink(ctx context.Context, human *eventstore.Aggrega } _, err := c.getOrgIDPConfigByID(ctx, link.IDPConfigID, human.ResourceOwner) if caos_errs.IsNotFound(err) { - _, err = c.getIAMIDPConfigByID(ctx, link.IDPConfigID) + _, err = c.getInstanceIDPConfigByID(ctx, link.IDPConfigID) } if err != nil { return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-39nfs", "Errors.IDPConfig.NotExisting") diff --git a/internal/command/user_idp_link_test.go b/internal/command/user_idp_link_test.go index e30f1843ee..de6cb8f7d4 100644 --- a/internal/command/user_idp_link_test.go +++ b/internal/command/user_idp_link_test.go @@ -12,7 +12,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/user" ) @@ -208,7 +208,7 @@ func TestCommandSide_BulkAddUserIDPLinks(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewIDPConfigAddedEvent(context.Background(), + instance.NewIDPConfigAddedEvent(context.Background(), &org.NewAggregate("org1", "org1").Aggregate, "config1", "name", diff --git a/internal/command/user_machine.go b/internal/command/user_machine.go index a8ef6fbcc1..21460e02f5 100644 --- a/internal/command/user_machine.go +++ b/internal/command/user_machine.go @@ -13,9 +13,9 @@ func (c *Commands) AddMachine(ctx context.Context, orgID string, machine *domain if !machine.IsValid() { return nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-bm9Ds", "Errors.User.Invalid") } - orgIAMPolicy, err := c.getOrgIAMPolicy(ctx, orgID) + orgIAMPolicy, err := c.getOrgDomainPolicy(ctx, orgID) if err != nil { - return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-3M9fs", "Errors.Org.OrgIAMPolicy.NotFound") + return nil, caos_errs.ThrowPreconditionFailed(err, "COMMAND-3M9fs", "Errors.Org.DomainPolicy.NotFound") } if !orgIAMPolicy.UserLoginMustBeDomain { return nil, caos_errs.ThrowPreconditionFailed(nil, "COMMAND-6M0ds", "Errors.User.Invalid") diff --git a/internal/command/user_machine_test.go b/internal/command/user_machine_test.go index 2e9e0a83cd..36511c0f53 100644 --- a/internal/command/user_machine_test.go +++ b/internal/command/user_machine_test.go @@ -83,7 +83,7 @@ func TestCommandSide_AddMachine(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, false, ), @@ -110,7 +110,7 @@ func TestCommandSide_AddMachine(t *testing.T) { t, expectFilter( eventFromEventPusher( - org.NewOrgIAMPolicyAddedEvent(context.Background(), + org.NewOrgDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), diff --git a/internal/command/user_membership.go b/internal/command/user_membership.go index d75fd2b817..69016dcb6d 100644 --- a/internal/command/user_membership.go +++ b/internal/command/user_membership.go @@ -5,7 +5,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/query" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/project" ) @@ -14,8 +14,8 @@ func (c *Commands) removeUserMemberships(ctx context.Context, memberships []*que events := make([]eventstore.Command, 0) for _, membership := range memberships { if membership.IAM != nil { - iamAgg := iam.NewAggregate() - removeEvent := c.removeIAMMember(ctx, &iamAgg.Aggregate, membership.UserID, true) + iamAgg := instance.NewAggregate() + removeEvent := c.removeInstanceMember(ctx, &iamAgg.Aggregate, membership.UserID, true) events = append(events, removeEvent) } else if membership.Org != nil { iamAgg := org.NewAggregate(membership.Org.OrgID, membership.ResourceOwner) diff --git a/internal/command/user_model.go b/internal/command/user_model.go index ef7680600a..bea85cfda4 100644 --- a/internal/command/user_model.go +++ b/internal/command/user_model.go @@ -126,7 +126,7 @@ func UserAggregateFromWriteModel(wm *eventstore.WriteModel) *eventstore.Aggregat return eventstore.AggregateFromWriteModel(wm, user.AggregateType, user.AggregateVersion) } -func CheckOrgIAMPolicyForUserName(userName string, policy *domain.OrgIAMPolicy) error { +func CheckDomainPolicyForUserName(userName string, policy *domain.DomainPolicy) error { if policy == nil { return caos_errors.ThrowPreconditionFailed(nil, "COMMAND-3Mb9s", "Errors.Users.OrgIamPolicyNil") } diff --git a/internal/command/user_test.go b/internal/command/user_test.go index 41475aa821..feb70424a5 100644 --- a/internal/command/user_test.go +++ b/internal/command/user_test.go @@ -14,7 +14,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/repository" "github.com/caos/zitadel/internal/id" "github.com/caos/zitadel/internal/query" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/member" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/project" @@ -202,7 +202,7 @@ func TestCommandSide_UsernameChange(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -244,7 +244,7 @@ func TestCommandSide_UsernameChange(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1026,7 +1026,7 @@ func TestCommandSide_RemoveUser(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1090,7 +1090,7 @@ func TestCommandSide_RemoveUser(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1147,7 +1147,7 @@ func TestCommandSide_RemoveUser(t *testing.T) { expectFilter(), expectFilter( eventFromEventPusher( - iam.NewOrgIAMPolicyAddedEvent(context.Background(), + instance.NewInstnaceDomainPolicyAddedEvent(context.Background(), &user.NewAggregate("user1", "org1").Aggregate, true, ), @@ -1164,8 +1164,8 @@ func TestCommandSide_RemoveUser(t *testing.T) { ), ), eventFromEventPusher( - iam.NewMemberCascadeRemovedEvent(context.Background(), - &iam.NewAggregate().Aggregate, + instance.NewMemberCascadeRemovedEvent(context.Background(), + &instance.NewAggregate().Aggregate, "user1", ), ), diff --git a/internal/domain/human.go b/internal/domain/human.go index 30700edca9..51b1b3c15a 100644 --- a/internal/domain/human.go +++ b/internal/domain/human.go @@ -58,9 +58,9 @@ func (u *Human) IsValid() bool { return u.Username != "" && u.Profile != nil && u.Profile.IsValid() && u.Email != nil && u.Email.IsValid() && u.Phone == nil || (u.Phone != nil && u.Phone.PhoneNumber != "" && u.Phone.IsValid()) } -func (u *Human) CheckOrgIAMPolicy(policy *OrgIAMPolicy) error { +func (u *Human) CheckDomainPolicy(policy *DomainPolicy) error { if policy == nil { - return caos_errors.ThrowPreconditionFailed(nil, "DOMAIN-zSH7j", "Errors.Users.OrgIamPolicyNil") + return caos_errors.ThrowPreconditionFailed(nil, "DOMAIN-zSH7j", "Errors.Users.DomainPolicyNil") } if !policy.UserLoginMustBeDomain && u.Profile != nil && u.Username == "" && u.Email != nil { u.Username = u.EmailAddress diff --git a/internal/domain/iam.go b/internal/domain/instance.go similarity index 89% rename from internal/domain/iam.go rename to internal/domain/instance.go index ac7317e99a..f79edeb511 100644 --- a/internal/domain/iam.go +++ b/internal/domain/instance.go @@ -8,7 +8,7 @@ const ( IAMID = "IAM" ) -type IAM struct { +type Instance struct { models.ObjectRoot GlobalOrgID string @@ -19,7 +19,7 @@ type IAM struct { IDPs []*IDPConfig DefaultLoginPolicy *LoginPolicy DefaultLabelPolicy *LabelPolicy - DefaultOrgIAMPolicy *OrgIAMPolicy + DefaultDomainPolicy *DomainPolicy DefaultPasswordComplexityPolicy *PasswordComplexityPolicy DefaultPasswordAgePolicy *PasswordAgePolicy DefaultPasswordLockoutPolicy *LockoutPolicy diff --git a/internal/domain/org.go b/internal/domain/org.go index 5a4a0bd5e5..eafe2354ce 100644 --- a/internal/domain/org.go +++ b/internal/domain/org.go @@ -10,16 +10,8 @@ type Org struct { State OrgState Name string - PrimaryDomain string - Domains []*OrgDomain - Members []*Member - OrgIamPolicy *OrgIAMPolicy - LoginPolicy *LoginPolicy - LabelPolicy *LabelPolicy - PasswordComplexityPolicy *PasswordComplexityPolicy - PasswordAgePolicy *PasswordAgePolicy - PasswordLockoutPolicy *LockoutPolicy - IDPs []*IDPConfig + PrimaryDomain string + Domains []*OrgDomain } func (o *Org) IsValid() bool { diff --git a/internal/domain/policy_org_iam.go b/internal/domain/policy_org_iam.go index 47d575a501..085f52bd55 100644 --- a/internal/domain/policy_org_iam.go +++ b/internal/domain/policy_org_iam.go @@ -4,7 +4,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/v1/models" ) -type OrgIAMPolicy struct { +type DomainPolicy struct { models.ObjectRoot UserLoginMustBeDomain bool diff --git a/internal/iam/model/org_iam_policy.go b/internal/iam/model/org_iam_policy.go index b4c08e1e0f..d9a1ce55ca 100644 --- a/internal/iam/model/org_iam_policy.go +++ b/internal/iam/model/org_iam_policy.go @@ -4,7 +4,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/v1/models" ) -type OrgIAMPolicy struct { +type DomainPolicy struct { models.ObjectRoot State PolicyState diff --git a/internal/iam/repository/eventsourcing/model/org_iam_policy.go b/internal/iam/repository/eventsourcing/model/org_iam_policy.go index 55fa4e609f..e655855529 100644 --- a/internal/iam/repository/eventsourcing/model/org_iam_policy.go +++ b/internal/iam/repository/eventsourcing/model/org_iam_policy.go @@ -8,22 +8,22 @@ import ( iam_model "github.com/caos/zitadel/internal/iam/model" ) -type OrgIAMPolicy struct { +type DomainPolicy struct { es_models.ObjectRoot State int32 `json:"-"` UserLoginMustBeDomain bool `json:"userLoginMustBeDomain"` } -func OrgIAMPolicyToModel(policy *OrgIAMPolicy) *iam_model.OrgIAMPolicy { - return &iam_model.OrgIAMPolicy{ +func DomainPolicyToModel(policy *DomainPolicy) *iam_model.DomainPolicy { + return &iam_model.DomainPolicy{ ObjectRoot: policy.ObjectRoot, State: iam_model.PolicyState(policy.State), UserLoginMustBeDomain: policy.UserLoginMustBeDomain, } } -func (p *OrgIAMPolicy) Changes(changed *OrgIAMPolicy) map[string]interface{} { +func (p *DomainPolicy) Changes(changed *DomainPolicy) map[string]interface{} { changes := make(map[string]interface{}, 1) if p.UserLoginMustBeDomain != changed.UserLoginMustBeDomain { @@ -32,7 +32,7 @@ func (p *OrgIAMPolicy) Changes(changed *OrgIAMPolicy) map[string]interface{} { return changes } -func (p *OrgIAMPolicy) SetData(event *es_models.Event) error { +func (p *DomainPolicy) SetData(event *es_models.Event) error { err := json.Unmarshal(event.Data, p) if err != nil { return errors.ThrowInternal(err, "EVENT-7JS9d", "unable to unmarshal data") diff --git a/internal/iam/repository/eventsourcing/model/org_iam_policy_test.go b/internal/iam/repository/eventsourcing/model/org_iam_policy_test.go index c1d9bc2b76..42148b1e6f 100644 --- a/internal/iam/repository/eventsourcing/model/org_iam_policy_test.go +++ b/internal/iam/repository/eventsourcing/model/org_iam_policy_test.go @@ -6,8 +6,8 @@ import ( func TestOrgIAMPolicyChanges(t *testing.T) { type args struct { - existing *OrgIAMPolicy - new *OrgIAMPolicy + existing *DomainPolicy + new *DomainPolicy } type res struct { changesLen int @@ -20,8 +20,8 @@ func TestOrgIAMPolicyChanges(t *testing.T) { { name: "org iam policy all attributes change", args: args{ - existing: &OrgIAMPolicy{UserLoginMustBeDomain: true}, - new: &OrgIAMPolicy{UserLoginMustBeDomain: false}, + existing: &DomainPolicy{UserLoginMustBeDomain: true}, + new: &DomainPolicy{UserLoginMustBeDomain: false}, }, res: res{ changesLen: 1, @@ -30,8 +30,8 @@ func TestOrgIAMPolicyChanges(t *testing.T) { { name: "no changes", args: args{ - existing: &OrgIAMPolicy{UserLoginMustBeDomain: true}, - new: &OrgIAMPolicy{UserLoginMustBeDomain: true}, + existing: &DomainPolicy{UserLoginMustBeDomain: true}, + new: &DomainPolicy{UserLoginMustBeDomain: true}, }, res: res{ changesLen: 0, diff --git a/internal/iam/repository/view/model/idp_config.go b/internal/iam/repository/view/model/idp_config.go index c2bf98e75f..250a5583b1 100644 --- a/internal/iam/repository/view/model/idp_config.go +++ b/internal/iam/repository/view/model/idp_config.go @@ -5,7 +5,7 @@ import ( "time" "github.com/caos/zitadel/internal/crypto" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" @@ -109,8 +109,8 @@ func (i *IDPConfigView) AppendEvent(providerType model.IDPProviderType, event *m err = i.SetData(event) case es_model.OIDCIDPConfigChanged, org_es_model.OIDCIDPConfigChanged, es_model.IDPConfigChanged, org_es_model.IDPConfigChanged, - models.EventType(org.IDPJWTConfigAddedEventType), models.EventType(iam.IDPJWTConfigAddedEventType), - models.EventType(org.IDPJWTConfigChangedEventType), models.EventType(iam.IDPJWTConfigChangedEventType): + models.EventType(org.IDPJWTConfigAddedEventType), models.EventType(instance.IDPJWTConfigAddedEventType), + models.EventType(org.IDPJWTConfigChangedEventType), models.EventType(instance.IDPJWTConfigChangedEventType): err = i.SetData(event) case es_model.IDPConfigDeactivated, org_es_model.IDPConfigDeactivated: i.IDPState = int32(model.IDPConfigStateInactive) diff --git a/internal/iam/repository/view/model/message_text.go b/internal/iam/repository/view/model/message_text.go deleted file mode 100644 index 3e096bda7e..0000000000 --- a/internal/iam/repository/view/model/message_text.go +++ /dev/null @@ -1,159 +0,0 @@ -package model - -import ( - "time" - - "golang.org/x/text/language" - - "github.com/caos/zitadel/internal/domain" - org_es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" - - es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" - - "github.com/caos/zitadel/internal/eventstore/v1/models" - "github.com/caos/zitadel/internal/iam/model" -) - -const ( - MessageTextKeyAggregateID = "aggregate_id" - MessageTextKeyMessageTextType = "message_text_type" - MessageTextKeyLanguage = "language" -) - -type MessageTextView struct { - AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"` - CreationDate time.Time `json:"-" gorm:"column:creation_date"` - ChangeDate time.Time `json:"-" gorm:"column:change_date"` - State int32 `json:"-" gorm:"column:message_text_state"` - - MessageTextType string `json:"-" gorm:"column:message_text_type;primary_key"` - Language string `json:"-" gorm:"column:language;primary_key"` - Title string `json:"-" gorm:"column:title"` - PreHeader string `json:"-" gorm:"column:pre_header"` - Subject string `json:"-" gorm:"column:subject"` - Greeting string `json:"-" gorm:"column:greeting"` - Text string `json:"-" gorm:"column:text"` - ButtonText string `json:"-" gorm:"column:button_text"` - FooterText string `json:"-" gorm:"column:footer_text"` - Default bool `json:"-" gorm:"-"` - - Sequence uint64 `json:"-" gorm:"column:sequence"` -} - -func MessageTextViewFromModel(template *model.MessageTextView) *MessageTextView { - return &MessageTextView{ - AggregateID: template.AggregateID, - Sequence: template.Sequence, - CreationDate: template.CreationDate, - ChangeDate: template.ChangeDate, - MessageTextType: template.MessageTextType, - Language: template.Language.String(), - Title: template.Title, - PreHeader: template.PreHeader, - Subject: template.Subject, - Greeting: template.Greeting, - Text: template.Text, - ButtonText: template.ButtonText, - FooterText: template.FooterText, - Default: template.Default, - } -} - -func messageTextsViewToModelArr(texts []*MessageTextView, defaultIn bool) []*model.MessageTextView { - result := make([]*model.MessageTextView, len(texts)) - for i, r := range texts { - r.Default = defaultIn - result[i] = MessageTextViewToModel(r) - } - return result -} - -func MessageTextViewToModel(template *MessageTextView) *model.MessageTextView { - lang := language.Make(template.Language) - return &model.MessageTextView{ - AggregateID: template.AggregateID, - Sequence: template.Sequence, - CreationDate: template.CreationDate, - ChangeDate: template.ChangeDate, - MessageTextType: template.MessageTextType, - Language: lang, - Title: template.Title, - PreHeader: template.PreHeader, - Subject: template.Subject, - Greeting: template.Greeting, - Text: template.Text, - ButtonText: template.ButtonText, - FooterText: template.FooterText, - Default: template.Default, - } -} - -func (i *MessageTextView) AppendEvent(event *models.Event) (err error) { - i.Sequence = event.Sequence - switch event.Type { - case es_model.CustomTextSet, org_es_model.CustomTextSet: - i.setRootData(event) - customText := new(CustomTextView) - err = customText.SetData(event) - if err != nil { - return err - } - if customText.Key == domain.MessageTitle { - i.Title = customText.Text - } - if customText.Key == domain.MessagePreHeader { - i.PreHeader = customText.Text - } - if customText.Key == domain.MessageSubject { - i.Subject = customText.Text - } - if customText.Key == domain.MessageGreeting { - i.Greeting = customText.Text - } - if customText.Key == domain.MessageText { - i.Text = customText.Text - } - if customText.Key == domain.MessageButtonText { - i.ButtonText = customText.Text - } - if customText.Key == domain.MessageFooterText { - i.FooterText = customText.Text - } - i.ChangeDate = event.CreationDate - case es_model.CustomTextRemoved, org_es_model.CustomTextRemoved: - customText := new(CustomTextView) - err = customText.SetData(event) - if err != nil { - return err - } - if customText.Key == domain.MessageTitle { - i.Title = "" - } - if customText.Key == domain.MessagePreHeader { - i.PreHeader = "" - } - if customText.Key == domain.MessageSubject { - i.Subject = "" - } - if customText.Key == domain.MessageGreeting { - i.Greeting = "" - } - if customText.Key == domain.MessageText { - i.Text = "" - } - if customText.Key == domain.MessageButtonText { - i.ButtonText = "" - } - if customText.Key == domain.MessageFooterText { - i.FooterText = "" - } - i.ChangeDate = event.CreationDate - case org_es_model.CustomTextMessageRemoved: - i.State = int32(model.PolicyStateRemoved) - } - return err -} - -func (r *MessageTextView) setRootData(event *models.Event) { - r.AggregateID = event.AggregateID -} diff --git a/internal/iam/repository/view/model/message_text_query.go b/internal/iam/repository/view/model/message_text_query.go deleted file mode 100644 index 90f120ddd3..0000000000 --- a/internal/iam/repository/view/model/message_text_query.go +++ /dev/null @@ -1,63 +0,0 @@ -package model - -import ( - "github.com/caos/zitadel/internal/domain" - iam_model "github.com/caos/zitadel/internal/iam/model" - "github.com/caos/zitadel/internal/view/repository" -) - -type MessageTextSearchRequest iam_model.MessageTextSearchRequest -type MessageTextSearchQuery iam_model.MessageTextSearchQuery -type MessageTextSearchKey iam_model.MessageTextSearchKey - -func (req MessageTextSearchRequest) GetLimit() uint64 { - return req.Limit -} - -func (req MessageTextSearchRequest) GetOffset() uint64 { - return req.Offset -} - -func (req MessageTextSearchRequest) GetSortingColumn() repository.ColumnKey { - if req.SortingColumn == iam_model.MessageTextSearchKeyUnspecified { - return nil - } - return MessageTextSearchKey(req.SortingColumn) -} - -func (req MessageTextSearchRequest) GetAsc() bool { - return req.Asc -} - -func (req MessageTextSearchRequest) GetQueries() []repository.SearchQuery { - result := make([]repository.SearchQuery, len(req.Queries)) - for i, q := range req.Queries { - result[i] = MessageTextSearchQuery{Key: q.Key, Value: q.Value, Method: q.Method} - } - return result -} - -func (req MessageTextSearchQuery) GetKey() repository.ColumnKey { - return MessageTextSearchKey(req.Key) -} - -func (req MessageTextSearchQuery) GetMethod() domain.SearchMethod { - return req.Method -} - -func (req MessageTextSearchQuery) GetValue() interface{} { - return req.Value -} - -func (key MessageTextSearchKey) ToColumnName() string { - switch iam_model.MessageTextSearchKey(key) { - case iam_model.MessageTextSearchKeyAggregateID: - return MessageTextKeyAggregateID - case iam_model.MessageTextSearchKeyMessageTextType: - return MessageTextKeyMessageTextType - case iam_model.MessageTextSearchKeyLanguage: - return MessageTextKeyLanguage - default: - return "" - } -} diff --git a/internal/iam/repository/view/model/metadata.go b/internal/iam/repository/view/model/metadata.go deleted file mode 100644 index 6530a884ab..0000000000 --- a/internal/iam/repository/view/model/metadata.go +++ /dev/null @@ -1,79 +0,0 @@ -package model - -import ( - "encoding/json" - "time" - - "github.com/caos/zitadel/internal/domain" - usr_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model" - - "github.com/caos/logging" - - caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore/v1/models" -) - -const ( - MetadataKeyAggregateID = "aggregate_id" - MetadataKeyResourceOwner = "resource_owner" - MetadataKeyKey = "key" - MetadataKeyValue = "value" -) - -type MetadataView struct { - AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"` - ResourceOwner string `json:"-" gorm:"column:resource_owner"` - CreationDate time.Time `json:"-" gorm:"column:creation_date"` - ChangeDate time.Time `json:"-" gorm:"column:change_date"` - - Key string `json:"key" gorm:"column:key;primary_key"` - Value []byte `json:"value" gorm:"column:value"` - - Sequence uint64 `json:"-" gorm:"column:sequence"` -} - -func MetadataViewsToDomain(texts []*MetadataView) []*domain.Metadata { - result := make([]*domain.Metadata, len(texts)) - for i, text := range texts { - result[i] = MetadataViewToDomain(text) - } - return result -} - -func MetadataViewToDomain(data *MetadataView) *domain.Metadata { - return &domain.Metadata{ - ObjectRoot: models.ObjectRoot{ - AggregateID: data.AggregateID, - Sequence: data.Sequence, - CreationDate: data.CreationDate, - ChangeDate: data.ChangeDate, - }, - Key: data.Key, - Value: data.Value, - } -} - -func (md *MetadataView) AppendEvent(event *models.Event) (err error) { - md.Sequence = event.Sequence - switch event.Type { - case usr_model.UserMetadataSet: - md.setRootData(event) - err = md.SetData(event) - } - return err -} - -func (md *MetadataView) setRootData(event *models.Event) { - md.AggregateID = event.AggregateID - md.ResourceOwner = event.ResourceOwner - md.ChangeDate = event.CreationDate - md.Sequence = event.Sequence -} - -func (md *MetadataView) SetData(event *models.Event) error { - if err := json.Unmarshal(event.Data, md); err != nil { - logging.Log("MODEL-3n9fs").WithError(err).Error("could not unmarshal event data") - return caos_errs.ThrowInternal(err, "MODEL-5CVaR", "Could not unmarshal data") - } - return nil -} diff --git a/internal/iam/repository/view/model/metadata_query.go b/internal/iam/repository/view/model/metadata_query.go deleted file mode 100644 index 79dbffd71f..0000000000 --- a/internal/iam/repository/view/model/metadata_query.go +++ /dev/null @@ -1,64 +0,0 @@ -package model - -import ( - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/view/repository" -) - -type MetadataSearchRequest domain.MetadataSearchRequest -type MetadataSearchQuery domain.MetadataSearchQuery -type MetadataSearchKey domain.MetadataSearchKey - -func (req MetadataSearchRequest) GetLimit() uint64 { - return req.Limit -} - -func (req MetadataSearchRequest) GetOffset() uint64 { - return req.Offset -} - -func (req MetadataSearchRequest) GetSortingColumn() repository.ColumnKey { - if req.SortingColumn == domain.MetadataSearchKeyUnspecified { - return nil - } - return MetadataSearchKey(req.SortingColumn) -} - -func (req MetadataSearchRequest) GetAsc() bool { - return req.Asc -} - -func (req MetadataSearchRequest) GetQueries() []repository.SearchQuery { - result := make([]repository.SearchQuery, len(req.Queries)) - for i, q := range req.Queries { - result[i] = MetadataSearchQuery{Key: q.Key, Value: q.Value, Method: q.Method} - } - return result -} - -func (req MetadataSearchQuery) GetKey() repository.ColumnKey { - return MetadataSearchKey(req.Key) -} - -func (req MetadataSearchQuery) GetMethod() domain.SearchMethod { - return req.Method -} - -func (req MetadataSearchQuery) GetValue() interface{} { - return req.Value -} - -func (key MetadataSearchKey) ToColumnName() string { - switch domain.MetadataSearchKey(key) { - case domain.MetadataSearchKeyAggregateID: - return MetadataKeyAggregateID - case domain.MetadataSearchKeyResourceOwner: - return MetadataKeyResourceOwner - case domain.MetadataSearchKeyKey: - return MetadataKeyKey - case domain.MetadataSearchKeyValue: - return MetadataKeyValue - default: - return "" - } -} diff --git a/internal/iam/repository/view/model/org_iam_policy.go b/internal/iam/repository/view/model/org_iam_policy.go deleted file mode 100644 index d55fabc7c0..0000000000 --- a/internal/iam/repository/view/model/org_iam_policy.go +++ /dev/null @@ -1,56 +0,0 @@ -package model - -import ( - "encoding/json" - "time" - - org_es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model" - - es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" - - "github.com/caos/logging" - caos_errs "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore/v1/models" -) - -const ( - OrgIAMPolicyKeyAggregateID = "aggregate_id" -) - -type OrgIAMPolicyView struct { - AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"` - CreationDate time.Time `json:"-" gorm:"column:creation_date"` - ChangeDate time.Time `json:"-" gorm:"column:change_date"` - State int32 `json:"-" gorm:"column:org_iam_policy_state"` - - UserLoginMustBeDomain bool `json:"userLoginMustBeDomain" gorm:"column:user_login_must_be_domain"` - Default bool `json:"-" gorm:"-"` - - Sequence uint64 `json:"-" gorm:"column:sequence"` -} - -func (i *OrgIAMPolicyView) AppendEvent(event *models.Event) (err error) { - i.Sequence = event.Sequence - i.ChangeDate = event.CreationDate - switch event.Type { - case es_model.OrgIAMPolicyAdded, org_es_model.OrgIAMPolicyAdded: - i.setRootData(event) - i.CreationDate = event.CreationDate - err = i.SetData(event) - case es_model.OrgIAMPolicyChanged, org_es_model.OrgIAMPolicyChanged: - err = i.SetData(event) - } - return err -} - -func (r *OrgIAMPolicyView) setRootData(event *models.Event) { - r.AggregateID = event.AggregateID -} - -func (r *OrgIAMPolicyView) SetData(event *models.Event) error { - if err := json.Unmarshal(event.Data, r); err != nil { - logging.Log("EVEN-Dmi9g").WithError(err).Error("could not unmarshal event data") - return caos_errs.ThrowInternal(err, "MODEL-Hs8uf", "Could not unmarshal data") - } - return nil -} diff --git a/internal/notification/repository/eventsourcing/handler/notify_user.go b/internal/notification/repository/eventsourcing/handler/notify_user.go index ad4727c3df..cc60707911 100644 --- a/internal/notification/repository/eventsourcing/handler/notify_user.go +++ b/internal/notification/repository/eventsourcing/handler/notify_user.go @@ -10,6 +10,7 @@ import ( es_sdk "github.com/caos/zitadel/internal/eventstore/v1/sdk" org_view "github.com/caos/zitadel/internal/org/repository/view" query2 "github.com/caos/zitadel/internal/query" + "github.com/caos/zitadel/internal/repository/org" es_models "github.com/caos/zitadel/internal/eventstore/v1/models" "github.com/caos/zitadel/internal/eventstore/v1/query" @@ -151,9 +152,9 @@ func (u *NotifyUser) ProcessOrg(event *es_models.Event) (err error) { switch event.Type { case org_es_model.OrgDomainVerified, org_es_model.OrgDomainRemoved, - org_es_model.OrgIAMPolicyAdded, - org_es_model.OrgIAMPolicyChanged, - org_es_model.OrgIAMPolicyRemoved: + es_models.EventType(org.OrgDomainPolicyAddedEventType), + es_models.EventType(org.OrgDomainPolicyChangedEventType), + es_models.EventType(org.OrgDomainPolicyRemovedEventType): return u.fillLoginNamesOnOrgUsers(event) case org_es_model.OrgDomainPrimarySet: return u.fillPreferredLoginNamesOnOrgUsers(event) @@ -249,8 +250,8 @@ func (u *NotifyUser) loginNameInformation(ctx context.Context, orgID string) (us if err != nil { return false, "", nil, err } - if org.OrgIamPolicy == nil { - policy, err := u.queries.DefaultOrgIAMPolicy(ctx) + if org.DomainPolicy == nil { + policy, err := u.queries.DefaultDomainPolicy(ctx) if err != nil { return false, "", nil, err } diff --git a/internal/org/model/org.go b/internal/org/model/org.go index 1768662052..0e17e7be16 100644 --- a/internal/org/model/org.go +++ b/internal/org/model/org.go @@ -17,7 +17,7 @@ type Org struct { Domains []*OrgDomain Members []*OrgMember - OrgIamPolicy *iam_model.OrgIAMPolicy + DomainPolicy *iam_model.DomainPolicy LoginPolicy *iam_model.LoginPolicy LabelPolicy *iam_model.LabelPolicy MailTemplate *iam_model.MailTemplate diff --git a/internal/org/repository/eventsourcing/model/domain_policy.go b/internal/org/repository/eventsourcing/model/domain_policy.go new file mode 100644 index 0000000000..c7f560674d --- /dev/null +++ b/internal/org/repository/eventsourcing/model/domain_policy.go @@ -0,0 +1,24 @@ +package model + +import ( + es_models "github.com/caos/zitadel/internal/eventstore/v1/models" + iam_es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" +) + +func (o *Org) appendAddDomainPolicyEvent(event *es_models.Event) error { + o.DomainPolicy = new(iam_es_model.DomainPolicy) + err := o.DomainPolicy.SetData(event) + if err != nil { + return err + } + o.DomainPolicy.ObjectRoot.CreationDate = event.CreationDate + return nil +} + +func (o *Org) appendChangeDomainPolicyEvent(event *es_models.Event) error { + return o.DomainPolicy.SetData(event) +} + +func (o *Org) appendRemoveDomainPolicyEvent() { + o.DomainPolicy = nil +} diff --git a/internal/org/repository/eventsourcing/model/org.go b/internal/org/repository/eventsourcing/model/org.go index 222ef035f9..d2ea730299 100644 --- a/internal/org/repository/eventsourcing/model/org.go +++ b/internal/org/repository/eventsourcing/model/org.go @@ -23,7 +23,7 @@ type Org struct { Domains []*OrgDomain `json:"-"` Members []*OrgMember `json:"-"` - OrgIAMPolicy *iam_es_model.OrgIAMPolicy `json:"-"` + DomainPolicy *iam_es_model.DomainPolicy `json:"-"` LabelPolicy *iam_es_model.LabelPolicy `json:"-"` MailTemplate *iam_es_model.MailTemplate `json:"-"` IDPs []*iam_es_model.IDPConfig `json:"-"` @@ -42,8 +42,8 @@ func OrgToModel(org *Org) *org_model.Org { Members: OrgMembersToModel(org.Members), IDPs: iam_es_model.IDPConfigsToModel(org.IDPs), } - if org.OrgIAMPolicy != nil { - converted.OrgIamPolicy = iam_es_model.OrgIAMPolicyToModel(org.OrgIAMPolicy) + if org.DomainPolicy != nil { + converted.DomainPolicy = iam_es_model.DomainPolicyToModel(org.DomainPolicy) } if org.LoginPolicy != nil { converted.LoginPolicy = iam_es_model.LoginPolicyToModel(org.LoginPolicy) @@ -134,12 +134,12 @@ func (o *Org) AppendEvent(event *es_models.Event) (err error) { err = o.appendPrimaryDomainEvent(event) case OrgDomainRemoved: err = o.appendRemoveDomainEvent(event) - case OrgIAMPolicyAdded: - err = o.appendAddOrgIAMPolicyEvent(event) - case OrgIAMPolicyChanged: - err = o.appendChangeOrgIAMPolicyEvent(event) - case OrgIAMPolicyRemoved: - o.appendRemoveOrgIAMPolicyEvent() + case DomainPolicyAdded: + err = o.appendAddDomainPolicyEvent(event) + case DomainPolicyChanged: + err = o.appendChangeDomainPolicyEvent(event) + case DomainPolicyRemoved: + o.appendRemoveDomainPolicyEvent() case IDPConfigAdded: err = o.appendAddIDPConfigEvent(event) case IDPConfigChanged: diff --git a/internal/org/repository/eventsourcing/model/org_iam_policy.go b/internal/org/repository/eventsourcing/model/org_iam_policy.go deleted file mode 100644 index 40c9d3acc9..0000000000 --- a/internal/org/repository/eventsourcing/model/org_iam_policy.go +++ /dev/null @@ -1,24 +0,0 @@ -package model - -import ( - es_models "github.com/caos/zitadel/internal/eventstore/v1/models" - iam_es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model" -) - -func (o *Org) appendAddOrgIAMPolicyEvent(event *es_models.Event) error { - o.OrgIAMPolicy = new(iam_es_model.OrgIAMPolicy) - err := o.OrgIAMPolicy.SetData(event) - if err != nil { - return err - } - o.OrgIAMPolicy.ObjectRoot.CreationDate = event.CreationDate - return nil -} - -func (o *Org) appendChangeOrgIAMPolicyEvent(event *es_models.Event) error { - return o.OrgIAMPolicy.SetData(event) -} - -func (o *Org) appendRemoveOrgIAMPolicyEvent() { - o.OrgIAMPolicy = nil -} diff --git a/internal/org/repository/eventsourcing/model/types.go b/internal/org/repository/eventsourcing/model/types.go index e0e4fc4c4b..060b253e0f 100644 --- a/internal/org/repository/eventsourcing/model/types.go +++ b/internal/org/repository/eventsourcing/model/types.go @@ -30,9 +30,9 @@ const ( OrgMemberRemoved models.EventType = "org.member.removed" OrgMemberCascadeRemoved models.EventType = "org.member.cascade.removed" - OrgIAMPolicyAdded models.EventType = "org.iam.policy.added" - OrgIAMPolicyChanged models.EventType = "org.iam.policy.changed" - OrgIAMPolicyRemoved models.EventType = "org.iam.policy.removed" + DomainPolicyAdded models.EventType = "org.policy.domain.added" + DomainPolicyChanged models.EventType = "org.policy.domain.changed" + DomainPolicyRemoved models.EventType = "org.policy.domain.removed" IDPConfigAdded models.EventType = "org.idp.config.added" IDPConfigChanged models.EventType = "org.idp.config.changed" diff --git a/internal/query/iam.go b/internal/query/iam.go deleted file mode 100644 index 3a79ca0b93..0000000000 --- a/internal/query/iam.go +++ /dev/null @@ -1,136 +0,0 @@ -package query - -import ( - "context" - "database/sql" - errs "errors" - "time" - - sq "github.com/Masterminds/squirrel" - "golang.org/x/text/language" - - "github.com/caos/zitadel/internal/api/authz" - "github.com/caos/zitadel/internal/domain" - "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/query/projection" -) - -var ( - iamTable = table{ - name: projection.IAMProjectionTable, - } - IAMColumnID = Column{ - name: projection.IAMColumnID, - table: iamTable, - } - IAMColumnChangeDate = Column{ - name: projection.IAMColumnChangeDate, - table: iamTable, - } - IAMColumnSequence = Column{ - name: projection.IAMColumnSequence, - table: iamTable, - } - IAMColumnGlobalOrgID = Column{ - name: projection.IAMColumnGlobalOrgID, - table: iamTable, - } - IAMColumnProjectID = Column{ - name: projection.IAMColumnProjectID, - table: iamTable, - } - IAMColumnSetupStarted = Column{ - name: projection.IAMColumnSetUpStarted, - table: iamTable, - } - IAMColumnSetupDone = Column{ - name: projection.IAMColumnSetUpDone, - table: iamTable, - } - IAMColumnDefaultLanguage = Column{ - name: projection.IAMColumnDefaultLanguage, - table: iamTable, - } -) - -type IAM struct { - ID string - ChangeDate time.Time - Sequence uint64 - - GlobalOrgID string - IAMProjectID string - DefaultLanguage language.Tag - SetupStarted domain.Step - SetupDone domain.Step -} - -type IAMSearchQueries struct { - SearchRequest - Queries []SearchQuery -} - -func (q *IAMSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuilder { - query = q.SearchRequest.toQuery(query) - for _, q := range q.Queries { - query = q.toQuery(query) - } - return query -} - -func (q *Queries) IAM(ctx context.Context) (*IAM, error) { - stmt, scan := prepareIAMQuery() - query, args, err := stmt.Where(sq.Eq{ - IAMColumnID.identifier(): authz.GetInstance(ctx).ID, - }).ToSql() - if err != nil { - return nil, errors.ThrowInternal(err, "QUERY-d9ngs", "Errors.Query.SQLStatement") - } - - row := q.client.QueryRowContext(ctx, query, args...) - return scan(row) -} - -func (q *Queries) GetDefaultLanguage(ctx context.Context) language.Tag { - iam, err := q.IAM(ctx) - if err != nil { - return language.Und - } - return iam.DefaultLanguage -} - -func prepareIAMQuery() (sq.SelectBuilder, func(*sql.Row) (*IAM, error)) { - return sq.Select( - IAMColumnID.identifier(), - IAMColumnChangeDate.identifier(), - IAMColumnSequence.identifier(), - IAMColumnGlobalOrgID.identifier(), - IAMColumnProjectID.identifier(), - IAMColumnSetupStarted.identifier(), - IAMColumnSetupDone.identifier(), - IAMColumnDefaultLanguage.identifier(), - ). - From(iamTable.identifier()).PlaceholderFormat(sq.Dollar), - func(row *sql.Row) (*IAM, error) { - iam := new(IAM) - lang := "" - err := row.Scan( - &iam.ID, - &iam.ChangeDate, - &iam.Sequence, - &iam.GlobalOrgID, - &iam.IAMProjectID, - &iam.SetupStarted, - &iam.SetupDone, - &lang, - ) - if err != nil { - if errs.Is(err, sql.ErrNoRows) { - return nil, errors.ThrowNotFound(err, "QUERY-n0wng", "Errors.IAM.NotFound") - } - return nil, errors.ThrowInternal(err, "QUERY-d9nw", "Errors.Internal") - } - iam.DefaultLanguage = language.Make(lang) - return iam, nil - } -} diff --git a/internal/query/iam_member.go b/internal/query/iam_member.go index e41e507021..6ac7733c72 100644 --- a/internal/query/iam_member.go +++ b/internal/query/iam_member.go @@ -14,41 +14,41 @@ import ( ) var ( - iamMemberTable = table{ - name: projection.IAMMemberProjectionTable, + instanceMemberTable = table{ + name: projection.InstanceMemberProjectionTable, alias: "members", } - IAMMemberUserID = Column{ + InstanceMemberUserID = Column{ name: projection.MemberUserIDCol, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberRoles = Column{ + InstanceMemberRoles = Column{ name: projection.MemberRolesCol, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberCreationDate = Column{ + InstanceMemberCreationDate = Column{ name: projection.MemberCreationDate, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberChangeDate = Column{ + InstanceMemberChangeDate = Column{ name: projection.MemberChangeDate, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberSequence = Column{ + InstanceMemberSequence = Column{ name: projection.MemberSequence, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberResourceOwner = Column{ + InstanceMemberResourceOwner = Column{ name: projection.MemberResourceOwner, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberInstanceID = Column{ + InstanceMemberInstanceID = Column{ name: projection.MemberInstanceID, - table: iamMemberTable, + table: instanceMemberTable, } - IAMMemberIAMID = Column{ - name: projection.IAMMemberIAMIDCol, - table: iamMemberTable, + InstanceMemberIAMID = Column{ + name: projection.InstanceMemberIAMIDCol, + table: instanceMemberTable, } ) @@ -62,16 +62,16 @@ func (q *IAMMembersQuery) toQuery(query sq.SelectBuilder) sq.SelectBuilder { } func (q *Queries) IAMMembers(ctx context.Context, queries *IAMMembersQuery) (*Members, error) { - query, scan := prepareIAMMembersQuery() + query, scan := prepareInstanceMembersQuery() stmt, args, err := queries.toQuery(query). Where(sq.Eq{ - IAMMemberInstanceID.identifier(): authz.GetInstance(ctx).ID, + InstanceMemberInstanceID.identifier(): authz.GetInstance(ctx).ID, }).ToSql() if err != nil { return nil, errors.ThrowInvalidArgument(err, "QUERY-USNwM", "Errors.Query.InvalidRequest") } - currentSequence, err := q.latestSequence(ctx, iamMemberTable) + currentSequence, err := q.latestSequence(ctx, instanceMemberTable) if err != nil { return nil, err } @@ -88,14 +88,14 @@ func (q *Queries) IAMMembers(ctx context.Context, queries *IAMMembersQuery) (*Me return members, err } -func prepareIAMMembersQuery() (sq.SelectBuilder, func(*sql.Rows) (*Members, error)) { +func prepareInstanceMembersQuery() (sq.SelectBuilder, func(*sql.Rows) (*Members, error)) { return sq.Select( - IAMMemberCreationDate.identifier(), - IAMMemberChangeDate.identifier(), - IAMMemberSequence.identifier(), - IAMMemberResourceOwner.identifier(), - IAMMemberUserID.identifier(), - IAMMemberRoles.identifier(), + InstanceMemberCreationDate.identifier(), + InstanceMemberChangeDate.identifier(), + InstanceMemberSequence.identifier(), + InstanceMemberResourceOwner.identifier(), + InstanceMemberUserID.identifier(), + InstanceMemberRoles.identifier(), LoginNameNameCol.identifier(), HumanEmailCol.identifier(), HumanFirstNameCol.identifier(), @@ -104,10 +104,10 @@ func prepareIAMMembersQuery() (sq.SelectBuilder, func(*sql.Rows) (*Members, erro MachineNameCol.identifier(), HumanAvatarURLCol.identifier(), countColumn.identifier(), - ).From(iamMemberTable.identifier()). - LeftJoin(join(HumanUserIDCol, IAMMemberUserID)). - LeftJoin(join(MachineUserIDCol, IAMMemberUserID)). - LeftJoin(join(LoginNameUserIDCol, IAMMemberUserID)). + ).From(instanceMemberTable.identifier()). + LeftJoin(join(HumanUserIDCol, InstanceMemberUserID)). + LeftJoin(join(MachineUserIDCol, InstanceMemberUserID)). + LeftJoin(join(LoginNameUserIDCol, InstanceMemberUserID)). Where( sq.Eq{LoginNameIsPrimaryCol.identifier(): true}, ).PlaceholderFormat(sq.Dollar), diff --git a/internal/query/iam_member_test.go b/internal/query/iam_member_test.go index 1c6bab908a..0d740e5846 100644 --- a/internal/query/iam_member_test.go +++ b/internal/query/iam_member_test.go @@ -12,7 +12,7 @@ import ( ) var ( - iamMembersQuery = regexp.QuoteMeta("SELECT" + + instanceMembersQuery = regexp.QuoteMeta("SELECT" + " members.creation_date" + ", members.change_date" + ", members.sequence" + @@ -27,7 +27,7 @@ var ( ", projections.users_machines.name" + ", projections.users_humans.avatar_key" + ", COUNT(*) OVER () " + - "FROM projections.iam_members as members " + + "FROM projections.instance_members as members " + "LEFT JOIN projections.users_humans " + "ON members.user_id = projections.users_humans.user_id " + "LEFT JOIN projections.users_machines " + @@ -35,7 +35,7 @@ var ( "LEFT JOIN projections.login_names " + "ON members.user_id = projections.login_names.user_id " + "WHERE projections.login_names.is_primary = $1") - iamMembersColumns = []string{ + instanceMembersColumns = []string{ "creation_date", "change_date", "sequence", @@ -65,11 +65,11 @@ func Test_IAMMemberPrepares(t *testing.T) { object interface{} }{ { - name: "prepareIAMMembersQuery no result", - prepare: prepareIAMMembersQuery, + name: "prepareInstanceMembersQuery no result", + prepare: prepareInstanceMembersQuery, want: want{ sqlExpectations: mockQueries( - iamMembersQuery, + instanceMembersQuery, nil, nil, ), @@ -79,12 +79,12 @@ func Test_IAMMemberPrepares(t *testing.T) { }, }, { - name: "prepareIAMMembersQuery human found", - prepare: prepareIAMMembersQuery, + name: "prepareInstanceMembersQuery human found", + prepare: prepareInstanceMembersQuery, want: want{ sqlExpectations: mockQueries( - iamMembersQuery, - iamMembersColumns, + instanceMembersQuery, + instanceMembersColumns, [][]driver.Value{ { testNow, @@ -127,12 +127,12 @@ func Test_IAMMemberPrepares(t *testing.T) { }, }, { - name: "prepareIAMMembersQuery machine found", - prepare: prepareIAMMembersQuery, + name: "prepareInstanceMembersQuery machine found", + prepare: prepareInstanceMembersQuery, want: want{ sqlExpectations: mockQueries( - iamMembersQuery, - iamMembersColumns, + instanceMembersQuery, + instanceMembersColumns, [][]driver.Value{ { testNow, @@ -176,11 +176,11 @@ func Test_IAMMemberPrepares(t *testing.T) { }, { name: "prepareIAMMembersQuery multiple users", - prepare: prepareIAMMembersQuery, + prepare: prepareInstanceMembersQuery, want: want{ sqlExpectations: mockQueries( - iamMembersQuery, - iamMembersColumns, + instanceMembersQuery, + instanceMembersColumns, [][]driver.Value{ { testNow, @@ -253,10 +253,10 @@ func Test_IAMMemberPrepares(t *testing.T) { }, { name: "prepareIAMMembersQuery sql err", - prepare: prepareIAMMembersQuery, + prepare: prepareInstanceMembersQuery, want: want{ sqlExpectations: mockQueryErr( - iamMembersQuery, + instanceMembersQuery, sql.ErrConnDone, ), err: func(err error) (error, bool) { diff --git a/internal/query/instance.go b/internal/query/instance.go new file mode 100644 index 0000000000..625c5aa1a6 --- /dev/null +++ b/internal/query/instance.go @@ -0,0 +1,136 @@ +package query + +import ( + "context" + "database/sql" + errs "errors" + "time" + + sq "github.com/Masterminds/squirrel" + "golang.org/x/text/language" + + "github.com/caos/zitadel/internal/api/authz" + "github.com/caos/zitadel/internal/domain" + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/query/projection" +) + +var ( + instanceTable = table{ + name: projection.InstanceProjectionTable, + } + InstanceColumnID = Column{ + name: projection.InstanceColumnID, + table: instanceTable, + } + InstanceColumnChangeDate = Column{ + name: projection.InstanceColumnChangeDate, + table: instanceTable, + } + InstanceColumnSequence = Column{ + name: projection.InstanceColumnSequence, + table: instanceTable, + } + InstanceColumnGlobalOrgID = Column{ + name: projection.InstanceColumnGlobalOrgID, + table: instanceTable, + } + InstanceColumnProjectID = Column{ + name: projection.InstanceColumnProjectID, + table: instanceTable, + } + InstanceColumnSetupStarted = Column{ + name: projection.InstanceColumnSetUpStarted, + table: instanceTable, + } + InstanceColumnSetupDone = Column{ + name: projection.InstanceColumnSetUpDone, + table: instanceTable, + } + InstanceColumnDefaultLanguage = Column{ + name: projection.InstanceColumnDefaultLanguage, + table: instanceTable, + } +) + +type Instance struct { + ID string + ChangeDate time.Time + Sequence uint64 + + GlobalOrgID string + IAMProjectID string + DefaultLanguage language.Tag + SetupStarted domain.Step + SetupDone domain.Step +} + +type InstanceSearchQueries struct { + SearchRequest + Queries []SearchQuery +} + +func (q *InstanceSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuilder { + query = q.SearchRequest.toQuery(query) + for _, q := range q.Queries { + query = q.toQuery(query) + } + return query +} + +func (q *Queries) Instance(ctx context.Context) (*Instance, error) { + stmt, scan := prepareIAMQuery() + query, args, err := stmt.Where(sq.Eq{ + InstanceColumnID.identifier(): authz.GetInstance(ctx).ID, + }).ToSql() + if err != nil { + return nil, errors.ThrowInternal(err, "QUERY-d9ngs", "Errors.Query.SQLStatement") + } + + row := q.client.QueryRowContext(ctx, query, args...) + return scan(row) +} + +func (q *Queries) GetDefaultLanguage(ctx context.Context) language.Tag { + iam, err := q.Instance(ctx) + if err != nil { + return language.Und + } + return iam.DefaultLanguage +} + +func prepareIAMQuery() (sq.SelectBuilder, func(*sql.Row) (*Instance, error)) { + return sq.Select( + InstanceColumnID.identifier(), + InstanceColumnChangeDate.identifier(), + InstanceColumnSequence.identifier(), + InstanceColumnGlobalOrgID.identifier(), + InstanceColumnProjectID.identifier(), + InstanceColumnSetupStarted.identifier(), + InstanceColumnSetupDone.identifier(), + InstanceColumnDefaultLanguage.identifier(), + ). + From(instanceTable.identifier()).PlaceholderFormat(sq.Dollar), + func(row *sql.Row) (*Instance, error) { + iam := new(Instance) + lang := "" + err := row.Scan( + &iam.ID, + &iam.ChangeDate, + &iam.Sequence, + &iam.GlobalOrgID, + &iam.IAMProjectID, + &iam.SetupStarted, + &iam.SetupDone, + &lang, + ) + if err != nil { + if errs.Is(err, sql.ErrNoRows) { + return nil, errors.ThrowNotFound(err, "QUERY-n0wng", "Errors.IAM.NotFound") + } + return nil, errors.ThrowInternal(err, "QUERY-d9nw", "Errors.Internal") + } + iam.DefaultLanguage = language.Make(lang) + return iam, nil + } +} diff --git a/internal/query/iam_test.go b/internal/query/instance_test.go similarity index 57% rename from internal/query/iam_test.go rename to internal/query/instance_test.go index 596d0df932..79f25cd09a 100644 --- a/internal/query/iam_test.go +++ b/internal/query/instance_test.go @@ -14,7 +14,7 @@ import ( errs "github.com/caos/zitadel/internal/errors" ) -func Test_IAMPrepares(t *testing.T) { +func Test_InstancePrepares(t *testing.T) { type want struct { sqlExpectations sqlExpectation err checkErr @@ -26,19 +26,19 @@ func Test_IAMPrepares(t *testing.T) { object interface{} }{ { - name: "prepareIAMQuery no result", + name: "prepareInstanceQuery no result", prepare: prepareIAMQuery, want: want{ sqlExpectations: mockQueries( - regexp.QuoteMeta(`SELECT projections.iam.id,`+ - ` projections.iam.change_date,`+ - ` projections.iam.sequence,`+ - ` projections.iam.global_org_id,`+ - ` projections.iam.iam_project_id,`+ - ` projections.iam.setup_started,`+ - ` projections.iam.setup_done,`+ - ` projections.iam.default_language`+ - ` FROM projections.iam`), + regexp.QuoteMeta(`SELECT projections.instance.id,`+ + ` projections.instance.change_date,`+ + ` projections.instance.sequence,`+ + ` projections.instance.global_org_id,`+ + ` projections.instance.iam_project_id,`+ + ` projections.instance.setup_started,`+ + ` projections.instance.setup_done,`+ + ` projections.instance.default_language`+ + ` FROM projections.instance`), nil, nil, ), @@ -49,22 +49,22 @@ func Test_IAMPrepares(t *testing.T) { return nil, true }, }, - object: (*IAM)(nil), + object: (*Instance)(nil), }, { - name: "prepareIAMQuery found", + name: "prepareInstanceQuery found", prepare: prepareIAMQuery, want: want{ sqlExpectations: mockQuery( - regexp.QuoteMeta(`SELECT projections.iam.id,`+ - ` projections.iam.change_date,`+ - ` projections.iam.sequence,`+ - ` projections.iam.global_org_id,`+ - ` projections.iam.iam_project_id,`+ - ` projections.iam.setup_started,`+ - ` projections.iam.setup_done,`+ - ` projections.iam.default_language`+ - ` FROM projections.iam`), + regexp.QuoteMeta(`SELECT projections.instance.id,`+ + ` projections.instance.change_date,`+ + ` projections.instance.sequence,`+ + ` projections.instance.global_org_id,`+ + ` projections.instance.iam_project_id,`+ + ` projections.instance.setup_started,`+ + ` projections.instance.setup_done,`+ + ` projections.instance.default_language`+ + ` FROM projections.instance`), []string{ "id", "change_date", @@ -87,7 +87,7 @@ func Test_IAMPrepares(t *testing.T) { }, ), }, - object: &IAM{ + object: &Instance{ ID: "id", ChangeDate: testNow, Sequence: 20211108, @@ -99,19 +99,19 @@ func Test_IAMPrepares(t *testing.T) { }, }, { - name: "prepareIAMQuery sql err", + name: "prepareInstanceQuery sql err", prepare: prepareIAMQuery, want: want{ sqlExpectations: mockQueryErr( - regexp.QuoteMeta(`SELECT projections.iam.id,`+ - ` projections.iam.change_date,`+ - ` projections.iam.sequence,`+ - ` projections.iam.global_org_id,`+ - ` projections.iam.iam_project_id,`+ - ` projections.iam.setup_started,`+ - ` projections.iam.setup_done,`+ - ` projections.iam.default_language`+ - ` FROM projections.iam`), + regexp.QuoteMeta(`SELECT projections.instance.id,`+ + ` projections.instance.change_date,`+ + ` projections.instance.sequence,`+ + ` projections.instance.global_org_id,`+ + ` projections.instance.iam_project_id,`+ + ` projections.instance.setup_started,`+ + ` projections.instance.setup_done,`+ + ` projections.instance.default_language`+ + ` FROM projections.instance`), sql.ErrConnDone, ), err: func(err error) (error, bool) { diff --git a/internal/query/member_roles.go b/internal/query/member_roles.go index 105e79952c..f1145a5dda 100644 --- a/internal/query/member_roles.go +++ b/internal/query/member_roles.go @@ -32,7 +32,7 @@ func (q *Queries) GetOrgMemberRoles(isGlobal bool) []string { } func (q *Queries) GetProjectMemberRoles(ctx context.Context) ([]string, error) { - iam, err := q.IAM(ctx) + iam, err := q.Instance(ctx) if err != nil { return nil, err } diff --git a/internal/query/org_iam_policy.go b/internal/query/org_iam_policy.go index 5d25f09da9..4034b6a4ca 100644 --- a/internal/query/org_iam_policy.go +++ b/internal/query/org_iam_policy.go @@ -15,7 +15,7 @@ import ( "github.com/caos/zitadel/internal/query/projection" ) -type OrgIAMPolicy struct { +type DomainPolicy struct { ID string Sequence uint64 CreationDate time.Time @@ -29,64 +29,64 @@ type OrgIAMPolicy struct { } var ( - orgIAMTable = table{ - name: projection.OrgIAMPolicyTable, + domainPolicyTable = table{ + name: projection.DomainPolicyTable, } - OrgIAMColID = Column{ - name: projection.OrgIAMPolicyIDCol, - table: orgIAMTable, + DomainPolicyColID = Column{ + name: projection.DomainPolicyIDCol, + table: domainPolicyTable, } - OrgIAMColSequence = Column{ - name: projection.OrgIAMPolicySequenceCol, - table: orgIAMTable, + DomainPolicyColSequence = Column{ + name: projection.DomainPolicySequenceCol, + table: domainPolicyTable, } - OrgIAMColCreationDate = Column{ - name: projection.OrgIAMPolicyCreationDateCol, - table: orgIAMTable, + DomainPolicyColCreationDate = Column{ + name: projection.DomainPolicyCreationDateCol, + table: domainPolicyTable, } - OrgIAMColChangeDate = Column{ - name: projection.OrgIAMPolicyChangeDateCol, - table: orgIAMTable, + DomainPolicyColChangeDate = Column{ + name: projection.DomainPolicyChangeDateCol, + table: domainPolicyTable, } - OrgIAMColResourceOwner = Column{ - name: projection.OrgIAMPolicyResourceOwnerCol, - table: orgIAMTable, + DomainPolicyColResourceOwner = Column{ + name: projection.DomainPolicyResourceOwnerCol, + table: domainPolicyTable, } - OrgIAMColInstanceID = Column{ - name: projection.OrgIAMPolicyInstanceIDCol, - table: orgIAMTable, + DomainPolicyColInstanceID = Column{ + name: projection.DomainPolicyInstanceIDCol, + table: domainPolicyTable, } - OrgIAMColUserLoginMustBeDomain = Column{ - name: projection.OrgIAMPolicyUserLoginMustBeDomainCol, - table: orgIAMTable, + DomainPolicyColUserLoginMustBeDomain = Column{ + name: projection.DomainPolicyUserLoginMustBeDomainCol, + table: domainPolicyTable, } - OrgIAMColIsDefault = Column{ - name: projection.OrgIAMPolicyIsDefaultCol, - table: orgIAMTable, + DomainPolicyColIsDefault = Column{ + name: projection.DomainPolicyIsDefaultCol, + table: domainPolicyTable, } - OrgIAMColState = Column{ - name: projection.OrgIAMPolicyStateCol, - table: orgIAMTable, + DomainPolicyColState = Column{ + name: projection.DomainPolicyStateCol, + table: domainPolicyTable, } ) -func (q *Queries) OrgIAMPolicyByOrg(ctx context.Context, orgID string) (*OrgIAMPolicy, error) { - stmt, scan := prepareOrgIAMPolicyQuery() +func (q *Queries) DomainPolicyByOrg(ctx context.Context, orgID string) (*DomainPolicy, error) { + stmt, scan := prepareDomainPolicyQuery() query, args, err := stmt.Where( sq.And{ sq.Eq{ - OrgIAMColInstanceID.identifier(): authz.GetInstance(ctx).ID, + DomainPolicyColInstanceID.identifier(): authz.GetInstance(ctx).ID, }, sq.Or{ sq.Eq{ - OrgIAMColID.identifier(): orgID, + DomainPolicyColID.identifier(): orgID, }, sq.Eq{ - OrgIAMColID.identifier(): domain.IAMID, + DomainPolicyColID.identifier(): domain.IAMID, }, }, }). - OrderBy(OrgIAMColIsDefault.identifier()). + OrderBy(DomainPolicyColIsDefault.identifier()). Limit(1).ToSql() if err != nil { return nil, errors.ThrowInternal(err, "QUERY-D3CqT", "Errors.Query.SQLStatement") @@ -96,13 +96,13 @@ func (q *Queries) OrgIAMPolicyByOrg(ctx context.Context, orgID string) (*OrgIAMP return scan(row) } -func (q *Queries) DefaultOrgIAMPolicy(ctx context.Context) (*OrgIAMPolicy, error) { - stmt, scan := prepareOrgIAMPolicyQuery() +func (q *Queries) DefaultDomainPolicy(ctx context.Context) (*DomainPolicy, error) { + stmt, scan := prepareDomainPolicyQuery() query, args, err := stmt.Where(sq.Eq{ - OrgIAMColID.identifier(): domain.IAMID, - OrgIAMColInstanceID.identifier(): authz.GetInstance(ctx).ID, + DomainPolicyColID.identifier(): domain.IAMID, + DomainPolicyColInstanceID.identifier(): authz.GetInstance(ctx).ID, }). - OrderBy(OrgIAMColIsDefault.identifier()). + OrderBy(DomainPolicyColIsDefault.identifier()). Limit(1).ToSql() if err != nil { return nil, errors.ThrowInternal(err, "QUERY-pM7lP", "Errors.Query.SQLStatement") @@ -112,20 +112,20 @@ func (q *Queries) DefaultOrgIAMPolicy(ctx context.Context) (*OrgIAMPolicy, error return scan(row) } -func prepareOrgIAMPolicyQuery() (sq.SelectBuilder, func(*sql.Row) (*OrgIAMPolicy, error)) { +func prepareDomainPolicyQuery() (sq.SelectBuilder, func(*sql.Row) (*DomainPolicy, error)) { return sq.Select( - OrgIAMColID.identifier(), - OrgIAMColSequence.identifier(), - OrgIAMColCreationDate.identifier(), - OrgIAMColChangeDate.identifier(), - OrgIAMColResourceOwner.identifier(), - OrgIAMColUserLoginMustBeDomain.identifier(), - OrgIAMColIsDefault.identifier(), - OrgIAMColState.identifier(), + DomainPolicyColID.identifier(), + DomainPolicyColSequence.identifier(), + DomainPolicyColCreationDate.identifier(), + DomainPolicyColChangeDate.identifier(), + DomainPolicyColResourceOwner.identifier(), + DomainPolicyColUserLoginMustBeDomain.identifier(), + DomainPolicyColIsDefault.identifier(), + DomainPolicyColState.identifier(), ). - From(orgIAMTable.identifier()).PlaceholderFormat(sq.Dollar), - func(row *sql.Row) (*OrgIAMPolicy, error) { - policy := new(OrgIAMPolicy) + From(domainPolicyTable.identifier()).PlaceholderFormat(sq.Dollar), + func(row *sql.Row) (*DomainPolicy, error) { + policy := new(DomainPolicy) err := row.Scan( &policy.ID, &policy.Sequence, @@ -138,7 +138,7 @@ func prepareOrgIAMPolicyQuery() (sq.SelectBuilder, func(*sql.Row) (*OrgIAMPolicy ) if err != nil { if errs.Is(err, sql.ErrNoRows) { - return nil, errors.ThrowNotFound(err, "QUERY-K0Jr5", "Errors.OrgIAMPolicy.NotFound") + return nil, errors.ThrowNotFound(err, "QUERY-K0Jr5", "Errors.DomainPolicy.NotFound") } return nil, errors.ThrowInternal(err, "QUERY-rIy6j", "Errors.Internal") } diff --git a/internal/query/org_iam_policy_test.go b/internal/query/org_iam_policy_test.go index e7c8ffbecb..2c89746d79 100644 --- a/internal/query/org_iam_policy_test.go +++ b/internal/query/org_iam_policy_test.go @@ -12,7 +12,7 @@ import ( errs "github.com/caos/zitadel/internal/errors" ) -func Test_OrgIAMPolicyPrepares(t *testing.T) { +func Test_DomainPolicyPrepares(t *testing.T) { type want struct { sqlExpectations sqlExpectation err checkErr @@ -24,19 +24,19 @@ func Test_OrgIAMPolicyPrepares(t *testing.T) { object interface{} }{ { - name: "prepareOrgIAMPolicyQuery no result", - prepare: prepareOrgIAMPolicyQuery, + name: "prepareDomainPolicyQuery no result", + prepare: prepareDomainPolicyQuery, want: want{ sqlExpectations: mockQueries( - regexp.QuoteMeta(`SELECT projections.org_iam_policies.id,`+ - ` projections.org_iam_policies.sequence,`+ - ` projections.org_iam_policies.creation_date,`+ - ` projections.org_iam_policies.change_date,`+ - ` projections.org_iam_policies.resource_owner,`+ - ` projections.org_iam_policies.user_login_must_be_domain,`+ - ` projections.org_iam_policies.is_default,`+ - ` projections.org_iam_policies.state`+ - ` FROM projections.org_iam_policies`), + regexp.QuoteMeta(`SELECT projections.domain_policies.id,`+ + ` projections.domain_policies.sequence,`+ + ` projections.domain_policies.creation_date,`+ + ` projections.domain_policies.change_date,`+ + ` projections.domain_policies.resource_owner,`+ + ` projections.domain_policies.user_login_must_be_domain,`+ + ` projections.domain_policies.is_default,`+ + ` projections.domain_policies.state`+ + ` FROM projections.domain_policies`), nil, nil, ), @@ -47,22 +47,22 @@ func Test_OrgIAMPolicyPrepares(t *testing.T) { return nil, true }, }, - object: (*OrgIAMPolicy)(nil), + object: (*DomainPolicy)(nil), }, { - name: "prepareOrgIAMPolicyQuery found", - prepare: prepareOrgIAMPolicyQuery, + name: "prepareDomainPolicyQuery found", + prepare: prepareDomainPolicyQuery, want: want{ sqlExpectations: mockQuery( - regexp.QuoteMeta(`SELECT projections.org_iam_policies.id,`+ - ` projections.org_iam_policies.sequence,`+ - ` projections.org_iam_policies.creation_date,`+ - ` projections.org_iam_policies.change_date,`+ - ` projections.org_iam_policies.resource_owner,`+ - ` projections.org_iam_policies.user_login_must_be_domain,`+ - ` projections.org_iam_policies.is_default,`+ - ` projections.org_iam_policies.state`+ - ` FROM projections.org_iam_policies`), + regexp.QuoteMeta(`SELECT projections.domain_policies.id,`+ + ` projections.domain_policies.sequence,`+ + ` projections.domain_policies.creation_date,`+ + ` projections.domain_policies.change_date,`+ + ` projections.domain_policies.resource_owner,`+ + ` projections.domain_policies.user_login_must_be_domain,`+ + ` projections.domain_policies.is_default,`+ + ` projections.domain_policies.state`+ + ` FROM projections.domain_policies`), []string{ "id", "sequence", @@ -85,7 +85,7 @@ func Test_OrgIAMPolicyPrepares(t *testing.T) { }, ), }, - object: &OrgIAMPolicy{ + object: &DomainPolicy{ ID: "pol-id", CreationDate: testNow, ChangeDate: testNow, @@ -97,19 +97,19 @@ func Test_OrgIAMPolicyPrepares(t *testing.T) { }, }, { - name: "prepareOrgIAMPolicyQuery sql err", - prepare: prepareOrgIAMPolicyQuery, + name: "prepareDomainPolicyQuery sql err", + prepare: prepareDomainPolicyQuery, want: want{ sqlExpectations: mockQueryErr( - regexp.QuoteMeta(`SELECT projections.org_iam_policies.id,`+ - ` projections.org_iam_policies.sequence,`+ - ` projections.org_iam_policies.creation_date,`+ - ` projections.org_iam_policies.change_date,`+ - ` projections.org_iam_policies.resource_owner,`+ - ` projections.org_iam_policies.user_login_must_be_domain,`+ - ` projections.org_iam_policies.is_default,`+ - ` projections.org_iam_policies.state`+ - ` FROM projections.org_iam_policies`), + regexp.QuoteMeta(`SELECT projections.domain_policies.id,`+ + ` projections.domain_policies.sequence,`+ + ` projections.domain_policies.creation_date,`+ + ` projections.domain_policies.change_date,`+ + ` projections.domain_policies.resource_owner,`+ + ` projections.domain_policies.user_login_must_be_domain,`+ + ` projections.domain_policies.is_default,`+ + ` projections.domain_policies.state`+ + ` FROM projections.domain_policies`), sql.ErrConnDone, ), err: func(err error) (error, bool) { diff --git a/internal/query/projection/custom_text.go b/internal/query/projection/custom_text.go index 8a1277b663..d7d9bf2c3b 100644 --- a/internal/query/projection/custom_text.go +++ b/internal/query/projection/custom_text.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -75,18 +75,18 @@ func (p *CustomTextProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.CustomTextSetEventType, + Event: instance.CustomTextSetEventType, Reduce: p.reduceSet, }, { - Event: iam.CustomTextRemovedEventType, + Event: instance.CustomTextRemovedEventType, Reduce: p.reduceRemoved, }, { - Event: iam.CustomTextTemplateRemovedEventType, + Event: instance.CustomTextTemplateRemovedEventType, Reduce: p.reduceTemplateRemoved, }, }, @@ -101,11 +101,11 @@ func (p *CustomTextProjection) reduceSet(event eventstore.Event) (*handler.State case *org.CustomTextSetEvent: customTextEvent = e.CustomTextSetEvent isDefault = false - case *iam.CustomTextSetEvent: + case *instance.CustomTextSetEvent: customTextEvent = e.CustomTextSetEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-KKfw4", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextSetEventType, iam.CustomTextSetEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-KKfw4", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextSetEventType, instance.CustomTextSetEventType}) } return crdb.NewUpsertStatement( &customTextEvent, @@ -128,10 +128,10 @@ func (p *CustomTextProjection) reduceRemoved(event eventstore.Event) (*handler.S switch e := event.(type) { case *org.CustomTextRemovedEvent: customTextEvent = e.CustomTextRemovedEvent - case *iam.CustomTextRemovedEvent: + case *instance.CustomTextRemovedEvent: customTextEvent = e.CustomTextRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-n9wJg", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextRemovedEventType, iam.CustomTextRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-n9wJg", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextRemovedEventType, instance.CustomTextRemovedEventType}) } return crdb.NewDeleteStatement( &customTextEvent, @@ -148,10 +148,10 @@ func (p *CustomTextProjection) reduceTemplateRemoved(event eventstore.Event) (*h switch e := event.(type) { case *org.CustomTextTemplateRemovedEvent: customTextEvent = e.CustomTextTemplateRemovedEvent - case *iam.CustomTextTemplateRemovedEvent: + case *instance.CustomTextTemplateRemovedEvent: customTextEvent = e.CustomTextTemplateRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-29iPf", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextTemplateRemovedEventType, iam.CustomTextTemplateRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-29iPf", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextTemplateRemovedEventType, instance.CustomTextTemplateRemovedEventType}) } return crdb.NewDeleteStatement( &customTextEvent, diff --git a/internal/query/projection/custom_text_test.go b/internal/query/projection/custom_text_test.go index dea54347ce..e332c41ac0 100644 --- a/internal/query/projection/custom_text_test.go +++ b/internal/query/projection/custom_text_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -134,18 +134,18 @@ func TestCustomTextProjection_reduces(t *testing.T) { reduce: (&CustomTextProjection{}).reduceSet, args: args{ event: getEvent(testEvent( - repository.EventType(iam.CustomTextSetEventType), - iam.AggregateType, + repository.EventType(instance.CustomTextSetEventType), + instance.AggregateType, []byte(`{ "key": "Text", "language": "en", "template": "InitCode", "text": "Test" }`), - ), iam.CustomTextSetEventMapper), + ), instance.CustomTextSetEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: CustomTextTable, @@ -175,17 +175,17 @@ func TestCustomTextProjection_reduces(t *testing.T) { reduce: (&CustomTextProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.CustomTextTemplateRemovedEventType), - iam.AggregateType, + repository.EventType(instance.CustomTextTemplateRemovedEventType), + instance.AggregateType, []byte(`{ "key": "Text", "language": "en", "template": "InitCode" }`), - ), iam.CustomTextRemovedEventMapper), + ), instance.CustomTextRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: CustomTextTable, @@ -209,17 +209,17 @@ func TestCustomTextProjection_reduces(t *testing.T) { reduce: (&CustomTextProjection{}).reduceTemplateRemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.CustomTextTemplateRemovedEventType), - iam.AggregateType, + repository.EventType(instance.CustomTextTemplateRemovedEventType), + instance.AggregateType, []byte(`{ "key": "Text", "language": "en", "template": "InitCode" }`), - ), iam.CustomTextTemplateRemovedEventMapper), + ), instance.CustomTextTemplateRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: CustomTextTable, diff --git a/internal/query/projection/debug_notification.go b/internal/query/projection/debug_notification.go index 33a42bc2f2..d43acfb9a6 100644 --- a/internal/query/projection/debug_notification.go +++ b/internal/query/projection/debug_notification.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) const ( @@ -57,30 +57,30 @@ func NewDebugNotificationProviderProjection(ctx context.Context, config crdb.Sta func (p *DebugNotificationProviderProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.DebugNotificationProviderFileAddedEventType, + Event: instance.DebugNotificationProviderFileAddedEventType, Reduce: p.reduceDebugNotificationProviderAdded, }, { - Event: iam.DebugNotificationProviderFileChangedEventType, + Event: instance.DebugNotificationProviderFileChangedEventType, Reduce: p.reduceDebugNotificationProviderChanged, }, { - Event: iam.DebugNotificationProviderFileRemovedEventType, + Event: instance.DebugNotificationProviderFileRemovedEventType, Reduce: p.reduceDebugNotificationProviderRemoved, }, { - Event: iam.DebugNotificationProviderLogAddedEventType, + Event: instance.DebugNotificationProviderLogAddedEventType, Reduce: p.reduceDebugNotificationProviderAdded, }, { - Event: iam.DebugNotificationProviderLogChangedEventType, + Event: instance.DebugNotificationProviderLogChangedEventType, Reduce: p.reduceDebugNotificationProviderChanged, }, { - Event: iam.DebugNotificationProviderLogRemovedEventType, + Event: instance.DebugNotificationProviderLogRemovedEventType, Reduce: p.reduceDebugNotificationProviderRemoved, }, }, @@ -92,14 +92,14 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderAdd var providerEvent settings.DebugNotificationProviderAddedEvent var providerType domain.NotificationProviderType switch e := event.(type) { - case *iam.DebugNotificationProviderFileAddedEvent: + case *instance.DebugNotificationProviderFileAddedEvent: providerEvent = e.DebugNotificationProviderAddedEvent providerType = domain.NotificationProviderTypeFile - case *iam.DebugNotificationProviderLogAddedEvent: + case *instance.DebugNotificationProviderLogAddedEvent: providerEvent = e.DebugNotificationProviderAddedEvent providerType = domain.NotificationProviderTypeLog default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{iam.DebugNotificationProviderFileAddedEventType, iam.DebugNotificationProviderLogAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{instance.DebugNotificationProviderFileAddedEventType, instance.DebugNotificationProviderLogAddedEventType}) } return crdb.NewCreateStatement(&providerEvent, []handler.Column{ @@ -119,14 +119,14 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderCha var providerEvent settings.DebugNotificationProviderChangedEvent var providerType domain.NotificationProviderType switch e := event.(type) { - case *iam.DebugNotificationProviderFileChangedEvent: + case *instance.DebugNotificationProviderFileChangedEvent: providerEvent = e.DebugNotificationProviderChangedEvent providerType = domain.NotificationProviderTypeFile - case *iam.DebugNotificationProviderLogChangedEvent: + case *instance.DebugNotificationProviderLogChangedEvent: providerEvent = e.DebugNotificationProviderChangedEvent providerType = domain.NotificationProviderTypeLog default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{iam.DebugNotificationProviderFileChangedEventType, iam.DebugNotificationProviderLogChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{instance.DebugNotificationProviderFileChangedEventType, instance.DebugNotificationProviderLogChangedEventType}) } cols := []handler.Column{ @@ -151,14 +151,14 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderRem var providerEvent settings.DebugNotificationProviderRemovedEvent var providerType domain.NotificationProviderType switch e := event.(type) { - case *iam.DebugNotificationProviderFileRemovedEvent: + case *instance.DebugNotificationProviderFileRemovedEvent: providerEvent = e.DebugNotificationProviderRemovedEvent providerType = domain.NotificationProviderTypeFile - case *iam.DebugNotificationProviderLogRemovedEvent: + case *instance.DebugNotificationProviderLogRemovedEvent: providerEvent = e.DebugNotificationProviderRemovedEvent providerType = domain.NotificationProviderTypeLog default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-dow9f", "reduce.wrong.event.type %v", []eventstore.EventType{iam.DebugNotificationProviderFileRemovedEventType, iam.DebugNotificationProviderLogRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-dow9f", "reduce.wrong.event.type %v", []eventstore.EventType{instance.DebugNotificationProviderFileRemovedEventType, instance.DebugNotificationProviderLogRemovedEventType}) } return crdb.NewDeleteStatement( diff --git a/internal/query/projection/debug_notification_provider_test.go b/internal/query/projection/debug_notification_provider_test.go index b779a37b17..8395d387af 100644 --- a/internal/query/projection/debug_notification_provider_test.go +++ b/internal/query/projection/debug_notification_provider_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestDebugNotificationProviderProjection_reduces(t *testing.T) { @@ -22,19 +22,19 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { want wantReduce }{ { - name: "iam.reduceNotificationProviderFileAdded", + name: "instance.reduceNotificationProviderFileAdded", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderFileAddedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderFileAddedEventType), + instance.AggregateType, []byte(`{ "compact": true }`), - ), iam.DebugNotificationProviderFileAddedEventMapper), + ), instance.DebugNotificationProviderFileAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, @@ -59,19 +59,19 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceNotificationProviderFileChanged", + name: "instance.reduceNotificationProviderFileChanged", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderFileChangedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderFileChangedEventType), + instance.AggregateType, []byte(`{ "compact": true }`), - ), iam.DebugNotificationProviderFileChangedEventMapper), + ), instance.DebugNotificationProviderFileChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, @@ -92,17 +92,17 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceNotificationProviderFileRemoved", + name: "instance.reduceNotificationProviderFileRemoved", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderFileRemovedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderFileRemovedEventType), + instance.AggregateType, nil, - ), iam.DebugNotificationProviderFileRemovedEventMapper), + ), instance.DebugNotificationProviderFileRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, @@ -120,19 +120,19 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceNotificationProviderLogAdded", + name: "instance.reduceNotificationProviderLogAdded", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderLogAddedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderLogAddedEventType), + instance.AggregateType, []byte(`{ "compact": true }`), - ), iam.DebugNotificationProviderLogAddedEventMapper), + ), instance.DebugNotificationProviderLogAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, @@ -157,19 +157,19 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceNotificationProviderLogChanged", + name: "instance.reduceNotificationProviderLogChanged", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderLogChangedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderLogChangedEventType), + instance.AggregateType, []byte(`{ "compact": true }`), - ), iam.DebugNotificationProviderLogChangedEventMapper), + ), instance.DebugNotificationProviderLogChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, @@ -190,17 +190,17 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceNotificationProviderLogRemoved", + name: "instance.reduceNotificationProviderLogRemoved", reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.DebugNotificationProviderLogRemovedEventType), - iam.AggregateType, + repository.EventType(instance.DebugNotificationProviderLogRemovedEventType), + instance.AggregateType, nil, - ), iam.DebugNotificationProviderLogRemovedEventMapper), + ), instance.DebugNotificationProviderLogRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: DebugNotificationProviderTable, diff --git a/internal/query/projection/feature.go b/internal/query/projection/feature.go index a517763441..94de9a8b81 100644 --- a/internal/query/projection/feature.go +++ b/internal/query/projection/feature.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" "github.com/caos/zitadel/internal/repository/features" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -107,10 +107,10 @@ func (p *FeatureProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.FeaturesSetEventType, + Event: instance.FeaturesSetEventType, Reduce: p.reduceFeatureSet, }, }, @@ -122,14 +122,14 @@ func (p *FeatureProjection) reduceFeatureSet(event eventstore.Event) (*handler.S var featureEvent features.FeaturesSetEvent var isDefault bool switch e := event.(type) { - case *iam.FeaturesSetEvent: + case *instance.FeaturesSetEvent: featureEvent = e.FeaturesSetEvent isDefault = true case *org.FeaturesSetEvent: featureEvent = e.FeaturesSetEvent isDefault = false default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-K0erf", "reduce.wrong.event.type %v", []eventstore.EventType{org.FeaturesSetEventType, iam.FeaturesSetEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-K0erf", "reduce.wrong.event.type %v", []eventstore.EventType{org.FeaturesSetEventType, instance.FeaturesSetEventType}) } cols := []handler.Column{ diff --git a/internal/query/projection/feature_test.go b/internal/query/projection/feature_test.go index f0c4c89efa..d3980ae668 100644 --- a/internal/query/projection/feature_test.go +++ b/internal/query/projection/feature_test.go @@ -9,7 +9,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -232,12 +232,12 @@ func TestFeatureProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceFeatureSet old", + name: "instance.reduceFeatureSet old", reduce: (&FeatureProjection{}).reduceFeatureSet, args: args{ event: getEvent(testEvent( - repository.EventType(iam.FeaturesSetEventType), - iam.AggregateType, + repository.EventType(instance.FeaturesSetEventType), + instance.AggregateType, []byte(`{ "tierName": "TierName", "tierDescription": "TierDescription", @@ -261,10 +261,10 @@ func TestFeatureProjection_reduces(t *testing.T) { "lockoutPolicy": true, "actions": true }`), - ), iam.FeaturesSetEventMapper), + ), instance.FeaturesSetEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: FeatureTable, @@ -306,12 +306,12 @@ func TestFeatureProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceFeatureSet new", + name: "instance.reduceFeatureSet new", reduce: (&FeatureProjection{}).reduceFeatureSet, args: args{ event: getEvent(testEvent( - repository.EventType(iam.FeaturesSetEventType), - iam.AggregateType, + repository.EventType(instance.FeaturesSetEventType), + instance.AggregateType, []byte(`{ "tierName": "TierName", "tierDescription": "TierDescription", @@ -336,10 +336,10 @@ func TestFeatureProjection_reduces(t *testing.T) { "actionsAllowed": 1, "maxActions": 10 }`), - ), iam.FeaturesSetEventMapper), + ), instance.FeaturesSetEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: FeatureTable, diff --git a/internal/query/projection/iam.go b/internal/query/projection/iam.go deleted file mode 100644 index dfd0539080..0000000000 --- a/internal/query/projection/iam.go +++ /dev/null @@ -1,149 +0,0 @@ -package projection - -import ( - "context" - - "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/handler" - "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" -) - -const ( - IAMProjectionTable = "projections.iam" - - IAMColumnID = "id" - IAMColumnChangeDate = "change_date" - IAMColumnGlobalOrgID = "global_org_id" - IAMColumnProjectID = "iam_project_id" - IAMColumnSequence = "sequence" - IAMColumnSetUpStarted = "setup_started" - IAMColumnSetUpDone = "setup_done" - IAMColumnDefaultLanguage = "default_language" -) - -type IAMProjection struct { - crdb.StatementHandler -} - -func NewIAMProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IAMProjection { - p := new(IAMProjection) - config.ProjectionName = IAMProjectionTable - config.Reducers = p.reducers() - config.InitCheck = crdb.NewTableCheck( - crdb.NewTable([]*crdb.Column{ - crdb.NewColumn(IAMColumnID, crdb.ColumnTypeText), - crdb.NewColumn(IAMColumnChangeDate, crdb.ColumnTypeTimestamp), - crdb.NewColumn(IAMColumnGlobalOrgID, crdb.ColumnTypeText, crdb.Default("")), - crdb.NewColumn(IAMColumnProjectID, crdb.ColumnTypeText, crdb.Default("")), - crdb.NewColumn(IAMColumnSequence, crdb.ColumnTypeInt64), - crdb.NewColumn(IAMColumnSetUpStarted, crdb.ColumnTypeInt64, crdb.Default(0)), - crdb.NewColumn(IAMColumnSetUpDone, crdb.ColumnTypeInt64, crdb.Default(0)), - crdb.NewColumn(IAMColumnDefaultLanguage, crdb.ColumnTypeText, crdb.Default("")), - }, - crdb.NewPrimaryKey(IAMColumnID), - ), - ) - p.StatementHandler = crdb.NewStatementHandler(ctx, config) - return p -} - -func (p *IAMProjection) reducers() []handler.AggregateReducer { - return []handler.AggregateReducer{ - { - Aggregate: iam.AggregateType, - EventRedusers: []handler.EventReducer{ - { - Event: iam.GlobalOrgSetEventType, - Reduce: p.reduceGlobalOrgSet, - }, - { - Event: iam.ProjectSetEventType, - Reduce: p.reduceIAMProjectSet, - }, - { - Event: iam.DefaultLanguageSetEventType, - Reduce: p.reduceDefaultLanguageSet, - }, - { - Event: iam.SetupStartedEventType, - Reduce: p.reduceSetupEvent, - }, - { - Event: iam.SetupDoneEventType, - Reduce: p.reduceSetupEvent, - }, - }, - }, - } -} - -func (p *IAMProjection) reduceGlobalOrgSet(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.GlobalOrgSetEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2n9f2", "reduce.wrong.event.type %s", iam.GlobalOrgSetEventType) - } - return crdb.NewUpsertStatement( - e, - []handler.Column{ - handler.NewCol(IAMColumnID, e.Aggregate().InstanceID), - handler.NewCol(IAMColumnChangeDate, e.CreationDate()), - handler.NewCol(IAMColumnSequence, e.Sequence()), - handler.NewCol(IAMColumnGlobalOrgID, e.OrgID), - }, - ), nil -} - -func (p *IAMProjection) reduceIAMProjectSet(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.ProjectSetEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", iam.ProjectSetEventType) - } - return crdb.NewUpsertStatement( - e, - []handler.Column{ - handler.NewCol(IAMColumnID, e.Aggregate().InstanceID), - handler.NewCol(IAMColumnChangeDate, e.CreationDate()), - handler.NewCol(IAMColumnSequence, e.Sequence()), - handler.NewCol(IAMColumnProjectID, e.ProjectID), - }, - ), nil -} - -func (p *IAMProjection) reduceDefaultLanguageSet(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.DefaultLanguageSetEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", iam.DefaultLanguageSetEventType) - } - return crdb.NewUpsertStatement( - e, - []handler.Column{ - handler.NewCol(IAMColumnID, e.Aggregate().InstanceID), - handler.NewCol(IAMColumnChangeDate, e.CreationDate()), - handler.NewCol(IAMColumnSequence, e.Sequence()), - handler.NewCol(IAMColumnDefaultLanguage, e.Language.String()), - }, - ), nil -} - -func (p *IAMProjection) reduceSetupEvent(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SetupStepEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-d9nfw", "reduce.wrong.event.type %v", []eventstore.EventType{iam.SetupDoneEventType, iam.SetupStartedEventType}) - } - columns := []handler.Column{ - handler.NewCol(IAMColumnID, e.Aggregate().InstanceID), - handler.NewCol(IAMColumnChangeDate, e.CreationDate()), - handler.NewCol(IAMColumnSequence, e.Sequence()), - } - if e.EventType == iam.SetupStartedEventType { - columns = append(columns, handler.NewCol(IAMColumnSetUpStarted, e.Step)) - } else { - columns = append(columns, handler.NewCol(IAMColumnSetUpDone, e.Step)) - } - return crdb.NewUpsertStatement( - e, - columns, - ), nil -} diff --git a/internal/query/projection/iam_member.go b/internal/query/projection/iam_member.go deleted file mode 100644 index 5d8eee2811..0000000000 --- a/internal/query/projection/iam_member.go +++ /dev/null @@ -1,113 +0,0 @@ -package projection - -import ( - "context" - - "github.com/caos/zitadel/internal/errors" - "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/handler" - "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" - "github.com/caos/zitadel/internal/repository/user" -) - -const ( - IAMMemberProjectionTable = "projections.iam_members" - - IAMMemberIAMIDCol = "iam_id" -) - -type IAMMemberProjection struct { - crdb.StatementHandler -} - -func NewIAMMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IAMMemberProjection { - p := new(IAMMemberProjection) - config.ProjectionName = IAMMemberProjectionTable - config.Reducers = p.reducers() - config.InitCheck = crdb.NewTableCheck( - crdb.NewTable( - append(memberColumns, crdb.NewColumn(IAMColumnID, crdb.ColumnTypeText)), - crdb.NewPrimaryKey(MemberInstanceID, IAMColumnID, MemberUserIDCol), - crdb.NewIndex("user_idx", []string{MemberUserIDCol}), - ), - ) - - p.StatementHandler = crdb.NewStatementHandler(ctx, config) - return p -} - -func (p *IAMMemberProjection) reducers() []handler.AggregateReducer { - return []handler.AggregateReducer{ - { - Aggregate: iam.AggregateType, - EventRedusers: []handler.EventReducer{ - { - Event: iam.MemberAddedEventType, - Reduce: p.reduceAdded, - }, - { - Event: iam.MemberChangedEventType, - Reduce: p.reduceChanged, - }, - { - Event: iam.MemberCascadeRemovedEventType, - Reduce: p.reduceCascadeRemoved, - }, - { - Event: iam.MemberRemovedEventType, - Reduce: p.reduceRemoved, - }, - }, - }, - { - Aggregate: user.AggregateType, - EventRedusers: []handler.EventReducer{ - { - Event: user.UserRemovedType, - Reduce: p.reduceUserRemoved, - }, - }, - }, - } -} - -func (p *IAMMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.MemberAddedEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pGNCu", "reduce.wrong.event.type %s", iam.MemberAddedEventType) - } - return reduceMemberAdded(e.MemberAddedEvent, withMemberCol(IAMMemberIAMIDCol, e.Aggregate().ID)) -} - -func (p *IAMMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.MemberChangedEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-5WQcZ", "reduce.wrong.event.type %s", iam.MemberChangedEventType) - } - return reduceMemberChanged(e.MemberChangedEvent) -} - -func (p *IAMMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.MemberCascadeRemovedEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dmdf2", "reduce.wrong.event.type %s", iam.MemberCascadeRemovedEventType) - } - return reduceMemberCascadeRemoved(e.MemberCascadeRemovedEvent) -} - -func (p *IAMMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.MemberRemovedEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-exVqy", "reduce.wrong.event.type %s", iam.MemberRemovedEventType) - } - return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.UserID)) -} - -func (p *IAMMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*user.UserRemovedEvent) - if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-mkDHF", "reduce.wrong.event.type %s", user.UserRemovedType) - } - return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.Aggregate().ID)) -} diff --git a/internal/query/projection/idp.go b/internal/query/projection/idp.go index a6731b0c88..6389712259 100644 --- a/internal/query/projection/idp.go +++ b/internal/query/projection/idp.go @@ -10,8 +10,8 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" "github.com/caos/zitadel/internal/repository/idpconfig" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -111,42 +111,42 @@ func NewIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) * func (p *IDPProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.IDPConfigAddedEventType, + Event: instance.IDPConfigAddedEventType, Reduce: p.reduceIDPAdded, }, { - Event: iam.IDPConfigChangedEventType, + Event: instance.IDPConfigChangedEventType, Reduce: p.reduceIDPChanged, }, { - Event: iam.IDPConfigDeactivatedEventType, + Event: instance.IDPConfigDeactivatedEventType, Reduce: p.reduceIDPDeactivated, }, { - Event: iam.IDPConfigReactivatedEventType, + Event: instance.IDPConfigReactivatedEventType, Reduce: p.reduceIDPReactivated, }, { - Event: iam.IDPConfigRemovedEventType, + Event: instance.IDPConfigRemovedEventType, Reduce: p.reduceIDPRemoved, }, { - Event: iam.IDPOIDCConfigAddedEventType, + Event: instance.IDPOIDCConfigAddedEventType, Reduce: p.reduceOIDCConfigAdded, }, { - Event: iam.IDPOIDCConfigChangedEventType, + Event: instance.IDPOIDCConfigChangedEventType, Reduce: p.reduceOIDCConfigChanged, }, { - Event: iam.IDPJWTConfigAddedEventType, + Event: instance.IDPJWTConfigAddedEventType, Reduce: p.reduceJWTConfigAdded, }, { - Event: iam.IDPJWTConfigChangedEventType, + Event: instance.IDPJWTConfigChangedEventType, Reduce: p.reduceJWTConfigChanged, }, }, @@ -202,11 +202,11 @@ func (p *IDPProjection) reduceIDPAdded(event eventstore.Event) (*handler.Stateme case *org.IDPConfigAddedEvent: idpEvent = e.IDPConfigAddedEvent idpOwnerType = domain.IdentityProviderTypeOrg - case *iam.IDPConfigAddedEvent: + case *instance.IDPConfigAddedEvent: idpEvent = e.IDPConfigAddedEvent idpOwnerType = domain.IdentityProviderTypeSystem default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fcUdQ", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigAddedEventType, iam.IDPConfigAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fcUdQ", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigAddedEventType, instance.IDPConfigAddedEventType}) } return crdb.NewCreateStatement( @@ -232,10 +232,10 @@ func (p *IDPProjection) reduceIDPChanged(event eventstore.Event) (*handler.State switch e := event.(type) { case *org.IDPConfigChangedEvent: idpEvent = e.IDPConfigChangedEvent - case *iam.IDPConfigChangedEvent: + case *instance.IDPConfigChangedEvent: idpEvent = e.IDPConfigChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-NVvJD", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigChangedEventType, iam.IDPConfigChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-NVvJD", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigChangedEventType, instance.IDPConfigChangedEventType}) } cols := make([]handler.Column, 0, 5) @@ -271,10 +271,10 @@ func (p *IDPProjection) reduceIDPDeactivated(event eventstore.Event) (*handler.S switch e := event.(type) { case *org.IDPConfigDeactivatedEvent: idpEvent = e.IDPConfigDeactivatedEvent - case *iam.IDPConfigDeactivatedEvent: + case *instance.IDPConfigDeactivatedEvent: idpEvent = e.IDPConfigDeactivatedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-94O5l", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigDeactivatedEventType, iam.IDPConfigDeactivatedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-94O5l", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigDeactivatedEventType, instance.IDPConfigDeactivatedEventType}) } return crdb.NewUpdateStatement( @@ -295,10 +295,10 @@ func (p *IDPProjection) reduceIDPReactivated(event eventstore.Event) (*handler.S switch e := event.(type) { case *org.IDPConfigReactivatedEvent: idpEvent = e.IDPConfigReactivatedEvent - case *iam.IDPConfigReactivatedEvent: + case *instance.IDPConfigReactivatedEvent: idpEvent = e.IDPConfigReactivatedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-I8QyS", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigReactivatedEventType, iam.IDPConfigReactivatedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-I8QyS", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigReactivatedEventType, instance.IDPConfigReactivatedEventType}) } return crdb.NewUpdateStatement( @@ -319,10 +319,10 @@ func (p *IDPProjection) reduceIDPRemoved(event eventstore.Event) (*handler.State switch e := event.(type) { case *org.IDPConfigRemovedEvent: idpEvent = e.IDPConfigRemovedEvent - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: idpEvent = e.IDPConfigRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-B4zy8", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, iam.IDPConfigRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-B4zy8", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, instance.IDPConfigRemovedEventType}) } return crdb.NewDeleteStatement( @@ -338,10 +338,10 @@ func (p *IDPProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler. switch e := event.(type) { case *org.IDPOIDCConfigAddedEvent: idpEvent = e.OIDCConfigAddedEvent - case *iam.IDPOIDCConfigAddedEvent: + case *instance.IDPOIDCConfigAddedEvent: idpEvent = e.OIDCConfigAddedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2FuAA", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPOIDCConfigAddedEventType, iam.IDPOIDCConfigAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2FuAA", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPOIDCConfigAddedEventType, instance.IDPOIDCConfigAddedEventType}) } return crdb.NewMultiStatement(&idpEvent, @@ -377,10 +377,10 @@ func (p *IDPProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handle switch e := event.(type) { case *org.IDPOIDCConfigChangedEvent: idpEvent = e.OIDCConfigChangedEvent - case *iam.IDPOIDCConfigChangedEvent: + case *instance.IDPOIDCConfigChangedEvent: idpEvent = e.OIDCConfigChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-x2IVI", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPOIDCConfigChangedEventType, iam.IDPOIDCConfigChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-x2IVI", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPOIDCConfigChangedEventType, instance.IDPOIDCConfigChangedEventType}) } cols := make([]handler.Column, 0, 8) @@ -439,10 +439,10 @@ func (p *IDPProjection) reduceJWTConfigAdded(event eventstore.Event) (*handler.S switch e := event.(type) { case *org.IDPJWTConfigAddedEvent: idpEvent = e.JWTConfigAddedEvent - case *iam.IDPJWTConfigAddedEvent: + case *instance.IDPJWTConfigAddedEvent: idpEvent = e.JWTConfigAddedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-qvPdb", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPJWTConfigAddedEventType, iam.IDPJWTConfigAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-qvPdb", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPJWTConfigAddedEventType, instance.IDPJWTConfigAddedEventType}) } return crdb.NewMultiStatement(&idpEvent, @@ -475,10 +475,10 @@ func (p *IDPProjection) reduceJWTConfigChanged(event eventstore.Event) (*handler switch e := event.(type) { case *org.IDPJWTConfigChangedEvent: idpEvent = e.JWTConfigChangedEvent - case *iam.IDPJWTConfigChangedEvent: + case *instance.IDPJWTConfigChangedEvent: idpEvent = e.JWTConfigChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-x2IVI", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPJWTConfigChangedEventType, iam.IDPJWTConfigChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-x2IVI", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPJWTConfigChangedEventType, instance.IDPJWTConfigChangedEventType}) } cols := make([]handler.Column, 0, 4) diff --git a/internal/query/projection/idp_login_policy_link.go b/internal/query/projection/idp_login_policy_link.go index 388ff6ef11..380e4a35a5 100644 --- a/internal/query/projection/idp_login_policy_link.go +++ b/internal/query/projection/idp_login_policy_link.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -80,22 +80,22 @@ func (p *IDPLoginPolicyLinkProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.LoginPolicyIDPProviderAddedEventType, + Event: instance.LoginPolicyIDPProviderAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.LoginPolicyIDPProviderCascadeRemovedEventType, + Event: instance.LoginPolicyIDPProviderCascadeRemovedEventType, Reduce: p.reduceCascadeRemoved, }, { - Event: iam.LoginPolicyIDPProviderRemovedEventType, + Event: instance.LoginPolicyIDPProviderRemovedEventType, Reduce: p.reduceRemoved, }, { - Event: iam.IDPConfigRemovedEventType, + Event: instance.IDPConfigRemovedEventType, Reduce: p.reduceIDPConfigRemoved, }, }, @@ -113,11 +113,11 @@ func (p *IDPLoginPolicyLinkProjection) reduceAdded(event eventstore.Event) (*han case *org.IdentityProviderAddedEvent: idp = e.IdentityProviderAddedEvent providerType = domain.IdentityProviderTypeOrg - case *iam.IdentityProviderAddedEvent: + case *instance.IdentityProviderAddedEvent: idp = e.IdentityProviderAddedEvent providerType = domain.IdentityProviderTypeSystem default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Nlp55", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderAddedEventType, iam.LoginPolicyIDPProviderAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Nlp55", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderAddedEventType, instance.LoginPolicyIDPProviderAddedEventType}) } return crdb.NewCreateStatement(&idp, @@ -140,10 +140,10 @@ func (p *IDPLoginPolicyLinkProjection) reduceRemoved(event eventstore.Event) (*h switch e := event.(type) { case *org.IdentityProviderRemovedEvent: idp = e.IdentityProviderRemovedEvent - case *iam.IdentityProviderRemovedEvent: + case *instance.IdentityProviderRemovedEvent: idp = e.IdentityProviderRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-tUMYY", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderRemovedEventType, iam.LoginPolicyIDPProviderRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-tUMYY", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderRemovedEventType, instance.LoginPolicyIDPProviderRemovedEventType}) } return crdb.NewDeleteStatement(&idp, @@ -160,10 +160,10 @@ func (p *IDPLoginPolicyLinkProjection) reduceCascadeRemoved(event eventstore.Eve switch e := event.(type) { case *org.IdentityProviderCascadeRemovedEvent: idp = e.IdentityProviderCascadeRemovedEvent - case *iam.IdentityProviderCascadeRemovedEvent: + case *instance.IdentityProviderCascadeRemovedEvent: idp = e.IdentityProviderCascadeRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-iCKSj", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderCascadeRemovedEventType, iam.LoginPolicyIDPProviderCascadeRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-iCKSj", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyIDPProviderCascadeRemovedEventType, instance.LoginPolicyIDPProviderCascadeRemovedEventType}) } return crdb.NewDeleteStatement(&idp, @@ -180,10 +180,10 @@ func (p *IDPLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.E switch e := event.(type) { case *org.IDPConfigRemovedEvent: idpID = e.ConfigID - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: idpID = e.ConfigID default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-u6tze", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, iam.IDPConfigRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-u6tze", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, instance.IDPConfigRemovedEventType}) } return crdb.NewDeleteStatement(event, diff --git a/internal/query/projection/idp_login_policy_link_test.go b/internal/query/projection/idp_login_policy_link_test.go index 4a80ef71fe..afc9758e30 100644 --- a/internal/query/projection/idp_login_policy_link_test.go +++ b/internal/query/projection/idp_login_policy_link_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -26,17 +26,17 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { name: "iam.reduceAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyIDPProviderAddedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyIDPProviderAddedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "idpProviderType": 1 }`), - ), iam.IdentityProviderAddedEventMapper), + ), instance.IdentityProviderAddedEventMapper), }, reduce: (&IDPLoginPolicyLinkProjection{}).reduceAdded, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, projection: IDPLoginPolicyLinkTable, @@ -63,17 +63,17 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { name: "iam.reduceRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyIDPProviderRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyIDPProviderRemovedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "idpProviderType": 1 }`), - ), iam.IdentityProviderRemovedEventMapper), + ), instance.IdentityProviderRemovedEventMapper), }, reduce: (&IDPLoginPolicyLinkProjection{}).reduceRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, projection: IDPLoginPolicyLinkTable, @@ -94,17 +94,17 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { name: "iam.reduceCascadeRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyIDPProviderCascadeRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyIDPProviderCascadeRemovedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "idpProviderType": 1 }`), - ), iam.IdentityProviderCascadeRemovedEventMapper), + ), instance.IdentityProviderCascadeRemovedEventMapper), }, reduce: (&IDPLoginPolicyLinkProjection{}).reduceCascadeRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, projection: IDPLoginPolicyLinkTable, @@ -281,16 +281,16 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { name: "iam.IDPConfigRemovedEvent", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigRemovedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigRemovedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id" }`), - ), iam.IDPConfigRemovedEventMapper), + ), instance.IDPConfigRemovedEventMapper), }, reduce: (&IDPLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, projection: IDPLoginPolicyLinkTable, diff --git a/internal/query/projection/idp_test.go b/internal/query/projection/idp_test.go index 2d96e74e1e..0980d7539e 100644 --- a/internal/query/projection/idp_test.go +++ b/internal/query/projection/idp_test.go @@ -10,7 +10,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -25,11 +25,11 @@ func TestIDPProjection_reduces(t *testing.T) { want wantReduce }{ { - name: "iam.reduceIDPAdded", + name: "instance.reduceIDPAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigAddedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigAddedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "name": "custom-zitadel-instance", @@ -37,11 +37,11 @@ func TestIDPProjection_reduces(t *testing.T) { "stylingType": 0, "autoRegister": true }`), - ), iam.IDPConfigAddedEventMapper), + ), instance.IDPConfigAddedEventMapper), }, reduce: (&IDPProjection{}).reduceIDPAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -68,22 +68,22 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIDPChanged", + name: "instance.reduceIDPChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigChangedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "name": "custom-zitadel-instance", "stylingType": 1, "autoRegister": true }`), - ), iam.IDPConfigChangedEventMapper), + ), instance.IDPConfigChangedEventMapper), }, reduce: (&IDPProjection{}).reduceIDPChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -105,19 +105,19 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIDPDeactivated", + name: "instance.reduceIDPDeactivated", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigDeactivatedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigDeactivatedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id" }`), - ), iam.IDPConfigDeactivatedEventMapper), + ), instance.IDPConfigDeactivatedEventMapper), }, reduce: (&IDPProjection{}).reduceIDPDeactivated, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -137,19 +137,19 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIDPReactivated", + name: "instance.reduceIDPReactivated", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigReactivatedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigReactivatedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id" }`), - ), iam.IDPConfigReactivatedEventMapper), + ), instance.IDPConfigReactivatedEventMapper), }, reduce: (&IDPProjection{}).reduceIDPReactivated, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -169,19 +169,19 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIDPRemoved", + name: "instance.reduceIDPRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigRemovedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigRemovedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id" }`), - ), iam.IDPConfigRemovedEventMapper), + ), instance.IDPConfigRemovedEventMapper), }, reduce: (&IDPProjection{}).reduceIDPRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -198,11 +198,11 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceOIDCConfigAdded", + name: "instance.reduceOIDCConfigAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPOIDCConfigAddedEventType), - iam.AggregateType, + repository.EventType(instance.IDPOIDCConfigAddedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "clientId": "client-id", @@ -218,11 +218,11 @@ func TestIDPProjection_reduces(t *testing.T) { "idpDisplayNameMapping": 0, "usernameMapping": 1 }`), - ), iam.IDPOIDCConfigAddedEventMapper), + ), instance.IDPOIDCConfigAddedEventMapper), }, reduce: (&IDPProjection{}).reduceOIDCConfigAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -256,11 +256,11 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceOIDCConfigChanged", + name: "instance.reduceOIDCConfigChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPOIDCConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.IDPOIDCConfigChangedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "clientId": "client-id", @@ -276,11 +276,11 @@ func TestIDPProjection_reduces(t *testing.T) { "idpDisplayNameMapping": 0, "usernameMapping": 1 }`), - ), iam.IDPOIDCConfigChangedEventMapper), + ), instance.IDPOIDCConfigChangedEventMapper), }, reduce: (&IDPProjection{}).reduceOIDCConfigChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -313,17 +313,17 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceOIDCConfigChanged: no op", + name: "instance.reduceOIDCConfigChanged: no op", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPOIDCConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.IDPOIDCConfigChangedEventType), + instance.AggregateType, []byte("{}"), - ), iam.IDPOIDCConfigChangedEventMapper), + ), instance.IDPOIDCConfigChangedEventMapper), }, reduce: (&IDPProjection{}).reduceOIDCConfigChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -333,11 +333,11 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceJWTConfigAdded", + name: "instance.reduceJWTConfigAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPJWTConfigAddedEventType), - iam.AggregateType, + repository.EventType(instance.IDPJWTConfigAddedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "jwtEndpoint": "https://api.zitadel.ch/jwt", @@ -345,11 +345,11 @@ func TestIDPProjection_reduces(t *testing.T) { "keysEndpoint": "https://api.zitadel.ch/keys", "headerName": "hodor" }`), - ), iam.IDPJWTConfigAddedEventMapper), + ), instance.IDPJWTConfigAddedEventMapper), }, reduce: (&IDPProjection{}).reduceJWTConfigAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -379,11 +379,11 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceJWTConfigChanged", + name: "instance.reduceJWTConfigChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPJWTConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.IDPJWTConfigChangedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id", "jwtEndpoint": "https://api.zitadel.ch/jwt", @@ -391,11 +391,11 @@ func TestIDPProjection_reduces(t *testing.T) { "keysEndpoint": "https://api.zitadel.ch/keys", "headerName": "hodor" }`), - ), iam.IDPJWTConfigChangedEventMapper), + ), instance.IDPJWTConfigChangedEventMapper), }, reduce: (&IDPProjection{}).reduceJWTConfigChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, @@ -424,17 +424,17 @@ func TestIDPProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceJWTConfigChanged: no op", + name: "instance.reduceJWTConfigChanged: no op", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPJWTConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.IDPJWTConfigChangedEventType), + instance.AggregateType, []byte(`{}`), - ), iam.IDPJWTConfigChangedEventMapper), + ), instance.IDPJWTConfigChangedEventMapper), }, reduce: (&IDPProjection{}).reduceJWTConfigChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: IDPTable, diff --git a/internal/query/projection/idp_user_link.go b/internal/query/projection/idp_user_link.go index 462b05eee7..d94efea949 100644 --- a/internal/query/projection/idp_user_link.go +++ b/internal/query/projection/idp_user_link.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/user" ) @@ -90,10 +90,10 @@ func (p *IDPUserLinkProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.IDPConfigRemovedEventType, + Event: instance.IDPConfigRemovedEventType, Reduce: p.reduceIDPConfigRemoved, }, }, @@ -184,10 +184,10 @@ func (p *IDPUserLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) ( switch e := event.(type) { case *org.IDPConfigRemovedEvent: idpID = e.ConfigID - case *iam.IDPConfigRemovedEvent: + case *instance.IDPConfigRemovedEvent: idpID = e.ConfigID default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-iCKSj", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, iam.IDPConfigRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-iCKSj", "reduce.wrong.event.type %v", []eventstore.EventType{org.IDPConfigRemovedEventType, instance.IDPConfigRemovedEventType}) } return crdb.NewDeleteStatement(event, diff --git a/internal/query/projection/idp_user_link_test.go b/internal/query/projection/idp_user_link_test.go index 892b4c4cc9..3955360cc9 100644 --- a/internal/query/projection/idp_user_link_test.go +++ b/internal/query/projection/idp_user_link_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/user" ) @@ -213,16 +213,16 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { name: "iam.IDPConfigRemovedEvent", args: args{ event: getEvent(testEvent( - repository.EventType(iam.IDPConfigRemovedEventType), - iam.AggregateType, + repository.EventType(instance.IDPConfigRemovedEventType), + instance.AggregateType, []byte(`{ "idpConfigId": "idp-config-id" }`), - ), iam.IDPConfigRemovedEventMapper), + ), instance.IDPConfigRemovedEventMapper), }, reduce: (&IDPUserLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, projection: IDPUserLinkTable, diff --git a/internal/query/projection/instance.go b/internal/query/projection/instance.go new file mode 100644 index 0000000000..ce33012dd8 --- /dev/null +++ b/internal/query/projection/instance.go @@ -0,0 +1,149 @@ +package projection + +import ( + "context" + + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore" + "github.com/caos/zitadel/internal/eventstore/handler" + "github.com/caos/zitadel/internal/eventstore/handler/crdb" + "github.com/caos/zitadel/internal/repository/instance" +) + +const ( + InstanceProjectionTable = "projections.instance" + + InstanceColumnID = "id" + InstanceColumnChangeDate = "change_date" + InstanceColumnGlobalOrgID = "global_org_id" + InstanceColumnProjectID = "iam_project_id" + InstanceColumnSequence = "sequence" + InstanceColumnSetUpStarted = "setup_started" + InstanceColumnSetUpDone = "setup_done" + InstanceColumnDefaultLanguage = "default_language" +) + +type IAMProjection struct { + crdb.StatementHandler +} + +func NewIAMProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IAMProjection { + p := new(IAMProjection) + config.ProjectionName = InstanceProjectionTable + config.Reducers = p.reducers() + config.InitCheck = crdb.NewTableCheck( + crdb.NewTable([]*crdb.Column{ + crdb.NewColumn(InstanceColumnID, crdb.ColumnTypeText), + crdb.NewColumn(InstanceColumnChangeDate, crdb.ColumnTypeTimestamp), + crdb.NewColumn(InstanceColumnGlobalOrgID, crdb.ColumnTypeText, crdb.Default("")), + crdb.NewColumn(InstanceColumnProjectID, crdb.ColumnTypeText, crdb.Default("")), + crdb.NewColumn(InstanceColumnSequence, crdb.ColumnTypeInt64), + crdb.NewColumn(InstanceColumnSetUpStarted, crdb.ColumnTypeInt64, crdb.Default(0)), + crdb.NewColumn(InstanceColumnSetUpDone, crdb.ColumnTypeInt64, crdb.Default(0)), + crdb.NewColumn(InstanceColumnDefaultLanguage, crdb.ColumnTypeText, crdb.Default("")), + }, + crdb.NewPrimaryKey(InstanceColumnID), + ), + ) + p.StatementHandler = crdb.NewStatementHandler(ctx, config) + return p +} + +func (p *IAMProjection) reducers() []handler.AggregateReducer { + return []handler.AggregateReducer{ + { + Aggregate: instance.AggregateType, + EventRedusers: []handler.EventReducer{ + { + Event: instance.GlobalOrgSetEventType, + Reduce: p.reduceGlobalOrgSet, + }, + { + Event: instance.ProjectSetEventType, + Reduce: p.reduceIAMProjectSet, + }, + { + Event: instance.DefaultLanguageSetEventType, + Reduce: p.reduceDefaultLanguageSet, + }, + { + Event: instance.SetupStartedEventType, + Reduce: p.reduceSetupEvent, + }, + { + Event: instance.SetupDoneEventType, + Reduce: p.reduceSetupEvent, + }, + }, + }, + } +} + +func (p *IAMProjection) reduceGlobalOrgSet(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.GlobalOrgSetEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2n9f2", "reduce.wrong.event.type %s", instance.GlobalOrgSetEventType) + } + return crdb.NewUpsertStatement( + e, + []handler.Column{ + handler.NewCol(InstanceColumnID, e.Aggregate().InstanceID), + handler.NewCol(InstanceColumnChangeDate, e.CreationDate()), + handler.NewCol(InstanceColumnSequence, e.Sequence()), + handler.NewCol(InstanceColumnGlobalOrgID, e.OrgID), + }, + ), nil +} + +func (p *IAMProjection) reduceIAMProjectSet(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.ProjectSetEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", instance.ProjectSetEventType) + } + return crdb.NewUpsertStatement( + e, + []handler.Column{ + handler.NewCol(InstanceColumnID, e.Aggregate().InstanceID), + handler.NewCol(InstanceColumnChangeDate, e.CreationDate()), + handler.NewCol(InstanceColumnSequence, e.Sequence()), + handler.NewCol(InstanceColumnProjectID, e.ProjectID), + }, + ), nil +} + +func (p *IAMProjection) reduceDefaultLanguageSet(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.DefaultLanguageSetEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", instance.DefaultLanguageSetEventType) + } + return crdb.NewUpsertStatement( + e, + []handler.Column{ + handler.NewCol(InstanceColumnID, e.Aggregate().InstanceID), + handler.NewCol(InstanceColumnChangeDate, e.CreationDate()), + handler.NewCol(InstanceColumnSequence, e.Sequence()), + handler.NewCol(InstanceColumnDefaultLanguage, e.Language.String()), + }, + ), nil +} + +func (p *IAMProjection) reduceSetupEvent(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.SetupStepEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-d9nfw", "reduce.wrong.event.type %v", []eventstore.EventType{instance.SetupDoneEventType, instance.SetupStartedEventType}) + } + columns := []handler.Column{ + handler.NewCol(InstanceColumnID, e.Aggregate().InstanceID), + handler.NewCol(InstanceColumnChangeDate, e.CreationDate()), + handler.NewCol(InstanceColumnSequence, e.Sequence()), + } + if e.EventType == instance.SetupStartedEventType { + columns = append(columns, handler.NewCol(InstanceColumnSetUpStarted, e.Step)) + } else { + columns = append(columns, handler.NewCol(InstanceColumnSetUpDone, e.Step)) + } + return crdb.NewUpsertStatement( + e, + columns, + ), nil +} diff --git a/internal/query/projection/instance_member.go b/internal/query/projection/instance_member.go new file mode 100644 index 0000000000..15c41d2a4d --- /dev/null +++ b/internal/query/projection/instance_member.go @@ -0,0 +1,113 @@ +package projection + +import ( + "context" + + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore" + "github.com/caos/zitadel/internal/eventstore/handler" + "github.com/caos/zitadel/internal/eventstore/handler/crdb" + "github.com/caos/zitadel/internal/repository/instance" + "github.com/caos/zitadel/internal/repository/user" +) + +const ( + InstanceMemberProjectionTable = "projections.instance_members" + + InstanceMemberIAMIDCol = "instance_id" +) + +type InstanceMemberProjection struct { + crdb.StatementHandler +} + +func NewInstanceMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceMemberProjection { + p := new(InstanceMemberProjection) + config.ProjectionName = InstanceMemberProjectionTable + config.Reducers = p.reducers() + config.InitCheck = crdb.NewTableCheck( + crdb.NewTable( + append(memberColumns, crdb.NewColumn(InstanceColumnID, crdb.ColumnTypeText)), + crdb.NewPrimaryKey(MemberInstanceID, InstanceColumnID, MemberUserIDCol), + crdb.NewIndex("user_idx", []string{MemberUserIDCol}), + ), + ) + + p.StatementHandler = crdb.NewStatementHandler(ctx, config) + return p +} + +func (p *InstanceMemberProjection) reducers() []handler.AggregateReducer { + return []handler.AggregateReducer{ + { + Aggregate: instance.AggregateType, + EventRedusers: []handler.EventReducer{ + { + Event: instance.MemberAddedEventType, + Reduce: p.reduceAdded, + }, + { + Event: instance.MemberChangedEventType, + Reduce: p.reduceChanged, + }, + { + Event: instance.MemberCascadeRemovedEventType, + Reduce: p.reduceCascadeRemoved, + }, + { + Event: instance.MemberRemovedEventType, + Reduce: p.reduceRemoved, + }, + }, + }, + { + Aggregate: user.AggregateType, + EventRedusers: []handler.EventReducer{ + { + Event: user.UserRemovedType, + Reduce: p.reduceUserRemoved, + }, + }, + }, + } +} + +func (p *InstanceMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.MemberAddedEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pGNCu", "reduce.wrong.event.type %s", instance.MemberAddedEventType) + } + return reduceMemberAdded(e.MemberAddedEvent, withMemberCol(InstanceMemberIAMIDCol, e.Aggregate().ID)) +} + +func (p *InstanceMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.MemberChangedEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-5WQcZ", "reduce.wrong.event.type %s", instance.MemberChangedEventType) + } + return reduceMemberChanged(e.MemberChangedEvent) +} + +func (p *InstanceMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.MemberCascadeRemovedEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dmdf2", "reduce.wrong.event.type %s", instance.MemberCascadeRemovedEventType) + } + return reduceMemberCascadeRemoved(e.MemberCascadeRemovedEvent) +} + +func (p *InstanceMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*instance.MemberRemovedEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-exVqy", "reduce.wrong.event.type %s", instance.MemberRemovedEventType) + } + return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.UserID)) +} + +func (p *InstanceMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*user.UserRemovedEvent) + if !ok { + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-mkDHF", "reduce.wrong.event.type %s", user.UserRemovedType) + } + return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.Aggregate().ID)) +} diff --git a/internal/query/projection/iam_member_test.go b/internal/query/projection/instance_member_test.go similarity index 58% rename from internal/query/projection/iam_member_test.go rename to internal/query/projection/instance_member_test.go index 5242d62d02..2ce24994dd 100644 --- a/internal/query/projection/iam_member_test.go +++ b/internal/query/projection/instance_member_test.go @@ -9,11 +9,11 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/user" ) -func TestIAMMemberProjection_reduces(t *testing.T) { +func TestInstanceMemberProjection_reduces(t *testing.T) { type args struct { event func(t *testing.T) eventstore.Event } @@ -24,27 +24,27 @@ func TestIAMMemberProjection_reduces(t *testing.T) { want wantReduce }{ { - name: "iam.MemberAddedType", + name: "instance.MemberAddedType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.MemberAddedEventType), - iam.AggregateType, + repository.EventType(instance.MemberAddedEventType), + instance.AggregateType, []byte(`{ "userId": "user-id", "roles": ["role"] }`), - ), iam.MemberAddedEventMapper), + ), instance.MemberAddedEventMapper), }, - reduce: (&IAMMemberProjection{}).reduceAdded, + reduce: (&InstanceMemberProjection{}).reduceAdded, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, - projection: IAMMemberProjectionTable, + projection: InstanceMemberProjectionTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "INSERT INTO projections.iam_members (user_id, roles, creation_date, change_date, sequence, resource_owner, instance_id, iam_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)", + expectedStmt: "INSERT INTO projections.instance_members (user_id, roles, creation_date, change_date, sequence, resource_owner, instance_id, instance_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)", expectedArgs: []interface{}{ "user-id", pq.StringArray{"role"}, @@ -61,27 +61,27 @@ func TestIAMMemberProjection_reduces(t *testing.T) { }, }, { - name: "iam.MemberChangedType", + name: "instance.MemberChangedType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.MemberChangedEventType), - iam.AggregateType, + repository.EventType(instance.MemberChangedEventType), + instance.AggregateType, []byte(`{ "userId": "user-id", "roles": ["role", "changed"] }`), - ), iam.MemberChangedEventMapper), + ), instance.MemberChangedEventMapper), }, - reduce: (&IAMMemberProjection{}).reduceChanged, + reduce: (&InstanceMemberProjection{}).reduceChanged, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, - projection: IAMMemberProjectionTable, + projection: InstanceMemberProjectionTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPDATE projections.iam_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4)", + expectedStmt: "UPDATE projections.instance_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4)", expectedArgs: []interface{}{ pq.StringArray{"role", "changed"}, anyArg{}, @@ -94,26 +94,26 @@ func TestIAMMemberProjection_reduces(t *testing.T) { }, }, { - name: "iam.MemberCascadeRemovedType", + name: "instance.MemberCascadeRemovedType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.MemberCascadeRemovedEventType), - iam.AggregateType, + repository.EventType(instance.MemberCascadeRemovedEventType), + instance.AggregateType, []byte(`{ "userId": "user-id" }`), - ), iam.MemberCascadeRemovedEventMapper), + ), instance.MemberCascadeRemovedEventMapper), }, - reduce: (&IAMMemberProjection{}).reduceCascadeRemoved, + reduce: (&InstanceMemberProjection{}).reduceCascadeRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, - projection: IAMMemberProjectionTable, + projection: InstanceMemberProjectionTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "DELETE FROM projections.iam_members WHERE (user_id = $1)", + expectedStmt: "DELETE FROM projections.instance_members WHERE (user_id = $1)", expectedArgs: []interface{}{ "user-id", }, @@ -123,26 +123,26 @@ func TestIAMMemberProjection_reduces(t *testing.T) { }, }, { - name: "iam.MemberRemovedType", + name: "instance.MemberRemovedType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.MemberRemovedEventType), - iam.AggregateType, + repository.EventType(instance.MemberRemovedEventType), + instance.AggregateType, []byte(`{ "userId": "user-id" }`), - ), iam.MemberRemovedEventMapper), + ), instance.MemberRemovedEventMapper), }, - reduce: (&IAMMemberProjection{}).reduceRemoved, + reduce: (&InstanceMemberProjection{}).reduceRemoved, want: wantReduce{ - aggregateType: iam.AggregateType, + aggregateType: instance.AggregateType, sequence: 15, previousSequence: 10, - projection: IAMMemberProjectionTable, + projection: InstanceMemberProjectionTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "DELETE FROM projections.iam_members WHERE (user_id = $1)", + expectedStmt: "DELETE FROM projections.instance_members WHERE (user_id = $1)", expectedArgs: []interface{}{ "user-id", }, @@ -160,16 +160,16 @@ func TestIAMMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&IAMMemberProjection{}).reduceUserRemoved, + reduce: (&InstanceMemberProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, previousSequence: 10, - projection: IAMMemberProjectionTable, + projection: InstanceMemberProjectionTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "DELETE FROM projections.iam_members WHERE (user_id = $1)", + expectedStmt: "DELETE FROM projections.instance_members WHERE (user_id = $1)", expectedArgs: []interface{}{ "agg-id", }, diff --git a/internal/query/projection/iam_test.go b/internal/query/projection/instance_test.go similarity index 63% rename from internal/query/projection/iam_test.go rename to internal/query/projection/instance_test.go index e5c8b299d7..041156237f 100644 --- a/internal/query/projection/iam_test.go +++ b/internal/query/projection/instance_test.go @@ -8,10 +8,10 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) -func TestIAMProjection_reduces(t *testing.T) { +func TestInstanceProjection_reduces(t *testing.T) { type args struct { event func(t *testing.T) eventstore.Event } @@ -25,21 +25,21 @@ func TestIAMProjection_reduces(t *testing.T) { name: "reduceGlobalOrgSet", args: args{ event: getEvent(testEvent( - repository.EventType(iam.GlobalOrgSetEventType), - iam.AggregateType, + repository.EventType(instance.GlobalOrgSetEventType), + instance.AggregateType, []byte(`{"globalOrgId": "orgid"}`), - ), iam.GlobalOrgSetMapper), + ), instance.GlobalOrgSetMapper), }, reduce: (&IAMProjection{}).reduceGlobalOrgSet, want: wantReduce{ - projection: IAMProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + projection: InstanceProjectionTable, + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPSERT INTO projections.iam (id, change_date, sequence, global_org_id) VALUES ($1, $2, $3, $4)", + expectedStmt: "UPSERT INTO projections.instance (id, change_date, sequence, global_org_id) VALUES ($1, $2, $3, $4)", expectedArgs: []interface{}{ "instance-id", anyArg{}, @@ -55,21 +55,21 @@ func TestIAMProjection_reduces(t *testing.T) { name: "reduceProjectIDSet", args: args{ event: getEvent(testEvent( - repository.EventType(iam.ProjectSetEventType), - iam.AggregateType, + repository.EventType(instance.ProjectSetEventType), + instance.AggregateType, []byte(`{"iamProjectId": "project-id"}`), - ), iam.ProjectSetMapper), + ), instance.ProjectSetMapper), }, reduce: (&IAMProjection{}).reduceIAMProjectSet, want: wantReduce{ - projection: IAMProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + projection: InstanceProjectionTable, + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPSERT INTO projections.iam (id, change_date, sequence, iam_project_id) VALUES ($1, $2, $3, $4)", + expectedStmt: "UPSERT INTO projections.instance (id, change_date, sequence, iam_project_id) VALUES ($1, $2, $3, $4)", expectedArgs: []interface{}{ "instance-id", anyArg{}, @@ -85,21 +85,21 @@ func TestIAMProjection_reduces(t *testing.T) { name: "reduceDefaultLanguageSet", args: args{ event: getEvent(testEvent( - repository.EventType(iam.DefaultLanguageSetEventType), - iam.AggregateType, + repository.EventType(instance.DefaultLanguageSetEventType), + instance.AggregateType, []byte(`{"language": "en"}`), - ), iam.DefaultLanguageSetMapper), + ), instance.DefaultLanguageSetMapper), }, reduce: (&IAMProjection{}).reduceDefaultLanguageSet, want: wantReduce{ - projection: IAMProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + projection: InstanceProjectionTable, + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPSERT INTO projections.iam (id, change_date, sequence, default_language) VALUES ($1, $2, $3, $4)", + expectedStmt: "UPSERT INTO projections.instance (id, change_date, sequence, default_language) VALUES ($1, $2, $3, $4)", expectedArgs: []interface{}{ "instance-id", anyArg{}, @@ -115,21 +115,21 @@ func TestIAMProjection_reduces(t *testing.T) { name: "reduceSetupStarted", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SetupStartedEventType), - iam.AggregateType, + repository.EventType(instance.SetupStartedEventType), + instance.AggregateType, []byte(`{"Step": 1}`), - ), iam.SetupStepMapper), + ), instance.SetupStepMapper), }, reduce: (&IAMProjection{}).reduceSetupEvent, want: wantReduce{ - projection: IAMProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + projection: InstanceProjectionTable, + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPSERT INTO projections.iam (id, change_date, sequence, setup_started) VALUES ($1, $2, $3, $4)", + expectedStmt: "UPSERT INTO projections.instance (id, change_date, sequence, setup_started) VALUES ($1, $2, $3, $4)", expectedArgs: []interface{}{ "instance-id", anyArg{}, @@ -145,21 +145,21 @@ func TestIAMProjection_reduces(t *testing.T) { name: "reduceSetupDone", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SetupDoneEventType), - iam.AggregateType, + repository.EventType(instance.SetupDoneEventType), + instance.AggregateType, []byte(`{"Step": 1}`), - ), iam.SetupStepMapper), + ), instance.SetupStepMapper), }, reduce: (&IAMProjection{}).reduceSetupEvent, want: wantReduce{ - projection: IAMProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + projection: InstanceProjectionTable, + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPSERT INTO projections.iam (id, change_date, sequence, setup_done) VALUES ($1, $2, $3, $4)", + expectedStmt: "UPSERT INTO projections.instance (id, change_date, sequence, setup_done) VALUES ($1, $2, $3, $4)", expectedArgs: []interface{}{ "instance-id", anyArg{}, diff --git a/internal/query/projection/label_policy.go b/internal/query/projection/label_policy.go index 7f6bafad0c..1329fa85a2 100644 --- a/internal/query/projection/label_policy.go +++ b/internal/query/projection/label_policy.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -154,62 +154,62 @@ func (p *LabelPolicyProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.LabelPolicyAddedEventType, + Event: instance.LabelPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.LabelPolicyChangedEventType, + Event: instance.LabelPolicyChangedEventType, Reduce: p.reduceChanged, }, { - Event: iam.LabelPolicyActivatedEventType, + Event: instance.LabelPolicyActivatedEventType, Reduce: p.reduceActivated, }, { - Event: iam.LabelPolicyLogoAddedEventType, + Event: instance.LabelPolicyLogoAddedEventType, Reduce: p.reduceLogoAdded, }, { - Event: iam.LabelPolicyLogoRemovedEventType, + Event: instance.LabelPolicyLogoRemovedEventType, Reduce: p.reduceLogoRemoved, }, { - Event: iam.LabelPolicyIconAddedEventType, + Event: instance.LabelPolicyIconAddedEventType, Reduce: p.reduceIconAdded, }, { - Event: iam.LabelPolicyIconRemovedEventType, + Event: instance.LabelPolicyIconRemovedEventType, Reduce: p.reduceIconRemoved, }, { - Event: iam.LabelPolicyLogoDarkAddedEventType, + Event: instance.LabelPolicyLogoDarkAddedEventType, Reduce: p.reduceLogoAdded, }, { - Event: iam.LabelPolicyLogoDarkRemovedEventType, + Event: instance.LabelPolicyLogoDarkRemovedEventType, Reduce: p.reduceLogoRemoved, }, { - Event: iam.LabelPolicyIconDarkAddedEventType, + Event: instance.LabelPolicyIconDarkAddedEventType, Reduce: p.reduceIconAdded, }, { - Event: iam.LabelPolicyIconDarkRemovedEventType, + Event: instance.LabelPolicyIconDarkRemovedEventType, Reduce: p.reduceIconRemoved, }, { - Event: iam.LabelPolicyFontAddedEventType, + Event: instance.LabelPolicyFontAddedEventType, Reduce: p.reduceFontAdded, }, { - Event: iam.LabelPolicyFontRemovedEventType, + Event: instance.LabelPolicyFontRemovedEventType, Reduce: p.reduceFontRemoved, }, { - Event: iam.LabelPolicyAssetsRemovedEventType, + Event: instance.LabelPolicyAssetsRemovedEventType, Reduce: p.reduceAssetsRemoved, }, }, @@ -224,11 +224,11 @@ func (p *LabelPolicyProjection) reduceAdded(event eventstore.Event) (*handler.St case *org.LabelPolicyAddedEvent: policyEvent = e.LabelPolicyAddedEvent isDefault = false - case *iam.LabelPolicyAddedEvent: + case *instance.LabelPolicyAddedEvent: policyEvent = e.LabelPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CSE7A", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyAddedEventType, iam.LabelPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CSE7A", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyAddedEventType, instance.LabelPolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, @@ -260,10 +260,10 @@ func (p *LabelPolicyProjection) reduceChanged(event eventstore.Event) (*handler. switch e := event.(type) { case *org.LabelPolicyChangedEvent: policyEvent = e.LabelPolicyChangedEvent - case *iam.LabelPolicyChangedEvent: + case *instance.LabelPolicyChangedEvent: policyEvent = e.LabelPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qgVug", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyChangedEventType, iam.LabelPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qgVug", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyChangedEventType, instance.LabelPolicyChangedEventType}) } cols := []handler.Column{ handler.NewCol(LabelPolicyChangeDateCol, policyEvent.CreationDate()), @@ -325,10 +325,10 @@ func (p *LabelPolicyProjection) reduceRemoved(event eventstore.Event) (*handler. func (p *LabelPolicyProjection) reduceActivated(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { - case *org.LabelPolicyActivatedEvent, *iam.LabelPolicyActivatedEvent: + case *org.LabelPolicyActivatedEvent, *instance.LabelPolicyActivatedEvent: // everything ok default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-dldEU", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyActivatedEventType, iam.LabelPolicyActivatedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-dldEU", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyActivatedEventType, instance.LabelPolicyActivatedEventType}) } return crdb.NewCopyStatement( event, @@ -368,14 +368,14 @@ func (p *LabelPolicyProjection) reduceLogoAdded(event eventstore.Event) (*handle switch e := event.(type) { case *org.LabelPolicyLogoAddedEvent: storeKey = handler.NewCol(LabelPolicyLightLogoURLCol, e.StoreKey) - case *iam.LabelPolicyLogoAddedEvent: + case *instance.LabelPolicyLogoAddedEvent: storeKey = handler.NewCol(LabelPolicyLightLogoURLCol, e.StoreKey) case *org.LabelPolicyLogoDarkAddedEvent: storeKey = handler.NewCol(LabelPolicyDarkLogoURLCol, e.StoreKey) - case *iam.LabelPolicyLogoDarkAddedEvent: + case *instance.LabelPolicyLogoDarkAddedEvent: storeKey = handler.NewCol(LabelPolicyDarkLogoURLCol, e.StoreKey) default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-4wbOI", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyLogoAddedEventType, iam.LabelPolicyLogoAddedEventType, org.LabelPolicyLogoDarkAddedEventType, iam.LabelPolicyLogoDarkAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-4wbOI", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyLogoAddedEventType, instance.LabelPolicyLogoAddedEventType, org.LabelPolicyLogoDarkAddedEventType, instance.LabelPolicyLogoDarkAddedEventType}) } return crdb.NewUpdateStatement( @@ -396,14 +396,14 @@ func (p *LabelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*hand switch event.(type) { case *org.LabelPolicyLogoRemovedEvent: col = LabelPolicyLightLogoURLCol - case *iam.LabelPolicyLogoRemovedEvent: + case *instance.LabelPolicyLogoRemovedEvent: col = LabelPolicyLightLogoURLCol case *org.LabelPolicyLogoDarkRemovedEvent: col = LabelPolicyDarkLogoURLCol - case *iam.LabelPolicyLogoDarkRemovedEvent: + case *instance.LabelPolicyLogoDarkRemovedEvent: col = LabelPolicyDarkLogoURLCol default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-kg8H4", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyLogoRemovedEventType, iam.LabelPolicyLogoRemovedEventType, org.LabelPolicyLogoDarkRemovedEventType, iam.LabelPolicyLogoDarkRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-kg8H4", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyLogoRemovedEventType, instance.LabelPolicyLogoRemovedEventType, org.LabelPolicyLogoDarkRemovedEventType, instance.LabelPolicyLogoDarkRemovedEventType}) } return crdb.NewUpdateStatement( @@ -424,14 +424,14 @@ func (p *LabelPolicyProjection) reduceIconAdded(event eventstore.Event) (*handle switch e := event.(type) { case *org.LabelPolicyIconAddedEvent: storeKey = handler.NewCol(LabelPolicyLightIconURLCol, e.StoreKey) - case *iam.LabelPolicyIconAddedEvent: + case *instance.LabelPolicyIconAddedEvent: storeKey = handler.NewCol(LabelPolicyLightIconURLCol, e.StoreKey) case *org.LabelPolicyIconDarkAddedEvent: storeKey = handler.NewCol(LabelPolicyDarkIconURLCol, e.StoreKey) - case *iam.LabelPolicyIconDarkAddedEvent: + case *instance.LabelPolicyIconDarkAddedEvent: storeKey = handler.NewCol(LabelPolicyDarkIconURLCol, e.StoreKey) default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-e2JFz", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyIconAddedEventType, iam.LabelPolicyIconAddedEventType, org.LabelPolicyIconDarkAddedEventType, iam.LabelPolicyIconDarkAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-e2JFz", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyIconAddedEventType, instance.LabelPolicyIconAddedEventType, org.LabelPolicyIconDarkAddedEventType, instance.LabelPolicyIconDarkAddedEventType}) } return crdb.NewUpdateStatement( @@ -452,14 +452,14 @@ func (p *LabelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*hand switch event.(type) { case *org.LabelPolicyIconRemovedEvent: col = LabelPolicyLightIconURLCol - case *iam.LabelPolicyIconRemovedEvent: + case *instance.LabelPolicyIconRemovedEvent: col = LabelPolicyLightIconURLCol case *org.LabelPolicyIconDarkRemovedEvent: col = LabelPolicyDarkIconURLCol - case *iam.LabelPolicyIconDarkRemovedEvent: + case *instance.LabelPolicyIconDarkRemovedEvent: col = LabelPolicyDarkIconURLCol default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-gfgbY", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyIconRemovedEventType, iam.LabelPolicyIconRemovedEventType, org.LabelPolicyIconDarkRemovedEventType, iam.LabelPolicyIconDarkRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-gfgbY", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyIconRemovedEventType, instance.LabelPolicyIconRemovedEventType, org.LabelPolicyIconDarkRemovedEventType, instance.LabelPolicyIconDarkRemovedEventType}) } return crdb.NewUpdateStatement( @@ -480,10 +480,10 @@ func (p *LabelPolicyProjection) reduceFontAdded(event eventstore.Event) (*handle switch e := event.(type) { case *org.LabelPolicyFontAddedEvent: storeKey = handler.NewCol(LabelPolicyFontURLCol, e.StoreKey) - case *iam.LabelPolicyFontAddedEvent: + case *instance.LabelPolicyFontAddedEvent: storeKey = handler.NewCol(LabelPolicyFontURLCol, e.StoreKey) default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-65i9W", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyFontAddedEventType, iam.LabelPolicyFontAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-65i9W", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyFontAddedEventType, instance.LabelPolicyFontAddedEventType}) } return crdb.NewUpdateStatement( @@ -504,10 +504,10 @@ func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*hand switch event.(type) { case *org.LabelPolicyFontRemovedEvent: col = LabelPolicyFontURLCol - case *iam.LabelPolicyFontRemovedEvent: + case *instance.LabelPolicyFontRemovedEvent: col = LabelPolicyFontURLCol default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-xf32J", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyFontRemovedEventType, iam.LabelPolicyFontRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-xf32J", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyFontRemovedEventType, instance.LabelPolicyFontRemovedEventType}) } return crdb.NewUpdateStatement( @@ -525,10 +525,10 @@ func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*hand func (p *LabelPolicyProjection) reduceAssetsRemoved(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { - case *org.LabelPolicyAssetsRemovedEvent, *iam.LabelPolicyAssetsRemovedEvent: + case *org.LabelPolicyAssetsRemovedEvent, *instance.LabelPolicyAssetsRemovedEvent: //ok default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qi39A", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyAssetsRemovedEventType, iam.LabelPolicyAssetsRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qi39A", "reduce.wrong.event.type %v", []eventstore.EventType{org.LabelPolicyAssetsRemovedEventType, instance.LabelPolicyAssetsRemovedEventType}) } return crdb.NewUpdateStatement( diff --git a/internal/query/projection/label_policy_test.go b/internal/query/projection/label_policy_test.go index 589d0dfca9..ba414d0e86 100644 --- a/internal/query/projection/label_policy_test.go +++ b/internal/query/projection/label_policy_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -505,17 +505,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyAddedEventType), + instance.AggregateType, []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), - ), iam.LabelPolicyAddedEventMapper), + ), instance.LabelPolicyAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -550,17 +550,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyChangedEventType), + instance.AggregateType, []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b", "primaryColorDark": "#ffffff","backgroundColorDark": "#ffffff", "warnColorDark": "#ffffff", "fontColorDark": "#ffffff", "hideLoginNameSuffix": true, "errorMsgPopup": true, "disableWatermark": true}`), - ), iam.LabelPolicyChangedEventMapper), + ), instance.LabelPolicyChangedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -591,17 +591,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceActivated", + name: "instance.reduceActivated", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyActivatedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyActivatedEventType), + instance.AggregateType, nil, - ), iam.LabelPolicyActivatedEventMapper), + ), instance.LabelPolicyActivatedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceActivated, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -622,17 +622,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLogoAdded light", + name: "instance.reduceLogoAdded light", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyLogoAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyLogoAddedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/logo.png"}`), - ), iam.LabelPolicyLogoAddedEventMapper), + ), instance.LabelPolicyLogoAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -653,17 +653,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLogoAdded dark", + name: "instance.reduceLogoAdded dark", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyLogoDarkAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyLogoDarkAddedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/logo.png"}`), - ), iam.LabelPolicyLogoDarkAddedEventMapper), + ), instance.LabelPolicyLogoDarkAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -684,17 +684,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIconAdded light", + name: "instance.reduceIconAdded light", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyIconAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyIconAddedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/icon.png"}`), - ), iam.LabelPolicyIconAddedEventMapper), + ), instance.LabelPolicyIconAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceIconAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -715,17 +715,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIconAdded dark", + name: "instance.reduceIconAdded dark", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyIconDarkAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyIconDarkAddedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/icon.png"}`), - ), iam.LabelPolicyIconDarkAddedEventMapper), + ), instance.LabelPolicyIconDarkAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceIconAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -746,17 +746,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLogoRemoved light", + name: "instance.reduceLogoRemoved light", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyLogoRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyLogoRemovedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/logo.png"}`), - ), iam.LabelPolicyLogoRemovedEventMapper), + ), instance.LabelPolicyLogoRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -777,17 +777,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLogoRemoved dark", + name: "instance.reduceLogoRemoved dark", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyLogoDarkRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyLogoDarkRemovedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/logo.png"}`), - ), iam.LabelPolicyLogoDarkRemovedEventMapper), + ), instance.LabelPolicyLogoDarkRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -808,17 +808,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIconRemoved light", + name: "instance.reduceIconRemoved light", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyIconRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyIconRemovedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/icon.png"}`), - ), iam.LabelPolicyIconRemovedEventMapper), + ), instance.LabelPolicyIconRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -839,17 +839,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceIconRemoved dark", + name: "instance.reduceIconRemoved dark", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyIconDarkRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyIconDarkRemovedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/icon.png"}`), - ), iam.LabelPolicyIconDarkRemovedEventMapper), + ), instance.LabelPolicyIconDarkRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -870,17 +870,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceFontAdded", + name: "instance.reduceFontAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyFontAddedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyFontAddedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/font.ttf"}`), - ), iam.LabelPolicyFontAddedEventMapper), + ), instance.LabelPolicyFontAddedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceFontAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -901,17 +901,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceFontRemoved", + name: "instance.reduceFontRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyFontRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyFontRemovedEventType), + instance.AggregateType, []byte(`{"storeKey": "/path/to/font.ttf"}`), - ), iam.LabelPolicyFontRemovedEventMapper), + ), instance.LabelPolicyFontRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceFontRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, @@ -932,17 +932,17 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAssetsRemoved", + name: "instance.reduceAssetsRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.LabelPolicyAssetsRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LabelPolicyAssetsRemovedEventType), + instance.AggregateType, nil, - ), iam.LabelPolicyAssetsRemovedEventMapper), + ), instance.LabelPolicyAssetsRemovedEventMapper), }, reduce: (&LabelPolicyProjection{}).reduceAssetsRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LabelPolicyTable, diff --git a/internal/query/projection/lockout_policy.go b/internal/query/projection/lockout_policy.go index cec10b89c9..c757eaad54 100644 --- a/internal/query/projection/lockout_policy.go +++ b/internal/query/projection/lockout_policy.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -76,14 +76,14 @@ func (p *LockoutPolicyProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.LockoutPolicyAddedEventType, + Event: instance.LockoutPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.LockoutPolicyChangedEventType, + Event: instance.LockoutPolicyChangedEventType, Reduce: p.reduceChanged, }, }, @@ -98,11 +98,11 @@ func (p *LockoutPolicyProjection) reduceAdded(event eventstore.Event) (*handler. case *org.LockoutPolicyAddedEvent: policyEvent = e.LockoutPolicyAddedEvent isDefault = false - case *iam.LockoutPolicyAddedEvent: + case *instance.LockoutPolicyAddedEvent: policyEvent = e.LockoutPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-d8mZO", "reduce.wrong.event.type, %v", []eventstore.EventType{org.LockoutPolicyAddedEventType, iam.LockoutPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-d8mZO", "reduce.wrong.event.type, %v", []eventstore.EventType{org.LockoutPolicyAddedEventType, instance.LockoutPolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, @@ -125,10 +125,10 @@ func (p *LockoutPolicyProjection) reduceChanged(event eventstore.Event) (*handle switch e := event.(type) { case *org.LockoutPolicyChangedEvent: policyEvent = e.LockoutPolicyChangedEvent - case *iam.LockoutPolicyChangedEvent: + case *instance.LockoutPolicyChangedEvent: policyEvent = e.LockoutPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-pT3mQ", "reduce.wrong.event.type, %v", []eventstore.EventType{org.LockoutPolicyChangedEventType, iam.LockoutPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-pT3mQ", "reduce.wrong.event.type, %v", []eventstore.EventType{org.LockoutPolicyChangedEventType, instance.LockoutPolicyChangedEventType}) } cols := []handler.Column{ handler.NewCol(LockoutPolicyChangeDateCol, policyEvent.CreationDate()), diff --git a/internal/query/projection/lockout_policy_test.go b/internal/query/projection/lockout_policy_test.go index d2b470708c..0e178bc54b 100644 --- a/internal/query/projection/lockout_policy_test.go +++ b/internal/query/projection/lockout_policy_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -123,20 +123,20 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&LockoutPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LockoutPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.LockoutPolicyAddedEventType), + instance.AggregateType, []byte(`{ "maxPasswordAttempts": 10, "showLockOutFailures": true }`), - ), iam.LockoutPolicyAddedEventMapper), + ), instance.LockoutPolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LockoutPolicyTable, @@ -162,20 +162,20 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", reduce: (&LockoutPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LockoutPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.LockoutPolicyChangedEventType), + instance.AggregateType, []byte(`{ "maxPasswordAttempts": 10, "showLockOutFailures": true }`), - ), iam.LockoutPolicyChangedEventMapper), + ), instance.LockoutPolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LockoutPolicyTable, diff --git a/internal/query/projection/login_name.go b/internal/query/projection/login_name.go index b53f275e39..a83581d2bd 100644 --- a/internal/query/projection/login_name.go +++ b/internal/query/projection/login_name.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" "github.com/caos/zitadel/internal/repository/user" @@ -175,16 +175,16 @@ func (p *LoginNameProjection) reducers() []handler.AggregateReducer { Aggregate: org.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: org.OrgIAMPolicyAddedEventType, + Event: org.OrgDomainPolicyAddedEventType, Reduce: p.reduceOrgIAMPolicyAdded, }, { - Event: org.OrgIAMPolicyChangedEventType, - Reduce: p.reduceOrgIAMPolicyChanged, + Event: org.OrgDomainPolicyChangedEventType, + Reduce: p.reduceDomainPolicyChanged, }, { - Event: org.OrgIAMPolicyRemovedEventType, - Reduce: p.reduceOrgIAMPolicyRemoved, + Event: org.OrgDomainPolicyRemovedEventType, + Reduce: p.reduceDomainPolicyRemoved, }, { Event: org.OrgDomainPrimarySetEventType, @@ -201,15 +201,15 @@ func (p *LoginNameProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.OrgIAMPolicyAddedEventType, + Event: instance.InstanceDomainPolicyAddedEventType, Reduce: p.reduceOrgIAMPolicyAdded, }, { - Event: iam.OrgIAMPolicyChangedEventType, - Reduce: p.reduceOrgIAMPolicyChanged, + Event: instance.InstanceDomainPolicyChangedEventType, + Reduce: p.reduceDomainPolicyChanged, }, }, }, @@ -295,19 +295,19 @@ func (p *LoginNameProjection) reduceUserDomainClaimed(event eventstore.Event) (* func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*handler.Statement, error) { var ( - policyEvent *policy.OrgIAMPolicyAddedEvent + policyEvent *policy.DomainPolicyAddedEvent isDefault bool ) switch e := event.(type) { - case *org.OrgIAMPolicyAddedEvent: - policyEvent = &e.OrgIAMPolicyAddedEvent + case *org.OrgDomainPolicyAddedEvent: + policyEvent = &e.DomainPolicyAddedEvent isDefault = false - case *iam.OrgIAMPolicyAddedEvent: - policyEvent = &e.OrgIAMPolicyAddedEvent + case *instance.InstanceDomainPolicyAddedEvent: + policyEvent = &e.DomainPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-yCV6S", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgIAMPolicyAddedEventType, iam.OrgIAMPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-yCV6S", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgDomainPolicyAddedEventType, instance.InstanceDomainPolicyAddedEventType}) } return crdb.NewCreateStatement( @@ -322,16 +322,16 @@ func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (* ), nil } -func (p *LoginNameProjection) reduceOrgIAMPolicyChanged(event eventstore.Event) (*handler.Statement, error) { - var policyEvent *policy.OrgIAMPolicyChangedEvent +func (p *LoginNameProjection) reduceDomainPolicyChanged(event eventstore.Event) (*handler.Statement, error) { + var policyEvent *policy.DomainPolicyChangedEvent switch e := event.(type) { - case *org.OrgIAMPolicyChangedEvent: - policyEvent = &e.OrgIAMPolicyChangedEvent - case *iam.OrgIAMPolicyChangedEvent: - policyEvent = &e.OrgIAMPolicyChangedEvent + case *org.OrgDomainPolicyChangedEvent: + policyEvent = &e.DomainPolicyChangedEvent + case *instance.InstanceDomainPolicyChangedEvent: + policyEvent = &e.DomainPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ArFDd", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgIAMPolicyChangedEventType, iam.OrgIAMPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ArFDd", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgDomainPolicyChangedEventType, instance.InstanceDomainPolicyChangedEventType}) } if policyEvent.UserLoginMustBeDomain == nil { @@ -350,10 +350,10 @@ func (p *LoginNameProjection) reduceOrgIAMPolicyChanged(event eventstore.Event) ), nil } -func (p *LoginNameProjection) reduceOrgIAMPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*org.OrgIAMPolicyRemovedEvent) +func (p *LoginNameProjection) reduceDomainPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { + e, ok := event.(*org.OrgDomainPolicyRemovedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ysEeB", "reduce.wrong.event.type %s", org.OrgIAMPolicyRemovedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ysEeB", "reduce.wrong.event.type %s", org.OrgDomainPolicyRemovedEventType) } return crdb.NewDeleteStatement( diff --git a/internal/query/projection/login_name_test.go b/internal/query/projection/login_name_test.go index 5c83ea36f4..38506eb043 100644 --- a/internal/query/projection/login_name_test.go +++ b/internal/query/projection/login_name_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/user" ) @@ -206,15 +206,15 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "org.OrgIAMPolicyAddedEventType", + name: "org.OrgDomainPolicyAddedEventType", args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyAddedEventType), + repository.EventType(org.OrgDomainPolicyAddedEventType), user.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), org.OrgIAMPolicyAddedEventMapper), + ), org.OrgDomainPolicyAddedEventMapper), }, reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, want: wantReduce{ @@ -238,17 +238,17 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "org.OrgIAMPolicyChangedEventType", + name: "org.OrgDomainPolicyChangedEventType", args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyChangedEventType), + repository.EventType(org.OrgDomainPolicyChangedEventType), user.AggregateType, []byte(`{ "userLoginMustBeDomain": false }`), - ), org.OrgIAMPolicyChangedEventMapper), + ), org.OrgDomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyChanged, + reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -268,15 +268,15 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "org.OrgIAMPolicyChangedEventType no change", + name: "org.OrgDomainPolicyChangedEventType no change", args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyChangedEventType), + repository.EventType(org.OrgDomainPolicyChangedEventType), user.AggregateType, []byte(`{}`), - ), org.OrgIAMPolicyChangedEventMapper), + ), org.OrgDomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyChanged, + reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -288,15 +288,15 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "org.OrgIAMPolicyRemovedEventType", + name: "org.OrgDomainPolicyRemovedEventType", args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyRemovedEventType), + repository.EventType(org.OrgDomainPolicyRemovedEventType), user.AggregateType, []byte(`{}`), - ), org.OrgIAMPolicyRemovedEventMapper), + ), org.OrgDomainPolicyRemovedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyRemoved, + reduce: (&LoginNameProjection{}).reduceDomainPolicyRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -415,15 +415,15 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "iam.OrgIAMPolicyAddedEventType", + name: "iam.OrgDomainPolicyAddedEventType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.OrgIAMPolicyAddedEventType), + repository.EventType(instance.InstanceDomainPolicyAddedEventType), user.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), iam.OrgIAMPolicyAddedEventMapper), + ), instance.InstanceDomainPolicyAddedEventMapper), }, reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, want: wantReduce{ @@ -447,17 +447,17 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "iam.OrgIAMPolicyChangedEventType", + name: "iam.OrgDomainPolicyChangedEventType", args: args{ event: getEvent(testEvent( - repository.EventType(iam.OrgIAMPolicyChangedEventType), + repository.EventType(instance.InstanceDomainPolicyChangedEventType), user.AggregateType, []byte(`{ "userLoginMustBeDomain": false }`), - ), iam.OrgIAMPolicyChangedEventMapper), + ), instance.InstanceDomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyChanged, + reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -477,15 +477,15 @@ func TestLoginNameProjection_reduces(t *testing.T) { }, }, { - name: "iam.OrgIAMPolicyChangedEventType no change", + name: "iam.OrgDomainPolicyChangedEventType no change", args: args{ event: getEvent(testEvent( - repository.EventType(iam.OrgIAMPolicyChangedEventType), + repository.EventType(instance.InstanceDomainPolicyChangedEventType), user.AggregateType, []byte(`{}`), - ), iam.OrgIAMPolicyChangedEventMapper), + ), instance.InstanceDomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyChanged, + reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, diff --git a/internal/query/projection/login_policy.go b/internal/query/projection/login_policy.go index 43460f9997..1c38bb5810 100644 --- a/internal/query/projection/login_policy.go +++ b/internal/query/projection/login_policy.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -109,30 +109,30 @@ func (p *LoginPolicyProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.LoginPolicyAddedEventType, + Event: instance.LoginPolicyAddedEventType, Reduce: p.reduceLoginPolicyAdded, }, { - Event: iam.LoginPolicyChangedEventType, + Event: instance.LoginPolicyChangedEventType, Reduce: p.reduceLoginPolicyChanged, }, { - Event: iam.LoginPolicyMultiFactorAddedEventType, + Event: instance.LoginPolicyMultiFactorAddedEventType, Reduce: p.reduceMFAAdded, }, { - Event: iam.LoginPolicyMultiFactorRemovedEventType, + Event: instance.LoginPolicyMultiFactorRemovedEventType, Reduce: p.reduceMFARemoved, }, { - Event: iam.LoginPolicySecondFactorAddedEventType, + Event: instance.LoginPolicySecondFactorAddedEventType, Reduce: p.reduce2FAAdded, }, { - Event: iam.LoginPolicySecondFactorRemovedEventType, + Event: instance.LoginPolicySecondFactorRemovedEventType, Reduce: p.reduce2FARemoved, }, }, @@ -144,14 +144,14 @@ func (p *LoginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) ( var policyEvent policy.LoginPolicyAddedEvent var isDefault bool switch e := event.(type) { - case *iam.LoginPolicyAddedEvent: + case *instance.LoginPolicyAddedEvent: policyEvent = e.LoginPolicyAddedEvent isDefault = true case *org.LoginPolicyAddedEvent: policyEvent = e.LoginPolicyAddedEvent isDefault = false default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyAddedEventType, iam.LoginPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pYPxS", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyAddedEventType, instance.LoginPolicyAddedEventType}) } return crdb.NewCreateStatement(&policyEvent, []handler.Column{ @@ -178,12 +178,12 @@ func (p *LoginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) ( func (p *LoginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LoginPolicyChangedEvent switch e := event.(type) { - case *iam.LoginPolicyChangedEvent: + case *instance.LoginPolicyChangedEvent: policyEvent = e.LoginPolicyChangedEvent case *org.LoginPolicyChangedEvent: policyEvent = e.LoginPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-BpaO6", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyChangedEventType, iam.LoginPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-BpaO6", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyChangedEventType, instance.LoginPolicyChangedEventType}) } cols := []handler.Column{ @@ -236,12 +236,12 @@ func (p *LoginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event) func (p *LoginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.MultiFactorAddedEvent switch e := event.(type) { - case *iam.LoginPolicyMultiFactorAddedEvent: + case *instance.LoginPolicyMultiFactorAddedEvent: policyEvent = e.MultiFactorAddedEvent case *org.LoginPolicyMultiFactorAddedEvent: policyEvent = e.MultiFactorAddedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-WMhAV", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyMultiFactorAddedEventType, iam.LoginPolicyMultiFactorAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-WMhAV", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyMultiFactorAddedEventType, instance.LoginPolicyMultiFactorAddedEventType}) } return crdb.NewUpdateStatement( @@ -260,12 +260,12 @@ func (p *LoginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler func (p *LoginPolicyProjection) reduceMFARemoved(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.MultiFactorRemovedEvent switch e := event.(type) { - case *iam.LoginPolicyMultiFactorRemovedEvent: + case *instance.LoginPolicyMultiFactorRemovedEvent: policyEvent = e.MultiFactorRemovedEvent case *org.LoginPolicyMultiFactorRemovedEvent: policyEvent = e.MultiFactorRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-czU7n", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyMultiFactorRemovedEventType, iam.LoginPolicyMultiFactorRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-czU7n", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicyMultiFactorRemovedEventType, instance.LoginPolicyMultiFactorRemovedEventType}) } return crdb.NewUpdateStatement( @@ -297,12 +297,12 @@ func (p *LoginPolicyProjection) reduceLoginPolicyRemoved(event eventstore.Event) func (p *LoginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.SecondFactorAddedEvent switch e := event.(type) { - case *iam.LoginPolicySecondFactorAddedEvent: + case *instance.LoginPolicySecondFactorAddedEvent: policyEvent = e.SecondFactorAddedEvent case *org.LoginPolicySecondFactorAddedEvent: policyEvent = e.SecondFactorAddedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-agB2E", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicySecondFactorAddedEventType, iam.LoginPolicySecondFactorAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-agB2E", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicySecondFactorAddedEventType, instance.LoginPolicySecondFactorAddedEventType}) } return crdb.NewUpdateStatement( @@ -321,12 +321,12 @@ func (p *LoginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler func (p *LoginPolicyProjection) reduce2FARemoved(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.SecondFactorRemovedEvent switch e := event.(type) { - case *iam.LoginPolicySecondFactorRemovedEvent: + case *instance.LoginPolicySecondFactorRemovedEvent: policyEvent = e.SecondFactorRemovedEvent case *org.LoginPolicySecondFactorRemovedEvent: policyEvent = e.SecondFactorRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-KYJvA", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicySecondFactorRemovedEventType, iam.LoginPolicySecondFactorRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-KYJvA", "reduce.wrong.event.type %v", []eventstore.EventType{org.LoginPolicySecondFactorRemovedEventType, instance.LoginPolicySecondFactorRemovedEventType}) } return crdb.NewUpdateStatement( diff --git a/internal/query/projection/login_policy_test.go b/internal/query/projection/login_policy_test.go index d89084d811..93a459f2a1 100644 --- a/internal/query/projection/login_policy_test.go +++ b/internal/query/projection/login_policy_test.go @@ -9,7 +9,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -286,12 +286,12 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLoginPolicyAdded", + name: "instance.reduceLoginPolicyAdded", reduce: (&LoginPolicyProjection{}).reduceLoginPolicyAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyAddedEventType), + instance.AggregateType, []byte(`{ "allowUsernamePassword": true, "allowRegister": true, @@ -305,10 +305,10 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { "secondFactorCheckLifetime": 10000000, "multiFactorCheckLifetime": 10000000 }`), - ), iam.LoginPolicyAddedEventMapper), + ), instance.LoginPolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, @@ -341,12 +341,12 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceLoginPolicyChanged", + name: "instance.reduceLoginPolicyChanged", reduce: (&LoginPolicyProjection{}).reduceLoginPolicyChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyChangedEventType), + instance.AggregateType, []byte(`{ "allowUsernamePassword": true, "allowRegister": true, @@ -355,10 +355,10 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { "hidePasswordReset": true, "passwordlessType": 1 }`), - ), iam.LoginPolicyChangedEventMapper), + ), instance.LoginPolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, @@ -383,19 +383,19 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceMFAAdded", + name: "instance.reduceMFAAdded", reduce: (&LoginPolicyProjection{}).reduceMFAAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyMultiFactorAddedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyMultiFactorAddedEventType), + instance.AggregateType, []byte(`{ "mfaType": 1 }`), - ), iam.MultiFactorAddedEventMapper), + ), instance.MultiFactorAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, @@ -415,19 +415,19 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceMFARemoved", + name: "instance.reduceMFARemoved", reduce: (&LoginPolicyProjection{}).reduceMFARemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicyMultiFactorRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicyMultiFactorRemovedEventType), + instance.AggregateType, []byte(`{ "mfaType": 1 }`), - ), iam.MultiFactorRemovedEventMapper), + ), instance.MultiFactorRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, @@ -447,19 +447,19 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduce2FAAdded", + name: "instance.reduce2FAAdded", reduce: (&LoginPolicyProjection{}).reduce2FAAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicySecondFactorAddedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicySecondFactorAddedEventType), + instance.AggregateType, []byte(`{ "mfaType": 2 }`), - ), iam.SecondFactorAddedEventMapper), + ), instance.SecondFactorAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, @@ -479,19 +479,19 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduce2FARemoved", + name: "instance.reduce2FARemoved", reduce: (&LoginPolicyProjection{}).reduce2FARemoved, args: args{ event: getEvent(testEvent( - repository.EventType(iam.LoginPolicySecondFactorRemovedEventType), - iam.AggregateType, + repository.EventType(instance.LoginPolicySecondFactorRemovedEventType), + instance.AggregateType, []byte(`{ "mfaType": 2 }`), - ), iam.SecondFactorRemovedEventMapper), + ), instance.SecondFactorRemovedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: LoginPolicyTable, diff --git a/internal/query/projection/mail_template.go b/internal/query/projection/mail_template.go index 3094cfe3ae..a558199379 100644 --- a/internal/query/projection/mail_template.go +++ b/internal/query/projection/mail_template.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -72,14 +72,14 @@ func (p *MailTemplateProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.MailTemplateAddedEventType, + Event: instance.MailTemplateAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.MailTemplateChangedEventType, + Event: instance.MailTemplateChangedEventType, Reduce: p.reduceChanged, }, }, @@ -94,11 +94,11 @@ func (p *MailTemplateProjection) reduceAdded(event eventstore.Event) (*handler.S case *org.MailTemplateAddedEvent: templateEvent = e.MailTemplateAddedEvent isDefault = false - case *iam.MailTemplateAddedEvent: + case *instance.MailTemplateAddedEvent: templateEvent = e.MailTemplateAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-0pJ3f", "reduce.wrong.event.type, %v", []eventstore.EventType{org.MailTemplateAddedEventType, iam.MailTemplateAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-0pJ3f", "reduce.wrong.event.type, %v", []eventstore.EventType{org.MailTemplateAddedEventType, instance.MailTemplateAddedEventType}) } return crdb.NewCreateStatement( &templateEvent, @@ -119,10 +119,10 @@ func (p *MailTemplateProjection) reduceChanged(event eventstore.Event) (*handler switch e := event.(type) { case *org.MailTemplateChangedEvent: policyEvent = e.MailTemplateChangedEvent - case *iam.MailTemplateChangedEvent: + case *instance.MailTemplateChangedEvent: policyEvent = e.MailTemplateChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-gJ03f", "reduce.wrong.event.type, %v", []eventstore.EventType{org.MailTemplateChangedEventType, iam.MailTemplateChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-gJ03f", "reduce.wrong.event.type, %v", []eventstore.EventType{org.MailTemplateChangedEventType, instance.MailTemplateChangedEventType}) } cols := []handler.Column{ handler.NewCol(MailTemplateChangeDateCol, policyEvent.CreationDate()), diff --git a/internal/query/projection/mail_template_test.go b/internal/query/projection/mail_template_test.go index dc35c82798..5a17774ed3 100644 --- a/internal/query/projection/mail_template_test.go +++ b/internal/query/projection/mail_template_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -118,19 +118,19 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&MailTemplateProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.MailTemplateAddedEventType), - iam.AggregateType, + repository.EventType(instance.MailTemplateAddedEventType), + instance.AggregateType, []byte(`{ "template": "PHRhYmxlPjwvdGFibGU+" }`), - ), iam.MailTemplateAddedEventMapper), + ), instance.MailTemplateAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: MailTemplateTable, @@ -154,19 +154,19 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", reduce: (&MailTemplateProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.MailTemplateChangedEventType), - iam.AggregateType, + repository.EventType(instance.MailTemplateChangedEventType), + instance.AggregateType, []byte(`{ "template": "PHRhYmxlPjwvdGFibGU+" }`), - ), iam.MailTemplateChangedEventMapper), + ), instance.MailTemplateChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: MailTemplateTable, diff --git a/internal/query/projection/message_text_test.go b/internal/query/projection/message_text_test.go index 8307bd260a..d612a2f948 100644 --- a/internal/query/projection/message_text_test.go +++ b/internal/query/projection/message_text_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -588,22 +588,22 @@ func TestMessageTextProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&MessageTextProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.CustomTextSetEventType), - iam.AggregateType, + repository.EventType(instance.CustomTextSetEventType), + instance.AggregateType, []byte(`{ "key": "Title", "language": "en", "template": "InitCode", "text": "Test" }`), - ), iam.CustomTextSetEventMapper), + ), instance.CustomTextSetEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: MessageTextTable, @@ -628,21 +628,21 @@ func TestMessageTextProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceRemoved.Title", + name: "instance.reduceRemoved.Title", args: args{ event: getEvent(testEvent( - repository.EventType(iam.CustomTextRemovedEventType), - iam.AggregateType, + repository.EventType(instance.CustomTextRemovedEventType), + instance.AggregateType, []byte(`{ "key": "Title", "language": "en", "template": "InitCode" }`), - ), iam.CustomTextRemovedEventMapper), + ), instance.CustomTextRemovedEventMapper), }, reduce: (&MessageTextProjection{}).reduceRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: MessageTextTable, diff --git a/internal/query/projection/message_texts.go b/internal/query/projection/message_texts.go index b9cd735ce9..a7e8e10aa2 100644 --- a/internal/query/projection/message_texts.go +++ b/internal/query/projection/message_texts.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -86,18 +86,18 @@ func (p *MessageTextProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.CustomTextSetEventType, + Event: instance.CustomTextSetEventType, Reduce: p.reduceAdded, }, { - Event: iam.CustomTextRemovedEventType, + Event: instance.CustomTextRemovedEventType, Reduce: p.reduceRemoved, }, { - Event: iam.CustomTextTemplateRemovedEventType, + Event: instance.CustomTextTemplateRemovedEventType, Reduce: p.reduceTemplateRemoved, }, }, @@ -110,10 +110,10 @@ func (p *MessageTextProjection) reduceAdded(event eventstore.Event) (*handler.St switch e := event.(type) { case *org.CustomTextSetEvent: templateEvent = e.CustomTextSetEvent - case *iam.CustomTextSetEvent: + case *instance.CustomTextSetEvent: templateEvent = e.CustomTextSetEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-2n90r", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextSetEventType, iam.CustomTextSetEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-2n90r", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextSetEventType, instance.CustomTextSetEventType}) } if !isMessageTemplate(templateEvent.Template) { return crdb.NewNoOpStatement(event), nil @@ -160,10 +160,10 @@ func (p *MessageTextProjection) reduceRemoved(event eventstore.Event) (*handler. switch e := event.(type) { case *org.CustomTextRemovedEvent: templateEvent = e.CustomTextRemovedEvent - case *iam.CustomTextRemovedEvent: + case *instance.CustomTextRemovedEvent: templateEvent = e.CustomTextRemovedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-fm0ge", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextRemovedEventType, iam.CustomTextRemovedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-fm0ge", "reduce.wrong.event.type %v", []eventstore.EventType{org.CustomTextRemovedEventType, instance.CustomTextRemovedEventType}) } if !isMessageTemplate(templateEvent.Template) { return crdb.NewNoOpStatement(event), nil @@ -209,7 +209,7 @@ func (p *MessageTextProjection) reduceTemplateRemoved(event eventstore.Event) (* switch e := event.(type) { case *org.CustomTextTemplateRemovedEvent: templateEvent = e.CustomTextTemplateRemovedEvent - case *iam.CustomTextTemplateRemovedEvent: + case *instance.CustomTextTemplateRemovedEvent: templateEvent = e.CustomTextTemplateRemovedEvent default: return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-2n9rs", "reduce.wrong.event.type %s", org.CustomTextTemplateRemovedEventType) diff --git a/internal/query/projection/oidc_settings.go b/internal/query/projection/oidc_settings.go index 8e3eba422a..0acb491fa0 100644 --- a/internal/query/projection/oidc_settings.go +++ b/internal/query/projection/oidc_settings.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/project" ) @@ -61,11 +61,11 @@ func (p *OIDCSettingsProjection) reducers() []handler.AggregateReducer { Aggregate: project.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.OIDCSettingsAddedEventType, + Event: instance.OIDCSettingsAddedEventType, Reduce: p.reduceOIDCSettingsAdded, }, { - Event: iam.OIDCSettingsChangedEventType, + Event: instance.OIDCSettingsChangedEventType, Reduce: p.reduceOIDCSettingsChanged, }, }, @@ -74,9 +74,9 @@ func (p *OIDCSettingsProjection) reducers() []handler.AggregateReducer { } func (p *OIDCSettingsProjection) reduceOIDCSettingsAdded(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.OIDCSettingsAddedEvent) + e, ok := event.(*instance.OIDCSettingsAddedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-f9nwf", "reduce.wrong.event.type %s", iam.OIDCSettingsAddedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-f9nwf", "reduce.wrong.event.type %s", instance.OIDCSettingsAddedEventType) } return crdb.NewCreateStatement( e, @@ -96,9 +96,9 @@ func (p *OIDCSettingsProjection) reduceOIDCSettingsAdded(event eventstore.Event) } func (p *OIDCSettingsProjection) reduceOIDCSettingsChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.OIDCSettingsChangedEvent) + e, ok := event.(*instance.OIDCSettingsChangedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-8JJ2d", "reduce.wrong.event.type %s", iam.OIDCSettingsChangedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-8JJ2d", "reduce.wrong.event.type %s", instance.OIDCSettingsChangedEventType) } columns := make([]handler.Column, 0, 6) diff --git a/internal/query/projection/oidc_settings_test.go b/internal/query/projection/oidc_settings_test.go index 23dfe98fb2..9c31933459 100644 --- a/internal/query/projection/oidc_settings_test.go +++ b/internal/query/projection/oidc_settings_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestOIDCSettingsProjection_reduces(t *testing.T) { @@ -25,15 +25,15 @@ func TestOIDCSettingsProjection_reduces(t *testing.T) { name: "reduceOIDCSettingsChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.OIDCSettingsChangedEventType), - iam.AggregateType, + repository.EventType(instance.OIDCSettingsChangedEventType), + instance.AggregateType, []byte(`{"accessTokenLifetime": 10000000, "idTokenLifetime": 10000000, "refreshTokenIdleExpiration": 10000000, "refreshTokenExpiration": 10000000}`), - ), iam.OIDCSettingsChangedEventMapper), + ), instance.OIDCSettingsChangedEventMapper), }, reduce: (&OIDCSettingsProjection{}).reduceOIDCSettingsChanged, want: wantReduce{ projection: OIDCSettingsProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ @@ -58,15 +58,15 @@ func TestOIDCSettingsProjection_reduces(t *testing.T) { name: "reduceOIDCSettingsAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.OIDCSettingsAddedEventType), - iam.AggregateType, + repository.EventType(instance.OIDCSettingsAddedEventType), + instance.AggregateType, []byte(`{"accessTokenLifetime": 10000000, "idTokenLifetime": 10000000, "refreshTokenIdleExpiration": 10000000, "refreshTokenExpiration": 10000000}`), - ), iam.OIDCSettingsAddedEventMapper), + ), instance.OIDCSettingsAddedEventMapper), }, reduce: (&OIDCSettingsProjection{}).reduceOIDCSettingsAdded, want: wantReduce{ projection: OIDCSettingsProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ diff --git a/internal/query/projection/org_iam_policy.go b/internal/query/projection/org_iam_policy.go index 904afdee7d..32a98ce08e 100644 --- a/internal/query/projection/org_iam_policy.go +++ b/internal/query/projection/org_iam_policy.go @@ -8,80 +8,80 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) const ( - OrgIAMPolicyTable = "projections.org_iam_policies" + DomainPolicyTable = "projections.domain_policies" - OrgIAMPolicyIDCol = "id" - OrgIAMPolicyCreationDateCol = "creation_date" - OrgIAMPolicyChangeDateCol = "change_date" - OrgIAMPolicySequenceCol = "sequence" - OrgIAMPolicyStateCol = "state" - OrgIAMPolicyUserLoginMustBeDomainCol = "user_login_must_be_domain" - OrgIAMPolicyIsDefaultCol = "is_default" - OrgIAMPolicyResourceOwnerCol = "resource_owner" - OrgIAMPolicyInstanceIDCol = "instance_id" + DomainPolicyIDCol = "id" + DomainPolicyCreationDateCol = "creation_date" + DomainPolicyChangeDateCol = "change_date" + DomainPolicySequenceCol = "sequence" + DomainPolicyStateCol = "state" + DomainPolicyUserLoginMustBeDomainCol = "user_login_must_be_domain" + DomainPolicyIsDefaultCol = "is_default" + DomainPolicyResourceOwnerCol = "resource_owner" + DomainPolicyInstanceIDCol = "instance_id" ) -type OrgIAMPolicyProjection struct { +type DomainPolicyProjection struct { crdb.StatementHandler } -func NewOrgIAMPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OrgIAMPolicyProjection { - p := new(OrgIAMPolicyProjection) - config.ProjectionName = OrgIAMPolicyTable +func NewDomainPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *DomainPolicyProjection { + p := new(DomainPolicyProjection) + config.ProjectionName = DomainPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( crdb.NewTable([]*crdb.Column{ - crdb.NewColumn(OrgIAMPolicyIDCol, crdb.ColumnTypeText), - crdb.NewColumn(OrgIAMPolicyCreationDateCol, crdb.ColumnTypeTimestamp), - crdb.NewColumn(OrgIAMPolicyChangeDateCol, crdb.ColumnTypeTimestamp), - crdb.NewColumn(OrgIAMPolicySequenceCol, crdb.ColumnTypeInt64), - crdb.NewColumn(OrgIAMPolicyStateCol, crdb.ColumnTypeEnum), - crdb.NewColumn(OrgIAMPolicyUserLoginMustBeDomainCol, crdb.ColumnTypeBool), - crdb.NewColumn(OrgIAMPolicyIsDefaultCol, crdb.ColumnTypeBool, crdb.Default(false)), - crdb.NewColumn(OrgIAMPolicyResourceOwnerCol, crdb.ColumnTypeText), - crdb.NewColumn(OrgIAMPolicyInstanceIDCol, crdb.ColumnTypeText), + crdb.NewColumn(DomainPolicyIDCol, crdb.ColumnTypeText), + crdb.NewColumn(DomainPolicyCreationDateCol, crdb.ColumnTypeTimestamp), + crdb.NewColumn(DomainPolicyChangeDateCol, crdb.ColumnTypeTimestamp), + crdb.NewColumn(DomainPolicySequenceCol, crdb.ColumnTypeInt64), + crdb.NewColumn(DomainPolicyStateCol, crdb.ColumnTypeEnum), + crdb.NewColumn(DomainPolicyUserLoginMustBeDomainCol, crdb.ColumnTypeBool), + crdb.NewColumn(DomainPolicyIsDefaultCol, crdb.ColumnTypeBool, crdb.Default(false)), + crdb.NewColumn(DomainPolicyResourceOwnerCol, crdb.ColumnTypeText), + crdb.NewColumn(DomainPolicyInstanceIDCol, crdb.ColumnTypeText), }, - crdb.NewPrimaryKey(OrgIAMPolicyInstanceIDCol, OrgIAMPolicyIDCol), + crdb.NewPrimaryKey(DomainPolicyInstanceIDCol, DomainPolicyIDCol), ), ) p.StatementHandler = crdb.NewStatementHandler(ctx, config) return p } -func (p *OrgIAMPolicyProjection) reducers() []handler.AggregateReducer { +func (p *DomainPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: org.OrgIAMPolicyAddedEventType, + Event: org.OrgDomainPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: org.OrgIAMPolicyChangedEventType, + Event: org.OrgDomainPolicyChangedEventType, Reduce: p.reduceChanged, }, { - Event: org.OrgIAMPolicyRemovedEventType, + Event: org.OrgDomainPolicyRemovedEventType, Reduce: p.reduceRemoved, }, }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.OrgIAMPolicyAddedEventType, + Event: instance.InstanceDomainPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.OrgIAMPolicyChangedEventType, + Event: instance.InstanceDomainPolicyChangedEventType, Reduce: p.reduceChanged, }, }, @@ -89,67 +89,67 @@ func (p *OrgIAMPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *OrgIAMPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { - var policyEvent policy.OrgIAMPolicyAddedEvent +func (p *DomainPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { + var policyEvent policy.DomainPolicyAddedEvent var isDefault bool switch e := event.(type) { - case *org.OrgIAMPolicyAddedEvent: - policyEvent = e.OrgIAMPolicyAddedEvent + case *org.OrgDomainPolicyAddedEvent: + policyEvent = e.DomainPolicyAddedEvent isDefault = false - case *iam.OrgIAMPolicyAddedEvent: - policyEvent = e.OrgIAMPolicyAddedEvent + case *instance.InstanceDomainPolicyAddedEvent: + policyEvent = e.DomainPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CSE7A", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgIAMPolicyAddedEventType, iam.OrgIAMPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CSE7A", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgDomainPolicyAddedEventType, instance.InstanceDomainPolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, []handler.Column{ - handler.NewCol(OrgIAMPolicyCreationDateCol, policyEvent.CreationDate()), - handler.NewCol(OrgIAMPolicyChangeDateCol, policyEvent.CreationDate()), - handler.NewCol(OrgIAMPolicySequenceCol, policyEvent.Sequence()), - handler.NewCol(OrgIAMPolicyIDCol, policyEvent.Aggregate().ID), - handler.NewCol(OrgIAMPolicyStateCol, domain.PolicyStateActive), - handler.NewCol(OrgIAMPolicyUserLoginMustBeDomainCol, policyEvent.UserLoginMustBeDomain), - handler.NewCol(OrgIAMPolicyIsDefaultCol, isDefault), - handler.NewCol(OrgIAMPolicyResourceOwnerCol, policyEvent.Aggregate().ResourceOwner), - handler.NewCol(OrgIAMPolicyInstanceIDCol, policyEvent.Aggregate().InstanceID), + handler.NewCol(DomainPolicyCreationDateCol, policyEvent.CreationDate()), + handler.NewCol(DomainPolicyChangeDateCol, policyEvent.CreationDate()), + handler.NewCol(DomainPolicySequenceCol, policyEvent.Sequence()), + handler.NewCol(DomainPolicyIDCol, policyEvent.Aggregate().ID), + handler.NewCol(DomainPolicyStateCol, domain.PolicyStateActive), + handler.NewCol(DomainPolicyUserLoginMustBeDomainCol, policyEvent.UserLoginMustBeDomain), + handler.NewCol(DomainPolicyIsDefaultCol, isDefault), + handler.NewCol(DomainPolicyResourceOwnerCol, policyEvent.Aggregate().ResourceOwner), + handler.NewCol(DomainPolicyInstanceIDCol, policyEvent.Aggregate().InstanceID), }), nil } -func (p *OrgIAMPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { - var policyEvent policy.OrgIAMPolicyChangedEvent +func (p *DomainPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { + var policyEvent policy.DomainPolicyChangedEvent switch e := event.(type) { - case *org.OrgIAMPolicyChangedEvent: - policyEvent = e.OrgIAMPolicyChangedEvent - case *iam.OrgIAMPolicyChangedEvent: - policyEvent = e.OrgIAMPolicyChangedEvent + case *org.OrgDomainPolicyChangedEvent: + policyEvent = e.DomainPolicyChangedEvent + case *instance.InstanceDomainPolicyChangedEvent: + policyEvent = e.DomainPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qgVug", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgIAMPolicyChangedEventType, iam.OrgIAMPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-qgVug", "reduce.wrong.event.type %v", []eventstore.EventType{org.OrgDomainPolicyChangedEventType, instance.InstanceDomainPolicyChangedEventType}) } cols := []handler.Column{ - handler.NewCol(OrgIAMPolicyChangeDateCol, policyEvent.CreationDate()), - handler.NewCol(OrgIAMPolicySequenceCol, policyEvent.Sequence()), + handler.NewCol(DomainPolicyChangeDateCol, policyEvent.CreationDate()), + handler.NewCol(DomainPolicySequenceCol, policyEvent.Sequence()), } if policyEvent.UserLoginMustBeDomain != nil { - cols = append(cols, handler.NewCol(OrgIAMPolicyUserLoginMustBeDomainCol, *policyEvent.UserLoginMustBeDomain)) + cols = append(cols, handler.NewCol(DomainPolicyUserLoginMustBeDomainCol, *policyEvent.UserLoginMustBeDomain)) } return crdb.NewUpdateStatement( &policyEvent, cols, []handler.Condition{ - handler.NewCond(OrgIAMPolicyIDCol, policyEvent.Aggregate().ID), + handler.NewCond(DomainPolicyIDCol, policyEvent.Aggregate().ID), }), nil } -func (p *OrgIAMPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { - policyEvent, ok := event.(*org.OrgIAMPolicyRemovedEvent) +func (p *DomainPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { + policyEvent, ok := event.(*org.OrgDomainPolicyRemovedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-JAENd", "reduce.wrong.event.type %s", org.OrgIAMPolicyRemovedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-JAENd", "reduce.wrong.event.type %s", org.OrgDomainPolicyRemovedEventType) } return crdb.NewDeleteStatement( policyEvent, []handler.Condition{ - handler.NewCond(OrgIAMPolicyIDCol, policyEvent.Aggregate().ID), + handler.NewCond(DomainPolicyIDCol, policyEvent.Aggregate().ID), }), nil } diff --git a/internal/query/projection/org_iam_policy_test.go b/internal/query/projection/org_iam_policy_test.go index 3d769922b3..3b291e0e00 100644 --- a/internal/query/projection/org_iam_policy_test.go +++ b/internal/query/projection/org_iam_policy_test.go @@ -8,11 +8,11 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) -func TestOrgIAMPolicyProjection_reduces(t *testing.T) { +func TestDomainPolicyProjection_reduces(t *testing.T) { type args struct { event func(t *testing.T) eventstore.Event } @@ -26,23 +26,23 @@ func TestOrgIAMPolicyProjection_reduces(t *testing.T) { name: "org.reduceAdded", args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyAddedEventType), + repository.EventType(org.OrgDomainPolicyAddedEventType), org.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), org.OrgIAMPolicyAddedEventMapper), + ), org.OrgDomainPolicyAddedEventMapper), }, - reduce: (&OrgIAMPolicyProjection{}).reduceAdded, + reduce: (&DomainPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, previousSequence: 10, - projection: OrgIAMPolicyTable, + projection: DomainPolicyTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "INSERT INTO projections.org_iam_policies (creation_date, change_date, sequence, id, state, user_login_must_be_domain, is_default, resource_owner, instance_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)", + expectedStmt: "INSERT INTO projections.domain_policies (creation_date, change_date, sequence, id, state, user_login_must_be_domain, is_default, resource_owner, instance_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)", expectedArgs: []interface{}{ anyArg{}, anyArg{}, @@ -61,25 +61,25 @@ func TestOrgIAMPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&OrgIAMPolicyProjection{}).reduceChanged, + reduce: (&DomainPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyChangedEventType), + repository.EventType(org.OrgDomainPolicyChangedEventType), org.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), org.OrgIAMPolicyChangedEventMapper), + ), org.OrgDomainPolicyChangedEventMapper), }, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, previousSequence: 10, - projection: OrgIAMPolicyTable, + projection: DomainPolicyTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPDATE projections.org_iam_policies SET (change_date, sequence, user_login_must_be_domain) = ($1, $2, $3) WHERE (id = $4)", + expectedStmt: "UPDATE projections.domain_policies SET (change_date, sequence, user_login_must_be_domain) = ($1, $2, $3) WHERE (id = $4)", expectedArgs: []interface{}{ anyArg{}, uint64(15), @@ -93,23 +93,23 @@ func TestOrgIAMPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&OrgIAMPolicyProjection{}).reduceRemoved, + reduce: (&DomainPolicyProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( - repository.EventType(org.OrgIAMPolicyRemovedEventType), + repository.EventType(org.OrgDomainPolicyRemovedEventType), org.AggregateType, nil, - ), org.OrgIAMPolicyRemovedEventMapper), + ), org.OrgDomainPolicyRemovedEventMapper), }, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, previousSequence: 10, - projection: OrgIAMPolicyTable, + projection: DomainPolicyTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "DELETE FROM projections.org_iam_policies WHERE (id = $1)", + expectedStmt: "DELETE FROM projections.domain_policies WHERE (id = $1)", expectedArgs: []interface{}{ "agg-id", }, @@ -119,26 +119,26 @@ func TestOrgIAMPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", - reduce: (&OrgIAMPolicyProjection{}).reduceAdded, + name: "instance.reduceAdded", + reduce: (&DomainPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.OrgIAMPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.InstanceDomainPolicyAddedEventType), + instance.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), iam.OrgIAMPolicyAddedEventMapper), + ), instance.InstanceDomainPolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, - projection: OrgIAMPolicyTable, + projection: DomainPolicyTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "INSERT INTO projections.org_iam_policies (creation_date, change_date, sequence, id, state, user_login_must_be_domain, is_default, resource_owner, instance_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)", + expectedStmt: "INSERT INTO projections.domain_policies (creation_date, change_date, sequence, id, state, user_login_must_be_domain, is_default, resource_owner, instance_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)", expectedArgs: []interface{}{ anyArg{}, anyArg{}, @@ -156,26 +156,26 @@ func TestOrgIAMPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", - reduce: (&OrgIAMPolicyProjection{}).reduceChanged, + name: "instance.reduceChanged", + reduce: (&DomainPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.OrgIAMPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.InstanceDomainPolicyChangedEventType), + instance.AggregateType, []byte(`{ "userLoginMustBeDomain": true }`), - ), iam.OrgIAMPolicyChangedEventMapper), + ), instance.InstanceDomainPolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, - projection: OrgIAMPolicyTable, + projection: DomainPolicyTable, executer: &testExecuter{ executions: []execution{ { - expectedStmt: "UPDATE projections.org_iam_policies SET (change_date, sequence, user_login_must_be_domain) = ($1, $2, $3) WHERE (id = $4)", + expectedStmt: "UPDATE projections.domain_policies SET (change_date, sequence, user_login_must_be_domain) = ($1, $2, $3) WHERE (id = $4)", expectedArgs: []interface{}{ anyArg{}, uint64(15), diff --git a/internal/query/projection/password_age_policy.go b/internal/query/projection/password_age_policy.go index 71ec3117a0..a592434941 100644 --- a/internal/query/projection/password_age_policy.go +++ b/internal/query/projection/password_age_policy.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -76,14 +76,14 @@ func (p *PasswordAgeProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.PasswordAgePolicyAddedEventType, + Event: instance.PasswordAgePolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.PasswordAgePolicyChangedEventType, + Event: instance.PasswordAgePolicyChangedEventType, Reduce: p.reduceChanged, }, }, @@ -98,11 +98,11 @@ func (p *PasswordAgeProjection) reduceAdded(event eventstore.Event) (*handler.St case *org.PasswordAgePolicyAddedEvent: policyEvent = e.PasswordAgePolicyAddedEvent isDefault = false - case *iam.PasswordAgePolicyAddedEvent: + case *instance.PasswordAgePolicyAddedEvent: policyEvent = e.PasswordAgePolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CJqF0", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordAgePolicyAddedEventType, iam.PasswordAgePolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-CJqF0", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordAgePolicyAddedEventType, instance.PasswordAgePolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, @@ -125,10 +125,10 @@ func (p *PasswordAgeProjection) reduceChanged(event eventstore.Event) (*handler. switch e := event.(type) { case *org.PasswordAgePolicyChangedEvent: policyEvent = e.PasswordAgePolicyChangedEvent - case *iam.PasswordAgePolicyChangedEvent: + case *instance.PasswordAgePolicyChangedEvent: policyEvent = e.PasswordAgePolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-i7FZt", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordAgePolicyChangedEventType, iam.PasswordAgePolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-i7FZt", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordAgePolicyChangedEventType, instance.PasswordAgePolicyChangedEventType}) } cols := []handler.Column{ handler.NewCol(AgePolicyChangeDateCol, policyEvent.CreationDate()), diff --git a/internal/query/projection/password_age_policy_test.go b/internal/query/projection/password_age_policy_test.go index df3d60e185..b647bab201 100644 --- a/internal/query/projection/password_age_policy_test.go +++ b/internal/query/projection/password_age_policy_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -123,20 +123,20 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&PasswordAgeProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PasswordAgePolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.PasswordAgePolicyAddedEventType), + instance.AggregateType, []byte(`{ "expireWarnDays": 10, "maxAgeDays": 13 }`), - ), iam.PasswordAgePolicyAddedEventMapper), + ), instance.PasswordAgePolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PasswordAgeTable, @@ -162,20 +162,20 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", reduce: (&PasswordAgeProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PasswordAgePolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.PasswordAgePolicyChangedEventType), + instance.AggregateType, []byte(`{ "expireWarnDays": 10, "maxAgeDays": 13 }`), - ), iam.PasswordAgePolicyChangedEventMapper), + ), instance.PasswordAgePolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PasswordAgeTable, diff --git a/internal/query/projection/password_complexity_policy.go b/internal/query/projection/password_complexity_policy.go index e2beaba973..05e94cf7fd 100644 --- a/internal/query/projection/password_complexity_policy.go +++ b/internal/query/projection/password_complexity_policy.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -82,14 +82,14 @@ func (p *PasswordComplexityProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.PasswordComplexityPolicyAddedEventType, + Event: instance.PasswordComplexityPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.PasswordComplexityPolicyChangedEventType, + Event: instance.PasswordComplexityPolicyChangedEventType, Reduce: p.reduceChanged, }, }, @@ -104,11 +104,11 @@ func (p *PasswordComplexityProjection) reduceAdded(event eventstore.Event) (*han case *org.PasswordComplexityPolicyAddedEvent: policyEvent = e.PasswordComplexityPolicyAddedEvent isDefault = false - case *iam.PasswordComplexityPolicyAddedEvent: + case *instance.PasswordComplexityPolicyAddedEvent: policyEvent = e.PasswordComplexityPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-KTHmJ", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordComplexityPolicyAddedEventType, iam.PasswordComplexityPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-KTHmJ", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordComplexityPolicyAddedEventType, instance.PasswordComplexityPolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, @@ -134,10 +134,10 @@ func (p *PasswordComplexityProjection) reduceChanged(event eventstore.Event) (*h switch e := event.(type) { case *org.PasswordComplexityPolicyChangedEvent: policyEvent = e.PasswordComplexityPolicyChangedEvent - case *iam.PasswordComplexityPolicyChangedEvent: + case *instance.PasswordComplexityPolicyChangedEvent: policyEvent = e.PasswordComplexityPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-cf3Xb", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordComplexityPolicyChangedEventType, iam.PasswordComplexityPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-cf3Xb", "reduce.wrong.event.type %v", []eventstore.EventType{org.PasswordComplexityPolicyChangedEventType, instance.PasswordComplexityPolicyChangedEventType}) } cols := []handler.Column{ handler.NewCol(ComplexityPolicyChangeDateCol, policyEvent.CreationDate()), diff --git a/internal/query/projection/password_complexity_policy_test.go b/internal/query/projection/password_complexity_policy_test.go index 559a108454..4139690317 100644 --- a/internal/query/projection/password_complexity_policy_test.go +++ b/internal/query/projection/password_complexity_policy_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -135,12 +135,12 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&PasswordComplexityProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PasswordComplexityPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.PasswordComplexityPolicyAddedEventType), + instance.AggregateType, []byte(`{ "minLength": 10, "hasLowercase": true, @@ -148,10 +148,10 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { "HasNumber": true, "HasSymbol": true }`), - ), iam.PasswordComplexityPolicyAddedEventMapper), + ), instance.PasswordComplexityPolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PasswordComplexityTable, @@ -180,12 +180,12 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", reduce: (&PasswordComplexityProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PasswordComplexityPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.PasswordComplexityPolicyChangedEventType), + instance.AggregateType, []byte(`{ "minLength": 10, "hasLowercase": true, @@ -193,10 +193,10 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { "HasNumber": true, "HasSymbol": true }`), - ), iam.PasswordComplexityPolicyChangedEventMapper), + ), instance.PasswordComplexityPolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PasswordComplexityTable, diff --git a/internal/query/projection/privacy_policy.go b/internal/query/projection/privacy_policy.go index 0f722fe398..1809205ad8 100644 --- a/internal/query/projection/privacy_policy.go +++ b/internal/query/projection/privacy_policy.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/policy" ) @@ -78,14 +78,14 @@ func (p *PrivacyPolicyProjection) reducers() []handler.AggregateReducer { }, }, { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.PrivacyPolicyAddedEventType, + Event: instance.PrivacyPolicyAddedEventType, Reduce: p.reduceAdded, }, { - Event: iam.PrivacyPolicyChangedEventType, + Event: instance.PrivacyPolicyChangedEventType, Reduce: p.reduceChanged, }, }, @@ -100,11 +100,11 @@ func (p *PrivacyPolicyProjection) reduceAdded(event eventstore.Event) (*handler. case *org.PrivacyPolicyAddedEvent: policyEvent = e.PrivacyPolicyAddedEvent isDefault = false - case *iam.PrivacyPolicyAddedEvent: + case *instance.PrivacyPolicyAddedEvent: policyEvent = e.PrivacyPolicyAddedEvent isDefault = true default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-kRNh8", "reduce.wrong.event.type %v", []eventstore.EventType{org.PrivacyPolicyAddedEventType, iam.PrivacyPolicyAddedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-kRNh8", "reduce.wrong.event.type %v", []eventstore.EventType{org.PrivacyPolicyAddedEventType, instance.PrivacyPolicyAddedEventType}) } return crdb.NewCreateStatement( &policyEvent, @@ -128,10 +128,10 @@ func (p *PrivacyPolicyProjection) reduceChanged(event eventstore.Event) (*handle switch e := event.(type) { case *org.PrivacyPolicyChangedEvent: policyEvent = e.PrivacyPolicyChangedEvent - case *iam.PrivacyPolicyChangedEvent: + case *instance.PrivacyPolicyChangedEvent: policyEvent = e.PrivacyPolicyChangedEvent default: - return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-91weZ", "reduce.wrong.event.type %v", []eventstore.EventType{org.PrivacyPolicyChangedEventType, iam.PrivacyPolicyChangedEventType}) + return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-91weZ", "reduce.wrong.event.type %v", []eventstore.EventType{org.PrivacyPolicyChangedEventType, instance.PrivacyPolicyChangedEventType}) } cols := []handler.Column{ handler.NewCol(PrivacyPolicyChangeDateCol, policyEvent.CreationDate()), diff --git a/internal/query/projection/privacy_policy_test.go b/internal/query/projection/privacy_policy_test.go index e74c03cb2b..f48e1de468 100644 --- a/internal/query/projection/privacy_policy_test.go +++ b/internal/query/projection/privacy_policy_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/org" ) @@ -127,21 +127,21 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceAdded", + name: "instance.reduceAdded", reduce: (&PrivacyPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PrivacyPolicyAddedEventType), - iam.AggregateType, + repository.EventType(instance.PrivacyPolicyAddedEventType), + instance.AggregateType, []byte(`{ "tosLink": "http://tos.link", "privacyLink": "http://privacy.link", "helpLink": "http://help.link" }`), - ), iam.PrivacyPolicyAddedEventMapper), + ), instance.PrivacyPolicyAddedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PrivacyPolicyTable, @@ -168,21 +168,21 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceChanged", + name: "instance.reduceChanged", reduce: (&PrivacyPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( - repository.EventType(iam.PrivacyPolicyChangedEventType), - iam.AggregateType, + repository.EventType(instance.PrivacyPolicyChangedEventType), + instance.AggregateType, []byte(`{ "tosLink": "http://tos.link", "privacyLink": "http://privacy.link", "helpLink": "http://help.link" }`), - ), iam.PrivacyPolicyChangedEventMapper), + ), instance.PrivacyPolicyChangedEventMapper), }, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: PrivacyPolicyTable, diff --git a/internal/query/projection/projection.go b/internal/query/projection/projection.go index 3f9950f882..7c6945d298 100644 --- a/internal/query/projection/projection.go +++ b/internal/query/projection/projection.go @@ -44,7 +44,7 @@ func Start(ctx context.Context, sqlClient *sql.DB, es *eventstore.Eventstore, co NewPasswordAgeProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["password_age_policy"])) NewLockoutPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["lockout_policy"])) NewPrivacyPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["privacy_policy"])) - NewOrgIAMPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_iam_policy"])) + NewDomainPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_iam_policy"])) NewLabelPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["label_policy"])) NewProjectGrantProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_grants"])) NewProjectRoleProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_roles"])) @@ -61,7 +61,7 @@ func Start(ctx context.Context, sqlClient *sql.DB, es *eventstore.Eventstore, co NewUserProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["users"])) NewLoginNameProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_names"])) NewOrgMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_members"])) - NewIAMMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["iam_members"])) + NewInstanceMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["iam_members"])) NewProjectMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_members"])) NewProjectGrantMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_grant_members"])) NewAuthNKeyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["authn_keys"])) diff --git a/internal/query/projection/secret_generator.go b/internal/query/projection/secret_generator.go index 25118d3e8e..6491074a4f 100644 --- a/internal/query/projection/secret_generator.go +++ b/internal/query/projection/secret_generator.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/project" ) @@ -66,15 +66,15 @@ func (p *SecretGeneratorProjection) reducers() []handler.AggregateReducer { Aggregate: project.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.SecretGeneratorAddedEventType, + Event: instance.SecretGeneratorAddedEventType, Reduce: p.reduceSecretGeneratorAdded, }, { - Event: iam.SecretGeneratorChangedEventType, + Event: instance.SecretGeneratorChangedEventType, Reduce: p.reduceSecretGeneratorChanged, }, { - Event: iam.SecretGeneratorRemovedEventType, + Event: instance.SecretGeneratorRemovedEventType, Reduce: p.reduceSecretGeneratorRemoved, }, }, @@ -83,9 +83,9 @@ func (p *SecretGeneratorProjection) reducers() []handler.AggregateReducer { } func (p *SecretGeneratorProjection) reduceSecretGeneratorAdded(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SecretGeneratorAddedEvent) + e, ok := event.(*instance.SecretGeneratorAddedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", iam.SecretGeneratorAddedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", instance.SecretGeneratorAddedEventType) } return crdb.NewCreateStatement( e, @@ -108,9 +108,9 @@ func (p *SecretGeneratorProjection) reduceSecretGeneratorAdded(event eventstore. } func (p *SecretGeneratorProjection) reduceSecretGeneratorChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SecretGeneratorChangedEvent) + e, ok := event.(*instance.SecretGeneratorChangedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s00Fs", "reduce.wrong.event.type %s", iam.SecretGeneratorChangedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s00Fs", "reduce.wrong.event.type %s", instance.SecretGeneratorChangedEventType) } columns := make([]handler.Column, 0, 7) @@ -145,9 +145,9 @@ func (p *SecretGeneratorProjection) reduceSecretGeneratorChanged(event eventstor } func (p *SecretGeneratorProjection) reduceSecretGeneratorRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SecretGeneratorRemovedEvent) + e, ok := event.(*instance.SecretGeneratorRemovedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fmiIf", "reduce.wrong.event.type %s", iam.SecretGeneratorRemovedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fmiIf", "reduce.wrong.event.type %s", instance.SecretGeneratorRemovedEventType) } return crdb.NewDeleteStatement( e, diff --git a/internal/query/projection/secret_generator_test.go b/internal/query/projection/secret_generator_test.go index 92bbb6cc61..d8c19724d5 100644 --- a/internal/query/projection/secret_generator_test.go +++ b/internal/query/projection/secret_generator_test.go @@ -9,7 +9,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestSecretGeneratorProjection_reduces(t *testing.T) { @@ -26,15 +26,15 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { name: "reduceSecretGeneratorRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SecretGeneratorRemovedEventType), - iam.AggregateType, + repository.EventType(instance.SecretGeneratorRemovedEventType), + instance.AggregateType, []byte(`{"generatorType": 1}`), - ), iam.SecretGeneratorRemovedEventMapper), + ), instance.SecretGeneratorRemovedEventMapper), }, reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorRemoved, want: wantReduce{ projection: SecretGeneratorProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ @@ -54,15 +54,15 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { name: "reduceSecretGeneratorChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SecretGeneratorChangedEventType), - iam.AggregateType, + repository.EventType(instance.SecretGeneratorChangedEventType), + instance.AggregateType, []byte(`{"generatorType": 1, "length": 4, "expiry": 10000000, "includeLowerLetters": true, "includeUpperLetters": true, "includeDigits": true, "includeSymbols": true}`), - ), iam.SecretGeneratorChangedEventMapper), + ), instance.SecretGeneratorChangedEventMapper), }, reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorChanged, want: wantReduce{ projection: SecretGeneratorProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ @@ -90,15 +90,15 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { name: "reduceSecretGeneratorAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SecretGeneratorAddedEventType), - iam.AggregateType, + repository.EventType(instance.SecretGeneratorAddedEventType), + instance.AggregateType, []byte(`{"generatorType": 1, "length": 4, "expiry": 10000000, "includeLowerLetters": true, "includeUpperLetters": true, "includeDigits": true, "includeSymbols": true}`), - ), iam.SecretGeneratorAddedEventMapper), + ), instance.SecretGeneratorAddedEventMapper), }, reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorAdded, want: wantReduce{ projection: SecretGeneratorProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ diff --git a/internal/query/projection/sms.go b/internal/query/projection/sms.go index 8d19a36435..086c20967f 100644 --- a/internal/query/projection/sms.go +++ b/internal/query/projection/sms.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) const ( @@ -69,26 +69,26 @@ func NewSMSConfigProjection(ctx context.Context, config crdb.StatementHandlerCon func (p *SMSConfigProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { - Aggregate: iam.AggregateType, + Aggregate: instance.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.SMSConfigTwilioAddedEventType, + Event: instance.SMSConfigTwilioAddedEventType, Reduce: p.reduceSMSConfigTwilioAdded, }, { - Event: iam.SMSConfigTwilioChangedEventType, + Event: instance.SMSConfigTwilioChangedEventType, Reduce: p.reduceSMSConfigTwilioChanged, }, { - Event: iam.SMSConfigActivatedEventType, + Event: instance.SMSConfigActivatedEventType, Reduce: p.reduceSMSConfigActivated, }, { - Event: iam.SMSConfigDeactivatedEventType, + Event: instance.SMSConfigDeactivatedEventType, Reduce: p.reduceSMSConfigDeactivated, }, { - Event: iam.SMSConfigRemovedEventType, + Event: instance.SMSConfigRemovedEventType, Reduce: p.reduceSMSConfigRemoved, }, }, @@ -97,9 +97,9 @@ func (p *SMSConfigProjection) reducers() []handler.AggregateReducer { } func (p *SMSConfigProjection) reduceSMSConfigTwilioAdded(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMSConfigTwilioAddedEvent) + e, ok := event.(*instance.SMSConfigTwilioAddedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s8efs", "reduce.wrong.event.type %s", iam.SMSConfigTwilioAddedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s8efs", "reduce.wrong.event.type %s", instance.SMSConfigTwilioAddedEventType) } return crdb.NewMultiStatement( @@ -129,9 +129,9 @@ func (p *SMSConfigProjection) reduceSMSConfigTwilioAdded(event eventstore.Event) } func (p *SMSConfigProjection) reduceSMSConfigTwilioChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMSConfigTwilioChangedEvent) + e, ok := event.(*instance.SMSConfigTwilioChangedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fi99F", "reduce.wrong.event.type %s", iam.SMSConfigTwilioChangedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fi99F", "reduce.wrong.event.type %s", instance.SMSConfigTwilioChangedEventType) } columns := make([]handler.Column, 0) if e.SID != nil { @@ -163,9 +163,9 @@ func (p *SMSConfigProjection) reduceSMSConfigTwilioChanged(event eventstore.Even } func (p *SMSConfigProjection) reduceSMSConfigActivated(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMSConfigActivatedEvent) + e, ok := event.(*instance.SMSConfigActivatedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fj9Ef", "reduce.wrong.event.type %s", iam.SMSConfigActivatedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fj9Ef", "reduce.wrong.event.type %s", instance.SMSConfigActivatedEventType) } return crdb.NewUpdateStatement( e, @@ -181,9 +181,9 @@ func (p *SMSConfigProjection) reduceSMSConfigActivated(event eventstore.Event) ( } func (p *SMSConfigProjection) reduceSMSConfigDeactivated(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMSConfigDeactivatedEvent) + e, ok := event.(*instance.SMSConfigDeactivatedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-dj9Js", "reduce.wrong.event.type %s", iam.SMSConfigDeactivatedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-dj9Js", "reduce.wrong.event.type %s", instance.SMSConfigDeactivatedEventType) } return crdb.NewUpdateStatement( e, @@ -199,9 +199,9 @@ func (p *SMSConfigProjection) reduceSMSConfigDeactivated(event eventstore.Event) } func (p *SMSConfigProjection) reduceSMSConfigRemoved(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMSConfigRemovedEvent) + e, ok := event.(*instance.SMSConfigRemovedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s9JJf", "reduce.wrong.event.type %s", iam.SMSConfigRemovedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s9JJf", "reduce.wrong.event.type %s", instance.SMSConfigRemovedEventType) } return crdb.NewDeleteStatement( e, diff --git a/internal/query/projection/sms_test.go b/internal/query/projection/sms_test.go index d1ff35e9ca..27341833ee 100644 --- a/internal/query/projection/sms_test.go +++ b/internal/query/projection/sms_test.go @@ -8,7 +8,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) var ( @@ -28,11 +28,11 @@ func TestSMSProjection_reduces(t *testing.T) { want wantReduce }{ { - name: "iam.reduceSMSTwilioAdded", + name: "instance.reduceSMSTwilioAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMSConfigTwilioAddedEventType), - iam.AggregateType, + repository.EventType(instance.SMSConfigTwilioAddedEventType), + instance.AggregateType, []byte(`{ "id": "id", "sid": "sid", @@ -43,11 +43,11 @@ func TestSMSProjection_reduces(t *testing.T) { }, "senderNumber": "sender-number" }`), - ), iam.SMSConfigTwilioAddedEventMapper), + ), instance.SMSConfigTwilioAddedEventMapper), }, reduce: (&SMSConfigProjection{}).reduceSMSConfigTwilioAdded, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: SMSConfigProjectionTable, @@ -80,21 +80,21 @@ func TestSMSProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceSMSConfigTwilioChanged", + name: "instance.reduceSMSConfigTwilioChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMSConfigTwilioChangedEventType), - iam.AggregateType, + repository.EventType(instance.SMSConfigTwilioChangedEventType), + instance.AggregateType, []byte(`{ "id": "id", "sid": "sid", "senderNumber": "sender-number" }`), - ), iam.SMSConfigTwilioChangedEventMapper), + ), instance.SMSConfigTwilioChangedEventMapper), }, reduce: (&SMSConfigProjection{}).reduceSMSConfigTwilioChanged, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: SMSConfigProjectionTable, @@ -121,19 +121,19 @@ func TestSMSProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceSMSConfigActivated", + name: "instance.reduceSMSConfigActivated", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMSConfigActivatedEventType), - iam.AggregateType, + repository.EventType(instance.SMSConfigActivatedEventType), + instance.AggregateType, []byte(`{ "id": "id" }`), - ), iam.SMSConfigActivatedEventMapper), + ), instance.SMSConfigActivatedEventMapper), }, reduce: (&SMSConfigProjection{}).reduceSMSConfigActivated, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: SMSConfigProjectionTable, @@ -153,19 +153,19 @@ func TestSMSProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceSMSConfigDeactivated", + name: "instance.reduceSMSConfigDeactivated", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMSConfigDeactivatedEventType), - iam.AggregateType, + repository.EventType(instance.SMSConfigDeactivatedEventType), + instance.AggregateType, []byte(`{ "id": "id" }`), - ), iam.SMSConfigDeactivatedEventMapper), + ), instance.SMSConfigDeactivatedEventMapper), }, reduce: (&SMSConfigProjection{}).reduceSMSConfigDeactivated, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: SMSConfigProjectionTable, @@ -185,19 +185,19 @@ func TestSMSProjection_reduces(t *testing.T) { }, }, { - name: "iam.reduceSMSConfigRemoved", + name: "instance.reduceSMSConfigRemoved", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMSConfigRemovedEventType), - iam.AggregateType, + repository.EventType(instance.SMSConfigRemovedEventType), + instance.AggregateType, []byte(`{ "id": "id" }`), - ), iam.SMSConfigRemovedEventMapper), + ), instance.SMSConfigRemovedEventMapper), }, reduce: (&SMSConfigProjection{}).reduceSMSConfigRemoved, want: wantReduce{ - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, projection: SMSConfigProjectionTable, diff --git a/internal/query/projection/smtp.go b/internal/query/projection/smtp.go index e50c50341d..4b4ffddbdd 100644 --- a/internal/query/projection/smtp.go +++ b/internal/query/projection/smtp.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/handler/crdb" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/project" ) @@ -64,15 +64,15 @@ func (p *SMTPConfigProjection) reducers() []handler.AggregateReducer { Aggregate: project.AggregateType, EventRedusers: []handler.EventReducer{ { - Event: iam.SMTPConfigAddedEventType, + Event: instance.SMTPConfigAddedEventType, Reduce: p.reduceSMTPConfigAdded, }, { - Event: iam.SMTPConfigChangedEventType, + Event: instance.SMTPConfigChangedEventType, Reduce: p.reduceSMTPConfigChanged, }, { - Event: iam.SMTPConfigPasswordChangedEventType, + Event: instance.SMTPConfigPasswordChangedEventType, Reduce: p.reduceSMTPConfigPasswordChanged, }, }, @@ -81,9 +81,9 @@ func (p *SMTPConfigProjection) reducers() []handler.AggregateReducer { } func (p *SMTPConfigProjection) reduceSMTPConfigAdded(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMTPConfigAddedEvent) + e, ok := event.(*instance.SMTPConfigAddedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", iam.SMTPConfigAddedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", instance.SMTPConfigAddedEventType) } return crdb.NewCreateStatement( e, @@ -105,9 +105,9 @@ func (p *SMTPConfigProjection) reduceSMTPConfigAdded(event eventstore.Event) (*h } func (p *SMTPConfigProjection) reduceSMTPConfigChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMTPConfigChangedEvent) + e, ok := event.(*instance.SMTPConfigChangedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-wl0wd", "reduce.wrong.event.type %s", iam.SMTPConfigChangedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-wl0wd", "reduce.wrong.event.type %s", instance.SMTPConfigChangedEventType) } columns := make([]handler.Column, 0, 7) @@ -138,9 +138,9 @@ func (p *SMTPConfigProjection) reduceSMTPConfigChanged(event eventstore.Event) ( } func (p *SMTPConfigProjection) reduceSMTPConfigPasswordChanged(event eventstore.Event) (*handler.Statement, error) { - e, ok := event.(*iam.SMTPConfigPasswordChangedEvent) + e, ok := event.(*instance.SMTPConfigPasswordChangedEvent) if !ok { - return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fk02f", "reduce.wrong.event.type %s", iam.SMTPConfigChangedEventType) + return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fk02f", "reduce.wrong.event.type %s", instance.SMTPConfigChangedEventType) } return crdb.NewUpdateStatement( diff --git a/internal/query/projection/smtp_test.go b/internal/query/projection/smtp_test.go index bcd838264e..23a0602fba 100644 --- a/internal/query/projection/smtp_test.go +++ b/internal/query/projection/smtp_test.go @@ -7,7 +7,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/handler" "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/iam" + "github.com/caos/zitadel/internal/repository/instance" ) func TestSMTPConfigProjection_reduces(t *testing.T) { @@ -24,8 +24,8 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { name: "reduceSMTPConfigChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMTPConfigChangedEventType), - iam.AggregateType, + repository.EventType(instance.SMTPConfigChangedEventType), + instance.AggregateType, []byte(`{ "tls": true, "senderAddress": "sender", @@ -34,12 +34,12 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { "user": "user" }`, ), - ), iam.SMTPConfigChangedEventMapper), + ), instance.SMTPConfigChangedEventMapper), }, reduce: (&SMTPConfigProjection{}).reduceSMTPConfigChanged, want: wantReduce{ projection: SMTPConfigProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ @@ -65,8 +65,8 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { name: "reduceSMTPConfigAdded", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMTPConfigAddedEventType), - iam.AggregateType, + repository.EventType(instance.SMTPConfigAddedEventType), + instance.AggregateType, []byte(`{ "tls": true, "senderAddress": "sender", @@ -79,12 +79,12 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { "keyId": "key-id" } }`), - ), iam.SMTPConfigAddedEventMapper), + ), instance.SMTPConfigAddedEventMapper), }, reduce: (&SMTPConfigProjection{}).reduceSMTPConfigAdded, want: wantReduce{ projection: SMTPConfigProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ @@ -114,8 +114,8 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { name: "reduceSMTPConfigPasswordChanged", args: args{ event: getEvent(testEvent( - repository.EventType(iam.SMTPConfigPasswordChangedEventType), - iam.AggregateType, + repository.EventType(instance.SMTPConfigPasswordChangedEventType), + instance.AggregateType, []byte(`{ "password": { "cryptoType": 0, @@ -123,12 +123,12 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { "keyId": "key-id" } }`), - ), iam.SMTPConfigPasswordChangedEventMapper), + ), instance.SMTPConfigPasswordChangedEventMapper), }, reduce: (&SMTPConfigProjection{}).reduceSMTPConfigPasswordChanged, want: wantReduce{ projection: SMTPConfigProjectionTable, - aggregateType: eventstore.AggregateType("iam"), + aggregateType: eventstore.AggregateType("instance"), sequence: 15, previousSequence: 10, executer: &testExecuter{ diff --git a/internal/query/query.go b/internal/query/query.go index efb0680d48..4ed9c2e1d4 100644 --- a/internal/query/query.go +++ b/internal/query/query.go @@ -15,7 +15,7 @@ import ( "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/query/projection" "github.com/caos/zitadel/internal/repository/action" - iam_repo "github.com/caos/zitadel/internal/repository/iam" + iam_repo "github.com/caos/zitadel/internal/repository/instance" "github.com/caos/zitadel/internal/repository/keypair" "github.com/caos/zitadel/internal/repository/org" "github.com/caos/zitadel/internal/repository/project" diff --git a/internal/query/user_membership.go b/internal/query/user_membership.go index 59fbfbe69b..34cc55f989 100644 --- a/internal/query/user_membership.go +++ b/internal/query/user_membership.go @@ -107,7 +107,7 @@ func (q *Queries) Memberships(ctx context.Context, queries *MembershipSearchQuer if err != nil { return nil, errors.ThrowInvalidArgument(err, "QUERY-T84X9", "Errors.Query.InvalidRequest") } - latestSequence, err := q.latestSequence(ctx, orgMemberTable, iamMemberTable, projectMemberTable, projectGrantMemberTable) + latestSequence, err := q.latestSequence(ctx, orgMemberTable, instanceMemberTable, projectMemberTable, projectGrantMemberTable) if err != nil { return nil, err } @@ -162,7 +162,7 @@ var ( table: membershipAlias, } membershipIAMID = Column{ - name: projection.IAMMemberIAMIDCol, + name: projection.InstanceMemberIAMIDCol, table: membershipAlias, } membershipProjectID = Column{ @@ -299,17 +299,17 @@ func prepareOrgMember() string { func prepareIAMMember() string { stmt, _ := sq.Select( - IAMMemberUserID.identifier(), - IAMMemberRoles.identifier(), - IAMMemberCreationDate.identifier(), - IAMMemberChangeDate.identifier(), - IAMMemberSequence.identifier(), - IAMMemberResourceOwner.identifier(), + InstanceMemberUserID.identifier(), + InstanceMemberRoles.identifier(), + InstanceMemberCreationDate.identifier(), + InstanceMemberChangeDate.identifier(), + InstanceMemberSequence.identifier(), + InstanceMemberResourceOwner.identifier(), "NULL::STRING AS "+membershipOrgID.name, - IAMMemberIAMID.identifier(), + InstanceMemberIAMID.identifier(), "NULL::STRING AS "+membershipProjectID.name, "NULL::STRING AS "+membershipGrantID.name, - ).From(iamMemberTable.identifier()).MustSql() + ).From(instanceMemberTable.identifier()).MustSql() return stmt } diff --git a/internal/query/user_membership_test.go b/internal/query/user_membership_test.go index 83c0ec2376..d0ea061cc9 100644 --- a/internal/query/user_membership_test.go +++ b/internal/query/user_membership_test.go @@ -20,7 +20,7 @@ var ( ", memberships.sequence" + ", memberships.resource_owner" + ", memberships.org_id" + - ", memberships.iam_id" + + ", memberships.instance_id" + ", memberships.project_id" + ", memberships.grant_id" + ", projections.projects.name" + @@ -34,7 +34,7 @@ var ( ", members.sequence" + ", members.resource_owner" + ", members.org_id" + - ", NULL::STRING AS iam_id" + + ", NULL::STRING AS instance_id" + ", NULL::STRING AS project_id" + ", NULL::STRING AS grant_id" + " FROM projections.org_members as members" + @@ -46,10 +46,10 @@ var ( ", members.sequence" + ", members.resource_owner" + ", NULL::STRING AS org_id" + - ", members.iam_id" + + ", members.instance_id" + ", NULL::STRING AS project_id" + ", NULL::STRING AS grant_id" + - " FROM projections.iam_members as members" + + " FROM projections.instance_members as members" + " UNION ALL " + "SELECT members.user_id" + ", members.roles" + @@ -58,7 +58,7 @@ var ( ", members.sequence" + ", members.resource_owner" + ", NULL::STRING AS org_id" + - ", NULL::STRING AS iam_id" + + ", NULL::STRING AS instance_id" + ", members.project_id" + ", NULL::STRING AS grant_id" + " FROM projections.project_members as members" + @@ -70,7 +70,7 @@ var ( ", members.sequence" + ", members.resource_owner" + ", NULL::STRING AS org_id" + - ", NULL::STRING AS iam_id" + + ", NULL::STRING AS instance_id" + ", members.project_id" + ", members.grant_id" + " FROM projections.project_grant_members as members" + @@ -85,7 +85,7 @@ var ( "sequence", "resource_owner", "org_id", - "iam_id", + "instance_id", "project_id", "grant_id", "name", //project name @@ -160,7 +160,7 @@ func Test_MembershipPrepares(t *testing.T) { }, }, { - name: "prepareMembershipsQuery one iam member", + name: "prepareMembershipsQuery one instance member", prepare: prepareMembershipsQuery, want: want{ sqlExpectations: mockQueries( diff --git a/internal/repository/iam/policy_org_iam.go b/internal/repository/iam/policy_org_iam.go deleted file mode 100644 index c6ee56ef30..0000000000 --- a/internal/repository/iam/policy_org_iam.go +++ /dev/null @@ -1,75 +0,0 @@ -package iam - -import ( - "context" - - "github.com/caos/zitadel/internal/eventstore" - - "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/policy" -) - -var ( - OrgIAMPolicyAddedEventType = iamEventTypePrefix + policy.OrgIAMPolicyAddedEventType - OrgIAMPolicyChangedEventType = iamEventTypePrefix + policy.OrgIAMPolicyChangedEventType -) - -type OrgIAMPolicyAddedEvent struct { - policy.OrgIAMPolicyAddedEvent -} - -func NewOrgIAMPolicyAddedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - userLoginMustBeDomain bool, -) *OrgIAMPolicyAddedEvent { - return &OrgIAMPolicyAddedEvent{ - OrgIAMPolicyAddedEvent: *policy.NewOrgIAMPolicyAddedEvent( - eventstore.NewBaseEventForPush( - ctx, - aggregate, - OrgIAMPolicyAddedEventType), - userLoginMustBeDomain, - ), - } -} - -func OrgIAMPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { - e, err := policy.OrgIAMPolicyAddedEventMapper(event) - if err != nil { - return nil, err - } - - return &OrgIAMPolicyAddedEvent{OrgIAMPolicyAddedEvent: *e.(*policy.OrgIAMPolicyAddedEvent)}, nil -} - -type OrgIAMPolicyChangedEvent struct { - policy.OrgIAMPolicyChangedEvent -} - -func NewOrgIAMPolicyChangedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - changes []policy.OrgIAMPolicyChanges, -) (*OrgIAMPolicyChangedEvent, error) { - changedEvent, err := policy.NewOrgIAMPolicyChangedEvent( - eventstore.NewBaseEventForPush( - ctx, - aggregate, - OrgIAMPolicyChangedEventType), - changes, - ) - if err != nil { - return nil, err - } - return &OrgIAMPolicyChangedEvent{OrgIAMPolicyChangedEvent: *changedEvent}, nil -} - -func OrgIAMPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { - e, err := policy.OrgIAMPolicyChangedEventMapper(event) - if err != nil { - return nil, err - } - - return &OrgIAMPolicyChangedEvent{OrgIAMPolicyChangedEvent: *e.(*policy.OrgIAMPolicyChangedEvent)}, nil -} diff --git a/internal/repository/iam/aggregate.go b/internal/repository/instance/aggregate.go similarity index 79% rename from internal/repository/iam/aggregate.go rename to internal/repository/instance/aggregate.go index 95e977a0a6..f79c5b4433 100644 --- a/internal/repository/iam/aggregate.go +++ b/internal/repository/instance/aggregate.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "github.com/caos/zitadel/internal/domain" @@ -6,11 +6,11 @@ import ( ) const ( - iamEventTypePrefix = eventstore.EventType("iam.") + instanceEventTypePrefix = eventstore.EventType("instance.") ) const ( - AggregateType = "iam" + AggregateType = "instance" AggregateVersion = "v1" ) diff --git a/internal/repository/iam/custom_text.go b/internal/repository/instance/custom_text.go similarity index 88% rename from internal/repository/iam/custom_text.go rename to internal/repository/instance/custom_text.go index 95aef7bc6b..ca0bb9b2f4 100644 --- a/internal/repository/iam/custom_text.go +++ b/internal/repository/instance/custom_text.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -11,9 +11,9 @@ import ( ) var ( - CustomTextSetEventType = iamEventTypePrefix + policy.CustomTextSetEventType - CustomTextRemovedEventType = iamEventTypePrefix + policy.CustomTextRemovedEventType - CustomTextTemplateRemovedEventType = iamEventTypePrefix + policy.CustomTextTemplateRemovedEventType + CustomTextSetEventType = instanceEventTypePrefix + policy.CustomTextSetEventType + CustomTextRemovedEventType = instanceEventTypePrefix + policy.CustomTextRemovedEventType + CustomTextTemplateRemovedEventType = instanceEventTypePrefix + policy.CustomTextTemplateRemovedEventType ) type CustomTextSetEvent struct { diff --git a/internal/repository/iam/debug_notification_file.go b/internal/repository/instance/debug_notification_file.go similarity index 85% rename from internal/repository/iam/debug_notification_file.go rename to internal/repository/instance/debug_notification_file.go index 7779760594..29fc3c7c83 100644 --- a/internal/repository/iam/debug_notification_file.go +++ b/internal/repository/instance/debug_notification_file.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -14,9 +14,9 @@ const ( ) var ( - DebugNotificationProviderFileAddedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderAdded - DebugNotificationProviderFileChangedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderChanged - DebugNotificationProviderFileRemovedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderRemoved + DebugNotificationProviderFileAddedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderAdded + DebugNotificationProviderFileChangedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderChanged + DebugNotificationProviderFileRemovedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + fileType + settings.DebugNotificationProviderRemoved ) type DebugNotificationProviderFileAddedEvent struct { diff --git a/internal/repository/iam/debug_notification_log.go b/internal/repository/instance/debug_notification_log.go similarity index 78% rename from internal/repository/iam/debug_notification_log.go rename to internal/repository/instance/debug_notification_log.go index 432a4186e5..5fa8ffc1ba 100644 --- a/internal/repository/iam/debug_notification_log.go +++ b/internal/repository/instance/debug_notification_log.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -14,11 +14,11 @@ const ( ) var ( - DebugNotificationProviderLogAddedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderAdded - DebugNotificationProviderLogChangedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderChanged - DebugNotificationProviderLogEnabledEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderEnabled - DebugNotificationProviderLogDisabledEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderDisabled - DebugNotificationProviderLogRemovedEventType = iamEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderRemoved + DebugNotificationProviderLogAddedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderAdded + DebugNotificationProviderLogChangedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderChanged + DebugNotificationProviderLogEnabledEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderEnabled + DebugNotificationProviderLogDisabledEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderDisabled + DebugNotificationProviderLogRemovedEventType = instanceEventTypePrefix + settings.DebugNotificationPrefix + logType + settings.DebugNotificationProviderRemoved ) type DebugNotificationProviderLogAddedEvent struct { diff --git a/internal/repository/iam/event_default_language.go b/internal/repository/instance/event_default_language.go similarity index 98% rename from internal/repository/iam/event_default_language.go rename to internal/repository/instance/event_default_language.go index d45320d8db..a6369f40f5 100644 --- a/internal/repository/iam/event_default_language.go +++ b/internal/repository/instance/event_default_language.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/event_iam_project_set.go b/internal/repository/instance/event_iam_project_set.go similarity index 98% rename from internal/repository/iam/event_iam_project_set.go rename to internal/repository/instance/event_iam_project_set.go index 3810be2c4f..5a4a78c360 100644 --- a/internal/repository/iam/event_iam_project_set.go +++ b/internal/repository/instance/event_iam_project_set.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/event_org_set.go b/internal/repository/instance/event_org_set.go similarity index 98% rename from internal/repository/iam/event_org_set.go rename to internal/repository/instance/event_org_set.go index 36b0bf6259..2163e5f7f3 100644 --- a/internal/repository/iam/event_org_set.go +++ b/internal/repository/instance/event_org_set.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/events_step.go b/internal/repository/instance/events_step.go similarity index 99% rename from internal/repository/iam/events_step.go rename to internal/repository/instance/events_step.go index a7c49f85d3..40fd20f227 100644 --- a/internal/repository/iam/events_step.go +++ b/internal/repository/instance/events_step.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/eventstore.go b/internal/repository/instance/eventstore.go similarity index 97% rename from internal/repository/iam/eventstore.go rename to internal/repository/instance/eventstore.go index 6ac09458d7..e7cd2cc740 100644 --- a/internal/repository/iam/eventstore.go +++ b/internal/repository/instance/eventstore.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "github.com/caos/zitadel/internal/eventstore" @@ -47,8 +47,8 @@ func RegisterEventMappers(es *eventstore.Eventstore) { RegisterFilterEventMapper(LabelPolicyAssetsRemovedEventType, LabelPolicyAssetsRemovedEventMapper). RegisterFilterEventMapper(LoginPolicyAddedEventType, LoginPolicyAddedEventMapper). RegisterFilterEventMapper(LoginPolicyChangedEventType, LoginPolicyChangedEventMapper). - RegisterFilterEventMapper(OrgIAMPolicyAddedEventType, OrgIAMPolicyAddedEventMapper). - RegisterFilterEventMapper(OrgIAMPolicyChangedEventType, OrgIAMPolicyChangedEventMapper). + RegisterFilterEventMapper(InstanceDomainPolicyAddedEventType, InstanceDomainPolicyAddedEventMapper). + RegisterFilterEventMapper(InstanceDomainPolicyChangedEventType, InstanceDomainPolicyChangedEventMapper). RegisterFilterEventMapper(PasswordAgePolicyAddedEventType, PasswordAgePolicyAddedEventMapper). RegisterFilterEventMapper(PasswordAgePolicyChangedEventType, PasswordAgePolicyChangedEventMapper). RegisterFilterEventMapper(PasswordComplexityPolicyAddedEventType, PasswordComplexityPolicyAddedEventMapper). diff --git a/internal/repository/iam/features.go b/internal/repository/instance/features.go similarity index 90% rename from internal/repository/iam/features.go rename to internal/repository/instance/features.go index 9334ae0aad..a811505fbb 100644 --- a/internal/repository/iam/features.go +++ b/internal/repository/instance/features.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -9,7 +9,7 @@ import ( ) var ( - FeaturesSetEventType = iamEventTypePrefix + features.FeaturesSetEventType + FeaturesSetEventType = instanceEventTypePrefix + features.FeaturesSetEventType ) type FeaturesSetEvent struct { diff --git a/internal/repository/iam/idp_config.go b/internal/repository/instance/idp_config.go similarity index 99% rename from internal/repository/iam/idp_config.go rename to internal/repository/instance/idp_config.go index a397c4909f..10782bf8ae 100644 --- a/internal/repository/iam/idp_config.go +++ b/internal/repository/instance/idp_config.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/idp_jwt_config.go b/internal/repository/instance/idp_jwt_config.go similarity index 99% rename from internal/repository/iam/idp_jwt_config.go rename to internal/repository/instance/idp_jwt_config.go index 1fda3a9860..0122a336eb 100644 --- a/internal/repository/iam/idp_jwt_config.go +++ b/internal/repository/instance/idp_jwt_config.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/idp_oidc_config.go b/internal/repository/instance/idp_oidc_config.go similarity index 99% rename from internal/repository/iam/idp_oidc_config.go rename to internal/repository/instance/idp_oidc_config.go index ae7692cf31..e32ae92993 100644 --- a/internal/repository/iam/idp_oidc_config.go +++ b/internal/repository/instance/idp_oidc_config.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/member.go b/internal/repository/instance/member.go similarity index 89% rename from internal/repository/iam/member.go rename to internal/repository/instance/member.go index f297933992..1f4e3dbf51 100644 --- a/internal/repository/iam/member.go +++ b/internal/repository/instance/member.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,10 +10,10 @@ import ( ) var ( - MemberAddedEventType = iamEventTypePrefix + member.AddedEventType - MemberChangedEventType = iamEventTypePrefix + member.ChangedEventType - MemberRemovedEventType = iamEventTypePrefix + member.RemovedEventType - MemberCascadeRemovedEventType = iamEventTypePrefix + member.CascadeRemovedEventType + MemberAddedEventType = instanceEventTypePrefix + member.AddedEventType + MemberChangedEventType = instanceEventTypePrefix + member.ChangedEventType + MemberRemovedEventType = instanceEventTypePrefix + member.RemovedEventType + MemberCascadeRemovedEventType = instanceEventTypePrefix + member.CascadeRemovedEventType ) type MemberAddedEvent struct { diff --git a/internal/repository/iam/migrate_unique_constraints.go b/internal/repository/instance/migrate_unique_constraints.go similarity index 99% rename from internal/repository/iam/migrate_unique_constraints.go rename to internal/repository/instance/migrate_unique_constraints.go index d5d3d59e27..3cc0902873 100644 --- a/internal/repository/iam/migrate_unique_constraints.go +++ b/internal/repository/instance/migrate_unique_constraints.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" diff --git a/internal/repository/iam/oidc_settings.go b/internal/repository/instance/oidc_settings.go similarity index 93% rename from internal/repository/iam/oidc_settings.go rename to internal/repository/instance/oidc_settings.go index 063217116e..9fc0930d9e 100644 --- a/internal/repository/iam/oidc_settings.go +++ b/internal/repository/instance/oidc_settings.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -12,9 +12,9 @@ import ( const ( oidcSettingsPrefix = "oidc.settings." - OIDCSettingsAddedEventType = iamEventTypePrefix + oidcSettingsPrefix + "added" - OIDCSettingsChangedEventType = iamEventTypePrefix + oidcSettingsPrefix + "changed" - OIDCSettingsRemovedEventType = iamEventTypePrefix + oidcSettingsPrefix + "removed" + OIDCSettingsAddedEventType = instanceEventTypePrefix + oidcSettingsPrefix + "added" + OIDCSettingsChangedEventType = instanceEventTypePrefix + oidcSettingsPrefix + "changed" + OIDCSettingsRemovedEventType = instanceEventTypePrefix + oidcSettingsPrefix + "removed" ) type OIDCSettingsAddedEvent struct { diff --git a/internal/repository/instance/policy_domain.go b/internal/repository/instance/policy_domain.go new file mode 100644 index 0000000000..ca5732e8b9 --- /dev/null +++ b/internal/repository/instance/policy_domain.go @@ -0,0 +1,75 @@ +package instance + +import ( + "context" + + "github.com/caos/zitadel/internal/eventstore" + + "github.com/caos/zitadel/internal/eventstore/repository" + "github.com/caos/zitadel/internal/repository/policy" +) + +var ( + InstanceDomainPolicyAddedEventType = instanceEventTypePrefix + policy.DomainPolicyAddedEventType + InstanceDomainPolicyChangedEventType = instanceEventTypePrefix + policy.DomainPolicyChangedEventType +) + +type InstanceDomainPolicyAddedEvent struct { + policy.DomainPolicyAddedEvent +} + +func NewInstnaceDomainPolicyAddedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + userLoginMustBeDomain bool, +) *InstanceDomainPolicyAddedEvent { + return &InstanceDomainPolicyAddedEvent{ + DomainPolicyAddedEvent: *policy.NewDomainPolicyAddedEvent( + eventstore.NewBaseEventForPush( + ctx, + aggregate, + InstanceDomainPolicyAddedEventType), + userLoginMustBeDomain, + ), + } +} + +func InstanceDomainPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { + e, err := policy.DomainPolicyAddedEventMapper(event) + if err != nil { + return nil, err + } + + return &InstanceDomainPolicyAddedEvent{DomainPolicyAddedEvent: *e.(*policy.DomainPolicyAddedEvent)}, nil +} + +type InstanceDomainPolicyChangedEvent struct { + policy.DomainPolicyChangedEvent +} + +func NewInstanceDomainPolicyChangedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + changes []policy.OrgPolicyChanges, +) (*InstanceDomainPolicyChangedEvent, error) { + changedEvent, err := policy.NewDomainPolicyChangedEvent( + eventstore.NewBaseEventForPush( + ctx, + aggregate, + InstanceDomainPolicyChangedEventType), + changes, + ) + if err != nil { + return nil, err + } + return &InstanceDomainPolicyChangedEvent{DomainPolicyChangedEvent: *changedEvent}, nil +} + +func InstanceDomainPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { + e, err := policy.DomainPolicyChangedEventMapper(event) + if err != nil { + return nil, err + } + + return &InstanceDomainPolicyChangedEvent{DomainPolicyChangedEvent: *e.(*policy.DomainPolicyChangedEvent)}, nil +} diff --git a/internal/repository/iam/policy_label.go b/internal/repository/instance/policy_label.go similarity index 88% rename from internal/repository/iam/policy_label.go rename to internal/repository/instance/policy_label.go index 222aefd356..426c688ceb 100644 --- a/internal/repository/iam/policy_label.go +++ b/internal/repository/instance/policy_label.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,23 +10,23 @@ import ( ) var ( - LabelPolicyAddedEventType = iamEventTypePrefix + policy.LabelPolicyAddedEventType - LabelPolicyChangedEventType = iamEventTypePrefix + policy.LabelPolicyChangedEventType - LabelPolicyActivatedEventType = iamEventTypePrefix + policy.LabelPolicyActivatedEventType + LabelPolicyAddedEventType = instanceEventTypePrefix + policy.LabelPolicyAddedEventType + LabelPolicyChangedEventType = instanceEventTypePrefix + policy.LabelPolicyChangedEventType + LabelPolicyActivatedEventType = instanceEventTypePrefix + policy.LabelPolicyActivatedEventType - LabelPolicyLogoAddedEventType = iamEventTypePrefix + policy.LabelPolicyLogoAddedEventType - LabelPolicyLogoRemovedEventType = iamEventTypePrefix + policy.LabelPolicyLogoRemovedEventType - LabelPolicyIconAddedEventType = iamEventTypePrefix + policy.LabelPolicyIconAddedEventType - LabelPolicyIconRemovedEventType = iamEventTypePrefix + policy.LabelPolicyIconRemovedEventType - LabelPolicyLogoDarkAddedEventType = iamEventTypePrefix + policy.LabelPolicyLogoDarkAddedEventType - LabelPolicyLogoDarkRemovedEventType = iamEventTypePrefix + policy.LabelPolicyLogoDarkRemovedEventType - LabelPolicyIconDarkAddedEventType = iamEventTypePrefix + policy.LabelPolicyIconDarkAddedEventType - LabelPolicyIconDarkRemovedEventType = iamEventTypePrefix + policy.LabelPolicyIconDarkRemovedEventType + LabelPolicyLogoAddedEventType = instanceEventTypePrefix + policy.LabelPolicyLogoAddedEventType + LabelPolicyLogoRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyLogoRemovedEventType + LabelPolicyIconAddedEventType = instanceEventTypePrefix + policy.LabelPolicyIconAddedEventType + LabelPolicyIconRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyIconRemovedEventType + LabelPolicyLogoDarkAddedEventType = instanceEventTypePrefix + policy.LabelPolicyLogoDarkAddedEventType + LabelPolicyLogoDarkRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyLogoDarkRemovedEventType + LabelPolicyIconDarkAddedEventType = instanceEventTypePrefix + policy.LabelPolicyIconDarkAddedEventType + LabelPolicyIconDarkRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyIconDarkRemovedEventType - LabelPolicyFontAddedEventType = iamEventTypePrefix + policy.LabelPolicyFontAddedEventType - LabelPolicyFontRemovedEventType = iamEventTypePrefix + policy.LabelPolicyFontRemovedEventType + LabelPolicyFontAddedEventType = instanceEventTypePrefix + policy.LabelPolicyFontAddedEventType + LabelPolicyFontRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyFontRemovedEventType - LabelPolicyAssetsRemovedEventType = iamEventTypePrefix + policy.LabelPolicyAssetsRemovedEventType + LabelPolicyAssetsRemovedEventType = instanceEventTypePrefix + policy.LabelPolicyAssetsRemovedEventType ) type LabelPolicyAddedEvent struct { diff --git a/internal/repository/iam/policy_login.go b/internal/repository/instance/policy_login.go similarity index 91% rename from internal/repository/iam/policy_login.go rename to internal/repository/instance/policy_login.go index 22c0def52d..f9570385cd 100644 --- a/internal/repository/iam/policy_login.go +++ b/internal/repository/instance/policy_login.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -12,8 +12,8 @@ import ( ) var ( - LoginPolicyAddedEventType = iamEventTypePrefix + policy.LoginPolicyAddedEventType - LoginPolicyChangedEventType = iamEventTypePrefix + policy.LoginPolicyChangedEventType + LoginPolicyAddedEventType = instanceEventTypePrefix + policy.LoginPolicyAddedEventType + LoginPolicyChangedEventType = instanceEventTypePrefix + policy.LoginPolicyChangedEventType ) type LoginPolicyAddedEvent struct { diff --git a/internal/repository/iam/policy_login_factors.go b/internal/repository/instance/policy_login_factors.go similarity index 87% rename from internal/repository/iam/policy_login_factors.go rename to internal/repository/instance/policy_login_factors.go index 1a15c19ce0..47c4382e3e 100644 --- a/internal/repository/iam/policy_login_factors.go +++ b/internal/repository/instance/policy_login_factors.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -11,11 +11,11 @@ import ( ) var ( - LoginPolicySecondFactorAddedEventType = iamEventTypePrefix + policy.LoginPolicySecondFactorAddedEventType - LoginPolicySecondFactorRemovedEventType = iamEventTypePrefix + policy.LoginPolicySecondFactorRemovedEventType + LoginPolicySecondFactorAddedEventType = instanceEventTypePrefix + policy.LoginPolicySecondFactorAddedEventType + LoginPolicySecondFactorRemovedEventType = instanceEventTypePrefix + policy.LoginPolicySecondFactorRemovedEventType - LoginPolicyMultiFactorAddedEventType = iamEventTypePrefix + policy.LoginPolicyMultiFactorAddedEventType - LoginPolicyMultiFactorRemovedEventType = iamEventTypePrefix + policy.LoginPolicyMultiFactorRemovedEventType + LoginPolicyMultiFactorAddedEventType = instanceEventTypePrefix + policy.LoginPolicyMultiFactorAddedEventType + LoginPolicyMultiFactorRemovedEventType = instanceEventTypePrefix + policy.LoginPolicyMultiFactorRemovedEventType ) type LoginPolicySecondFactorAddedEvent struct { diff --git a/internal/repository/iam/policy_login_identity_provider.go b/internal/repository/instance/policy_login_identity_provider.go similarity index 87% rename from internal/repository/iam/policy_login_identity_provider.go rename to internal/repository/instance/policy_login_identity_provider.go index 2fce6f32f4..5e7e065e5d 100644 --- a/internal/repository/iam/policy_login_identity_provider.go +++ b/internal/repository/instance/policy_login_identity_provider.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -11,9 +11,9 @@ import ( ) var ( - LoginPolicyIDPProviderAddedEventType = iamEventTypePrefix + policy.LoginPolicyIDPProviderAddedType - LoginPolicyIDPProviderRemovedEventType = iamEventTypePrefix + policy.LoginPolicyIDPProviderRemovedType - LoginPolicyIDPProviderCascadeRemovedEventType = iamEventTypePrefix + policy.LoginPolicyIDPProviderCascadeRemovedType + LoginPolicyIDPProviderAddedEventType = instanceEventTypePrefix + policy.LoginPolicyIDPProviderAddedType + LoginPolicyIDPProviderRemovedEventType = instanceEventTypePrefix + policy.LoginPolicyIDPProviderRemovedType + LoginPolicyIDPProviderCascadeRemovedEventType = instanceEventTypePrefix + policy.LoginPolicyIDPProviderCascadeRemovedType ) type IdentityProviderAddedEvent struct { diff --git a/internal/repository/iam/policy_mail_template.go b/internal/repository/instance/policy_mail_template.go similarity index 88% rename from internal/repository/iam/policy_mail_template.go rename to internal/repository/instance/policy_mail_template.go index b5737680e2..c9e5ea22d0 100644 --- a/internal/repository/iam/policy_mail_template.go +++ b/internal/repository/instance/policy_mail_template.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -9,8 +9,8 @@ import ( ) var ( - MailTemplateAddedEventType = iamEventTypePrefix + policy.MailTemplatePolicyAddedEventType - MailTemplateChangedEventType = iamEventTypePrefix + policy.MailTemplatePolicyChangedEventType + MailTemplateAddedEventType = instanceEventTypePrefix + policy.MailTemplatePolicyAddedEventType + MailTemplateChangedEventType = instanceEventTypePrefix + policy.MailTemplatePolicyChangedEventType ) type MailTemplateAddedEvent struct { diff --git a/internal/repository/iam/policy_mail_text.go b/internal/repository/instance/policy_mail_text.go similarity index 90% rename from internal/repository/iam/policy_mail_text.go rename to internal/repository/instance/policy_mail_text.go index 7ddcc5acdf..b13668bc10 100644 --- a/internal/repository/iam/policy_mail_text.go +++ b/internal/repository/instance/policy_mail_text.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -9,8 +9,8 @@ import ( ) var ( - MailTextAddedEventType = iamEventTypePrefix + policy.MailTextPolicyAddedEventType - MailTextChangedEventType = iamEventTypePrefix + policy.MailTextPolicyChangedEventType + MailTextAddedEventType = instanceEventTypePrefix + policy.MailTextPolicyAddedEventType + MailTextChangedEventType = instanceEventTypePrefix + policy.MailTextPolicyChangedEventType ) type MailTextAddedEvent struct { diff --git a/internal/repository/iam/policy_password_age.go b/internal/repository/instance/policy_password_age.go similarity index 89% rename from internal/repository/iam/policy_password_age.go rename to internal/repository/instance/policy_password_age.go index 135a1a2b4d..01c9b0b87a 100644 --- a/internal/repository/iam/policy_password_age.go +++ b/internal/repository/instance/policy_password_age.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,8 +10,8 @@ import ( ) var ( - PasswordAgePolicyAddedEventType = iamEventTypePrefix + policy.PasswordAgePolicyAddedEventType - PasswordAgePolicyChangedEventType = iamEventTypePrefix + policy.PasswordAgePolicyChangedEventType + PasswordAgePolicyAddedEventType = instanceEventTypePrefix + policy.PasswordAgePolicyAddedEventType + PasswordAgePolicyChangedEventType = instanceEventTypePrefix + policy.PasswordAgePolicyChangedEventType ) type PasswordAgePolicyAddedEvent struct { diff --git a/internal/repository/iam/policy_password_complexity.go b/internal/repository/instance/policy_password_complexity.go similarity index 89% rename from internal/repository/iam/policy_password_complexity.go rename to internal/repository/instance/policy_password_complexity.go index 59591d71b0..536660c6e3 100644 --- a/internal/repository/iam/policy_password_complexity.go +++ b/internal/repository/instance/policy_password_complexity.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,8 +10,8 @@ import ( ) const ( - PasswordComplexityPolicyAddedEventType = iamEventTypePrefix + policy.PasswordComplexityPolicyAddedEventType - PasswordComplexityPolicyChangedEventType = iamEventTypePrefix + policy.PasswordComplexityPolicyChangedEventType + PasswordComplexityPolicyAddedEventType = instanceEventTypePrefix + policy.PasswordComplexityPolicyAddedEventType + PasswordComplexityPolicyChangedEventType = instanceEventTypePrefix + policy.PasswordComplexityPolicyChangedEventType ) type PasswordComplexityPolicyAddedEvent struct { diff --git a/internal/repository/iam/policy_password_lockout.go b/internal/repository/instance/policy_password_lockout.go similarity index 89% rename from internal/repository/iam/policy_password_lockout.go rename to internal/repository/instance/policy_password_lockout.go index 5f7ea469c7..a8376cb891 100644 --- a/internal/repository/iam/policy_password_lockout.go +++ b/internal/repository/instance/policy_password_lockout.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,8 +10,8 @@ import ( ) var ( - LockoutPolicyAddedEventType = iamEventTypePrefix + policy.LockoutPolicyAddedEventType - LockoutPolicyChangedEventType = iamEventTypePrefix + policy.LockoutPolicyChangedEventType + LockoutPolicyAddedEventType = instanceEventTypePrefix + policy.LockoutPolicyAddedEventType + LockoutPolicyChangedEventType = instanceEventTypePrefix + policy.LockoutPolicyChangedEventType ) type LockoutPolicyAddedEvent struct { diff --git a/internal/repository/iam/policy_privacy.go b/internal/repository/instance/policy_privacy.go similarity index 89% rename from internal/repository/iam/policy_privacy.go rename to internal/repository/instance/policy_privacy.go index 8606825149..7a9dd7f4c3 100644 --- a/internal/repository/iam/policy_privacy.go +++ b/internal/repository/instance/policy_privacy.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -10,8 +10,8 @@ import ( ) const ( - PrivacyPolicyAddedEventType = iamEventTypePrefix + policy.PrivacyPolicyAddedEventType - PrivacyPolicyChangedEventType = iamEventTypePrefix + policy.PrivacyPolicyChangedEventType + PrivacyPolicyAddedEventType = instanceEventTypePrefix + policy.PrivacyPolicyAddedEventType + PrivacyPolicyChangedEventType = instanceEventTypePrefix + policy.PrivacyPolicyChangedEventType ) type PrivacyPolicyAddedEvent struct { diff --git a/internal/repository/iam/secret_generator.go b/internal/repository/instance/secret_generator.go similarity index 95% rename from internal/repository/iam/secret_generator.go rename to internal/repository/instance/secret_generator.go index c53e0cf40a..33d6a92f6e 100644 --- a/internal/repository/iam/secret_generator.go +++ b/internal/repository/instance/secret_generator.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -14,9 +14,9 @@ import ( const ( UniqueSecretGeneratorType = "secret_generator" secretGeneratorPrefix = "secret.generator." - SecretGeneratorAddedEventType = iamEventTypePrefix + secretGeneratorPrefix + "added" - SecretGeneratorChangedEventType = iamEventTypePrefix + secretGeneratorPrefix + "changed" - SecretGeneratorRemovedEventType = iamEventTypePrefix + secretGeneratorPrefix + "removed" + SecretGeneratorAddedEventType = instanceEventTypePrefix + secretGeneratorPrefix + "added" + SecretGeneratorChangedEventType = instanceEventTypePrefix + secretGeneratorPrefix + "changed" + SecretGeneratorRemovedEventType = instanceEventTypePrefix + secretGeneratorPrefix + "removed" ) func NewAddSecretGeneratorTypeUniqueConstraint(generatorType domain.SecretGeneratorType) *eventstore.EventUniqueConstraint { diff --git a/internal/repository/iam/sms.go b/internal/repository/instance/sms.go similarity index 91% rename from internal/repository/iam/sms.go rename to internal/repository/instance/sms.go index c7f4dfd247..9a33ef4ada 100644 --- a/internal/repository/iam/sms.go +++ b/internal/repository/instance/sms.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -13,12 +13,12 @@ import ( const ( smsConfigPrefix = "sms.config" smsConfigTwilioPrefix = "twilio." - SMSConfigTwilioAddedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "added" - SMSConfigTwilioChangedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "changed" - SMSConfigTwilioTokenChangedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "token.changed" - SMSConfigActivatedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "activated" - SMSConfigDeactivatedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "deactivated" - SMSConfigRemovedEventType = iamEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "removed" + SMSConfigTwilioAddedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "added" + SMSConfigTwilioChangedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "changed" + SMSConfigTwilioTokenChangedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "token.changed" + SMSConfigActivatedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "activated" + SMSConfigDeactivatedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "deactivated" + SMSConfigRemovedEventType = instanceEventTypePrefix + smsConfigPrefix + smsConfigTwilioPrefix + "removed" ) type SMSConfigTwilioAddedEvent struct { diff --git a/internal/repository/iam/smtp_config.go b/internal/repository/instance/smtp_config.go similarity index 94% rename from internal/repository/iam/smtp_config.go rename to internal/repository/instance/smtp_config.go index 91e2c26e6f..c95d22ba8e 100644 --- a/internal/repository/iam/smtp_config.go +++ b/internal/repository/instance/smtp_config.go @@ -1,4 +1,4 @@ -package iam +package instance import ( "context" @@ -12,9 +12,9 @@ import ( const ( smtpConfigPrefix = "smtp.config" - SMTPConfigAddedEventType = iamEventTypePrefix + smtpConfigPrefix + "added" - SMTPConfigChangedEventType = iamEventTypePrefix + smtpConfigPrefix + "changed" - SMTPConfigPasswordChangedEventType = iamEventTypePrefix + smtpConfigPrefix + "password.changed" + SMTPConfigAddedEventType = instanceEventTypePrefix + smtpConfigPrefix + "added" + SMTPConfigChangedEventType = instanceEventTypePrefix + smtpConfigPrefix + "changed" + SMTPConfigPasswordChangedEventType = instanceEventTypePrefix + smtpConfigPrefix + "password.changed" ) type SMTPConfigAddedEvent struct { diff --git a/internal/repository/org/eventstore.go b/internal/repository/org/eventstore.go index a010464d2f..d0ac20ae4d 100644 --- a/internal/repository/org/eventstore.go +++ b/internal/repository/org/eventstore.go @@ -44,9 +44,9 @@ func RegisterEventMappers(es *eventstore.Eventstore) { RegisterFilterEventMapper(LoginPolicyIDPProviderAddedEventType, IdentityProviderAddedEventMapper). RegisterFilterEventMapper(LoginPolicyIDPProviderRemovedEventType, IdentityProviderRemovedEventMapper). RegisterFilterEventMapper(LoginPolicyIDPProviderCascadeRemovedEventType, IdentityProviderCascadeRemovedEventMapper). - RegisterFilterEventMapper(OrgIAMPolicyAddedEventType, OrgIAMPolicyAddedEventMapper). - RegisterFilterEventMapper(OrgIAMPolicyChangedEventType, OrgIAMPolicyChangedEventMapper). - RegisterFilterEventMapper(OrgIAMPolicyRemovedEventType, OrgIAMPolicyRemovedEventMapper). + RegisterFilterEventMapper(OrgDomainPolicyAddedEventType, OrgDomainPolicyAddedEventMapper). + RegisterFilterEventMapper(OrgDomainPolicyChangedEventType, OrgDomainPolicyChangedEventMapper). + RegisterFilterEventMapper(OrgDomainPolicyRemovedEventType, OrgDomainPolicyRemovedEventMapper). RegisterFilterEventMapper(PasswordAgePolicyAddedEventType, PasswordAgePolicyAddedEventMapper). RegisterFilterEventMapper(PasswordAgePolicyChangedEventType, PasswordAgePolicyChangedEventMapper). RegisterFilterEventMapper(PasswordAgePolicyRemovedEventType, PasswordAgePolicyRemovedEventMapper). diff --git a/internal/repository/org/policy_org_domain.go b/internal/repository/org/policy_org_domain.go new file mode 100644 index 0000000000..cdd249a3d6 --- /dev/null +++ b/internal/repository/org/policy_org_domain.go @@ -0,0 +1,103 @@ +package org + +import ( + "context" + + "github.com/caos/zitadel/internal/eventstore" + + "github.com/caos/zitadel/internal/eventstore/repository" + "github.com/caos/zitadel/internal/repository/policy" +) + +var ( + OrgDomainPolicyAddedEventType = orgEventTypePrefix + policy.DomainPolicyAddedEventType + OrgDomainPolicyChangedEventType = orgEventTypePrefix + policy.DomainPolicyChangedEventType + OrgDomainPolicyRemovedEventType = orgEventTypePrefix + policy.DomainPolicyRemovedEventType +) + +type OrgDomainPolicyAddedEvent struct { + policy.DomainPolicyAddedEvent +} + +func NewOrgDomainPolicyAddedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + userLoginMustBeDomain bool, +) *OrgDomainPolicyAddedEvent { + return &OrgDomainPolicyAddedEvent{ + DomainPolicyAddedEvent: *policy.NewDomainPolicyAddedEvent( + eventstore.NewBaseEventForPush( + ctx, + aggregate, + OrgDomainPolicyAddedEventType), + userLoginMustBeDomain, + ), + } +} + +func OrgDomainPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { + e, err := policy.DomainPolicyAddedEventMapper(event) + if err != nil { + return nil, err + } + + return &OrgDomainPolicyAddedEvent{DomainPolicyAddedEvent: *e.(*policy.DomainPolicyAddedEvent)}, nil +} + +type OrgDomainPolicyChangedEvent struct { + policy.DomainPolicyChangedEvent +} + +func NewOrgDomainPolicyChangedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, + changes []policy.OrgPolicyChanges, +) (*OrgDomainPolicyChangedEvent, error) { + changedEvent, err := policy.NewDomainPolicyChangedEvent( + eventstore.NewBaseEventForPush( + ctx, + aggregate, + OrgDomainPolicyChangedEventType), + changes, + ) + if err != nil { + return nil, err + } + return &OrgDomainPolicyChangedEvent{DomainPolicyChangedEvent: *changedEvent}, nil +} + +func OrgDomainPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { + e, err := policy.DomainPolicyChangedEventMapper(event) + if err != nil { + return nil, err + } + + return &OrgDomainPolicyChangedEvent{DomainPolicyChangedEvent: *e.(*policy.DomainPolicyChangedEvent)}, nil +} + +type OrgDomainPolicyRemovedEvent struct { + policy.DomainPolicyRemovedEvent +} + +func NewOrgDomainPolicyRemovedEvent( + ctx context.Context, + aggregate *eventstore.Aggregate, +) *OrgDomainPolicyRemovedEvent { + return &OrgDomainPolicyRemovedEvent{ + DomainPolicyRemovedEvent: *policy.NewDomainPolicyRemovedEvent( + eventstore.NewBaseEventForPush( + ctx, + aggregate, + OrgDomainPolicyRemovedEventType), + ), + } +} + +func OrgDomainPolicyRemovedEventMapper(event *repository.Event) (eventstore.Event, error) { + e, err := policy.DomainPolicyRemovedEventMapper(event) + if err != nil { + return nil, err + } + + return &OrgDomainPolicyRemovedEvent{DomainPolicyRemovedEvent: *e.(*policy.DomainPolicyRemovedEvent)}, nil +} diff --git a/internal/repository/org/policy_org_iam.go b/internal/repository/org/policy_org_iam.go deleted file mode 100644 index 1aeccb5abd..0000000000 --- a/internal/repository/org/policy_org_iam.go +++ /dev/null @@ -1,106 +0,0 @@ -package org - -import ( - "context" - - "github.com/caos/zitadel/internal/eventstore" - - "github.com/caos/zitadel/internal/eventstore/repository" - "github.com/caos/zitadel/internal/repository/policy" -) - -var ( - //TODO: enable when possible - //OrgIAMPolicyAddedEventType = orgEventTypePrefix + policy.OrgIAMPolicyAddedEventType - //OrgIAMPolicyChangedEventType = orgEventTypePrefix + policy.OrgIAMPolicyChangedEventType - OrgIAMPolicyAddedEventType = orgEventTypePrefix + "iam.policy.added" - OrgIAMPolicyChangedEventType = orgEventTypePrefix + "iam.policy.changed" - OrgIAMPolicyRemovedEventType = orgEventTypePrefix + "iam.policy.removed" -) - -type OrgIAMPolicyAddedEvent struct { - policy.OrgIAMPolicyAddedEvent -} - -func NewOrgIAMPolicyAddedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - userLoginMustBeDomain bool, -) *OrgIAMPolicyAddedEvent { - return &OrgIAMPolicyAddedEvent{ - OrgIAMPolicyAddedEvent: *policy.NewOrgIAMPolicyAddedEvent( - eventstore.NewBaseEventForPush( - ctx, - aggregate, - OrgIAMPolicyAddedEventType), - userLoginMustBeDomain, - ), - } -} - -func OrgIAMPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { - e, err := policy.OrgIAMPolicyAddedEventMapper(event) - if err != nil { - return nil, err - } - - return &OrgIAMPolicyAddedEvent{OrgIAMPolicyAddedEvent: *e.(*policy.OrgIAMPolicyAddedEvent)}, nil -} - -type OrgIAMPolicyChangedEvent struct { - policy.OrgIAMPolicyChangedEvent -} - -func NewOrgIAMPolicyChangedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, - changes []policy.OrgIAMPolicyChanges, -) (*OrgIAMPolicyChangedEvent, error) { - changedEvent, err := policy.NewOrgIAMPolicyChangedEvent( - eventstore.NewBaseEventForPush( - ctx, - aggregate, - OrgIAMPolicyChangedEventType), - changes, - ) - if err != nil { - return nil, err - } - return &OrgIAMPolicyChangedEvent{OrgIAMPolicyChangedEvent: *changedEvent}, nil -} - -func OrgIAMPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { - e, err := policy.OrgIAMPolicyChangedEventMapper(event) - if err != nil { - return nil, err - } - - return &OrgIAMPolicyChangedEvent{OrgIAMPolicyChangedEvent: *e.(*policy.OrgIAMPolicyChangedEvent)}, nil -} - -type OrgIAMPolicyRemovedEvent struct { - policy.OrgIAMPolicyRemovedEvent -} - -func NewOrgIAMPolicyRemovedEvent( - ctx context.Context, - aggregate *eventstore.Aggregate, -) *OrgIAMPolicyRemovedEvent { - return &OrgIAMPolicyRemovedEvent{ - OrgIAMPolicyRemovedEvent: *policy.NewOrgIAMPolicyRemovedEvent( - eventstore.NewBaseEventForPush( - ctx, - aggregate, - OrgIAMPolicyRemovedEventType), - ), - } -} - -func OrgIAMPolicyRemovedEventMapper(event *repository.Event) (eventstore.Event, error) { - e, err := policy.OrgIAMPolicyRemovedEventMapper(event) - if err != nil { - return nil, err - } - - return &OrgIAMPolicyRemovedEvent{OrgIAMPolicyRemovedEvent: *e.(*policy.OrgIAMPolicyRemovedEvent)}, nil -} diff --git a/internal/repository/policy/policy_org_iam.go b/internal/repository/policy/policy_domain.go similarity index 55% rename from internal/repository/policy/policy_org_iam.go rename to internal/repository/policy/policy_domain.go index 29fd9744a7..b0baefa9c3 100644 --- a/internal/repository/policy/policy_org_iam.go +++ b/internal/repository/policy/policy_domain.go @@ -11,37 +11,38 @@ import ( const ( //TODO: use for org events as suffix (when possible) - OrgIAMPolicyAddedEventType = "policy.org.iam.added" - OrgIAMPolicyChangedEventType = "policy.org.iam.changed" + DomainPolicyAddedEventType = "policy.domain.added" + DomainPolicyChangedEventType = "policy.domain.changed" + DomainPolicyRemovedEventType = "policy.domain.removed" ) -type OrgIAMPolicyAddedEvent struct { +type DomainPolicyAddedEvent struct { eventstore.BaseEvent `json:"-"` UserLoginMustBeDomain bool `json:"userLoginMustBeDomain,omitempty"` } -func (e *OrgIAMPolicyAddedEvent) Data() interface{} { +func (e *DomainPolicyAddedEvent) Data() interface{} { return e } -func (e *OrgIAMPolicyAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { +func (e *DomainPolicyAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { return nil } -func NewOrgIAMPolicyAddedEvent( +func NewDomainPolicyAddedEvent( base *eventstore.BaseEvent, userLoginMustBeDomain bool, -) *OrgIAMPolicyAddedEvent { +) *DomainPolicyAddedEvent { - return &OrgIAMPolicyAddedEvent{ + return &DomainPolicyAddedEvent{ BaseEvent: *base, UserLoginMustBeDomain: userLoginMustBeDomain, } } -func OrgIAMPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { - e := &OrgIAMPolicyAddedEvent{ +func DomainPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, error) { + e := &DomainPolicyAddedEvent{ BaseEvent: *eventstore.BaseEventFromRepo(event), } @@ -53,28 +54,28 @@ func OrgIAMPolicyAddedEventMapper(event *repository.Event) (eventstore.Event, er return e, nil } -type OrgIAMPolicyChangedEvent struct { +type DomainPolicyChangedEvent struct { eventstore.BaseEvent `json:"-"` UserLoginMustBeDomain *bool `json:"userLoginMustBeDomain,omitempty"` } -func (e *OrgIAMPolicyChangedEvent) Data() interface{} { +func (e *DomainPolicyChangedEvent) Data() interface{} { return e } -func (e *OrgIAMPolicyChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { +func (e *DomainPolicyChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { return nil } -func NewOrgIAMPolicyChangedEvent( +func NewDomainPolicyChangedEvent( base *eventstore.BaseEvent, - changes []OrgIAMPolicyChanges, -) (*OrgIAMPolicyChangedEvent, error) { + changes []OrgPolicyChanges, +) (*DomainPolicyChangedEvent, error) { if len(changes) == 0 { return nil, errors.ThrowPreconditionFailed(nil, "POLICY-DAf3h", "Errors.NoChangesFound") } - changeEvent := &OrgIAMPolicyChangedEvent{ + changeEvent := &DomainPolicyChangedEvent{ BaseEvent: *base, } for _, change := range changes { @@ -83,16 +84,16 @@ func NewOrgIAMPolicyChangedEvent( return changeEvent, nil } -type OrgIAMPolicyChanges func(*OrgIAMPolicyChangedEvent) +type OrgPolicyChanges func(*DomainPolicyChangedEvent) -func ChangeUserLoginMustBeDomain(userLoginMustBeDomain bool) func(*OrgIAMPolicyChangedEvent) { - return func(e *OrgIAMPolicyChangedEvent) { +func ChangeUserLoginMustBeDomain(userLoginMustBeDomain bool) func(*DomainPolicyChangedEvent) { + return func(e *DomainPolicyChangedEvent) { e.UserLoginMustBeDomain = &userLoginMustBeDomain } } -func OrgIAMPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { - e := &OrgIAMPolicyChangedEvent{ +func DomainPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, error) { + e := &DomainPolicyChangedEvent{ BaseEvent: *eventstore.BaseEventFromRepo(event), } @@ -104,26 +105,26 @@ func OrgIAMPolicyChangedEventMapper(event *repository.Event) (eventstore.Event, return e, nil } -type OrgIAMPolicyRemovedEvent struct { +type DomainPolicyRemovedEvent struct { eventstore.BaseEvent `json:"-"` } -func (e *OrgIAMPolicyRemovedEvent) Data() interface{} { +func (e *DomainPolicyRemovedEvent) Data() interface{} { return nil } -func (e *OrgIAMPolicyRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { +func (e *DomainPolicyRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint { return nil } -func NewOrgIAMPolicyRemovedEvent(base *eventstore.BaseEvent) *OrgIAMPolicyRemovedEvent { - return &OrgIAMPolicyRemovedEvent{ +func NewDomainPolicyRemovedEvent(base *eventstore.BaseEvent) *DomainPolicyRemovedEvent { + return &DomainPolicyRemovedEvent{ BaseEvent: *base, } } -func OrgIAMPolicyRemovedEventMapper(event *repository.Event) (eventstore.Event, error) { - return &OrgIAMPolicyRemovedEvent{ +func DomainPolicyRemovedEventMapper(event *repository.Event) (eventstore.Event, error) { + return &DomainPolicyRemovedEvent{ BaseEvent: *eventstore.BaseEventFromRepo(event), }, nil } diff --git a/internal/setup/setup.go b/internal/setup/setup.go index 4fd256ccd7..3bf3c9c775 100644 --- a/internal/setup/setup.go +++ b/internal/setup/setup.go @@ -14,7 +14,7 @@ import ( func Execute(ctx context.Context, setUpConfig IAMSetUp, iamID string, commands *command.Commands) error { logging.Log("SETUP-JAK2q").Info("starting setup") - iam, err := commands.GetIAM(ctx) + iam, err := commands.GetInstance(ctx) if err != nil && !caos_errs.IsNotFound(err) { return err } @@ -24,7 +24,7 @@ func Execute(ctx context.Context, setUpConfig IAMSetUp, iamID string, commands * } if iam == nil { - iam = &domain.IAM{ObjectRoot: models.ObjectRoot{AggregateID: iamID}} + iam = &domain.Instance{ObjectRoot: models.ObjectRoot{AggregateID: iamID}} } steps, err := setUpConfig.Steps(iam.SetUpDone) diff --git a/internal/static/i18n/de.yaml b/internal/static/i18n/de.yaml index 13db35a19e..6f08e9886f 100644 --- a/internal/static/i18n/de.yaml +++ b/internal/static/i18n/de.yaml @@ -49,7 +49,7 @@ Errors: NotFoundOnOrg: Benutzer konnte in der gewünschten Organisation nicht gefunden werden NotAllowedOrg: Benutzer gehört nicht der benötigten Organisation an UserIDMissing: User ID fehlt - OrgIamPolicyNil: Organisations Policy ist leer + DomainPolicyNil: Organisations Policy ist leer EmailAsUsernameNotAllowed: Benutzername darf keine E-Mail Adresse sein Invalid: Benutzerdaten sind ungültig DomainNotAllowedAsUsername: Domäne ist bereits reserviert und kann nicht verwendet werden @@ -325,7 +325,7 @@ Errors: AlreadyExists: Default Password Lockout Policy existiert bereits Empty: Default Password Lockout Policy leer NotChanged: Default Password Lockout Policy wurde nicht verändert - OrgIAMPolicy: + DomainPolicy: NotFound: Default Org IAM Policy konnte nicht gefunden werden NotExisting: Default Org IAM Policy existiert nicht AlreadyExists: Default Org IAM Policy existiert bereits diff --git a/internal/static/i18n/en.yaml b/internal/static/i18n/en.yaml index 72ae6a8cf5..3d3b4eab0b 100644 --- a/internal/static/i18n/en.yaml +++ b/internal/static/i18n/en.yaml @@ -49,7 +49,7 @@ Errors: NotFoundOnOrg: User could not be found on chosen organisation NotAllowedOrg: User is no member of the required organisation UserIDMissing: User ID missing - OrgIamPolicyNil: Organisation Policy is empty + DomainPolicyNil: Organisation Policy is empty EmailAsUsernameNotAllowed: Email is not allowed as username Invalid: Userdata is invalid DomainNotAllowedAsUsername: Domain is already reserved and cannot be used @@ -325,7 +325,7 @@ Errors: AlreadyExists: Default Password Lockout Policy already existing Empty: Default Password Lockout Policy empty NotChanged: Default Password Lockout Policy has not been changed - OrgIAMPolicy: + DomainPolicy: NotFound: Org IAM Policy not found Empty: Org IAM Policy is empty NotExisting: Org IAM Policy not existing diff --git a/internal/static/i18n/it.yaml b/internal/static/i18n/it.yaml index ab1684649d..17a9efd03b 100644 --- a/internal/static/i18n/it.yaml +++ b/internal/static/i18n/it.yaml @@ -49,7 +49,7 @@ Errors: NotFoundOnOrg: L'utente non è stato trovato nell'organizzazione scelta NotAllowedOrg: L'utente non è membro dell'organizzazione richiesta UserIDMissing: ID utente mancante - OrgIamPolicyNil: Impostazione Org IAM mancante + DomainPolicyNil: Impostazione Org IAM mancante EmailAsUsernameNotAllowed: L'e-mail non è consentita come nome utente Invalid: I dati utente non sono validi DomainNotAllowedAsUsername: Il dominio è già riservato e non può essere utilizzato @@ -323,7 +323,7 @@ Errors: AlreadyExists: Impostazioni di blocco della password predefinite già esistenti Empty: Impostazioni di blocco della password predefinite sono vuote NotChanged: Le impostazioni di blocco della password predefinite non sono state cambiate - OrgIAMPolicy: + DomainPolicy: NotFound: Impostazioni Org IAM non trovate Empty: Impostazioni Org IAM mancanti NotExisting: Impostazioni Org IAM non esistenti diff --git a/proto/zitadel/admin.proto b/proto/zitadel/admin.proto index a390816a4f..491ea00bef 100644 --- a/proto/zitadel/admin.proto +++ b/proto/zitadel/admin.proto @@ -27,7 +27,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info: { title: "Administration API aka Admin"; version: "1.0"; - description: "This API is intended to configure and manage the IAM itself."; + description: "This API is intended to configure and manage the IAM instance itself."; contact:{ name: "CAOS developers of ZITADEL" url: "https://zitadel.ch" @@ -494,7 +494,7 @@ service AdminService { }; } - // Returns a identity provider configuration of the IAM + // Returns a identity provider configuration of the IAM instance rpc GetIDPByID(GetIDPByIDRequest) returns (GetIDPByIDResponse) { option (google.api.http) = { get: "/idps/{id}"; @@ -530,7 +530,7 @@ service AdminService { }; } - // Returns all identity provider configurations of the IAM + // Returns all identity provider configurations of the IAM instance rpc ListIDPs(ListIDPsRequest) returns (ListIDPsResponse) { option (google.api.http) = { post: "/idps/_search"; @@ -567,7 +567,7 @@ service AdminService { }; } - // Adds a new oidc identity provider configuration the IAM + // Adds a new oidc identity provider configuration the IAM instance rpc AddOIDCIDP(AddOIDCIDPRequest) returns (AddOIDCIDPResponse) { option (google.api.http) = { post: "/idps/oidc"; @@ -606,7 +606,7 @@ service AdminService { }; } - // Adds a new jwt identity provider configuration the IAM + // Adds a new jwt identity provider configuration the IAM instance rpc AddJWTIDP(AddJWTIDPRequest) returns (AddJWTIDPResponse) { option (google.api.http) = { post: "/idps/jwt"; @@ -937,7 +937,8 @@ service AdminService { }; } - //Returns the IAM policy defined by the administrators of ZITADEL + //deprecated: please use DomainPolicy instead + //Returns the Org IAM policy defined by the administrators of ZITADEL rpc GetOrgIAMPolicy(GetOrgIAMPolicyRequest) returns (GetOrgIAMPolicyResponse) { option (google.api.http) = { get: "/policies/orgiam"; @@ -948,22 +949,23 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "domain policy"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the domain policy"; }; responses: { key: "200"; value: { - description: "default org iam policy"; + description: "default domain policy"; }; }; }; } - //Updates the default IAM policy. + //deprecated: please use DomainPolicy instead + //Updates the default OrgIAM policy. // it impacts all organisations without a customised policy rpc UpdateOrgIAMPolicy(UpdateOrgIAMPolicyRequest) returns (UpdateOrgIAMPolicyResponse) { option (google.api.http) = { @@ -976,21 +978,22 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "domain policy"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the domain policy"; }; responses: { key: "200"; value: { - description: "default org iam policy updated"; + description: "default domain policy updated"; }; }; }; } + //deprecated: please use DomainPolicy instead //Returns the customised policy or the default if not customised rpc GetCustomOrgIAMPolicy(GetCustomOrgIAMPolicyRequest) returns (GetCustomOrgIAMPolicyResponse) { option (google.api.http) = { @@ -1002,22 +1005,23 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "domain policy"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the domain policy"; }; responses: { key: "200"; value: { - description: "org iam policy of the org or the default policy if not customized"; + description: "domain policy of the org or the default policy if not customized"; }; }; }; } - //Defines a custom ORGIAM policy as specified + //deprecated: please use DomainPolicy instead + //Defines a custom OrgIAM policy as specified rpc AddCustomOrgIAMPolicy(AddCustomOrgIAMPolicyRequest) returns (AddCustomOrgIAMPolicyResponse) { option (google.api.http) = { post: "/orgs/{org_id}/policies/orgiam"; @@ -1029,22 +1033,23 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "domain policy"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the domain policy"; }; responses: { key: "200"; value: { - description: "org iam policy created"; + description: "domain policy created"; }; }; }; } - //Updates a custom ORGIAM policy as specified + //deprecated: please use DomainPolicy instead + //Updates a custom OrgIAM policy as specified rpc UpdateCustomOrgIAMPolicy(UpdateCustomOrgIAMPolicyRequest) returns (UpdateCustomOrgIAMPolicyResponse) { option (google.api.http) = { put: "/orgs/{org_id}/policies/orgiam"; @@ -1056,21 +1061,22 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "domain policy"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the domain policy"; }; responses: { key: "200"; value: { - description: "org iam policy updated"; + description: "domain policy updated"; }; }; }; } + //deprecated: please use DomainPolicy instead //Resets the org iam policy of the organisation to default // ZITADEL will fallback to the default policy defined by the ZITADEL administrators rpc ResetCustomOrgIAMPolicyToDefault(ResetCustomOrgIAMPolicyToDefaultRequest) returns (ResetCustomOrgIAMPolicyToDefaultResponse) { @@ -1083,16 +1089,177 @@ service AdminService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "org iam policy"; + tags: "orgiam"; tags: "policy"; external_docs: { url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; - description: "detailed information about the org iam policy"; + description: "detailed information about the orgiam"; }; responses: { key: "200"; value: { - description: "resets the custom org iam policy to the default policy"; + description: "resets the custom orgiam to the default policy"; + }; + }; + }; + } + + //Returns the Domain policy defined by the administrators of ZITADEL + rpc GetDomainPolicy(GetDomainPolicyRequest) returns (GetDomainPolicyResponse) { + option (google.api.http) = { + get: "/policies/domain"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.read"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domain policy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domain policy"; + }; + responses: { + key: "200"; + value: { + description: "default domain policy"; + }; + }; + }; + } + + //Updates the default Domain policy. + // it impacts all organisations without a customised policy + rpc UpdateDomainPolicy(UpdateDomainPolicyRequest) returns (UpdateDomainPolicyResponse) { + option (google.api.http) = { + put: "/policies/domain"; + body: "*"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.write"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domain policy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domain policy"; + }; + responses: { + key: "200"; + value: { + description: "default domain policy updated"; + }; + }; + }; + } + + //Returns the customised policy or the default if not customised + rpc GetCustomDomainPolicy(GetCustomDomainPolicyRequest) returns (GetCustomDomainPolicyResponse) { + option (google.api.http) = { + get: "/orgs/{org_id}/policies/domain"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.read"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domain policy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domain policy"; + }; + responses: { + key: "200"; + value: { + description: "domain policy of the org or the default policy if not customized"; + }; + }; + }; + } + + //Defines a custom Domain policy as specified + rpc AddCustomDomainPolicy(AddCustomDomainPolicyRequest) returns (AddCustomDomainPolicyResponse) { + option (google.api.http) = { + post: "/orgs/{org_id}/policies/domain"; + body: "*"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.write"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domain policy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domain policy"; + }; + responses: { + key: "200"; + value: { + description: "domain policy created"; + }; + }; + }; + } + + //Updates a custom Domain policy as specified + rpc UpdateCustomDomainPolicy(UpdateCustomDomainPolicyRequest) returns (UpdateCustomDomainPolicyResponse) { + option (google.api.http) = { + put: "/orgs/{org_id}/policies/domain"; + body: "*"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.write"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domain policy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domain policy"; + }; + responses: { + key: "200"; + value: { + description: "domain policy updated"; + }; + }; + }; + } + + //Resets the org iam policy of the organisation to default + // ZITADEL will fallback to the default policy defined by the ZITADEL administrators + rpc ResetCustomDomainPolicyToDefault(ResetCustomDomainPolicyToDefaultRequest) returns (ResetCustomDomainPolicyToDefaultResponse) { + option (google.api.http) = { + delete: "/orgs/{org_id}/policies/domain"; + }; + + option (zitadel.v1.auth_option) = { + permission: "iam.policy.delete"; + }; + + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags: "domainpolicy"; + tags: "policy"; + external_docs: { + url: "https://docs.zitadel.ch/administrate#IAM_Access_Preference"; + description: "detailed information about the domainpolicy"; + }; + responses: { + key: "200"; + value: { + description: "resets the custom domainpolicy to the default policy"; }; }; }; @@ -3321,10 +3488,10 @@ message UpdateOrgIAMPolicyResponse { message GetCustomOrgIAMPolicyRequest { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema: { - required: ["org_id"] - }; - }; + json_schema: { + required: ["org_id"] + }; + }; string org_id = 1 [ (validate.rules).string = {min_len: 1, max_len: 200}, (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { @@ -3343,11 +3510,11 @@ message GetCustomOrgIAMPolicyResponse { message AddCustomOrgIAMPolicyRequest { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema: { - required: ["org_id"] - }; - }; - + json_schema: { + required: ["org_id"] + }; + }; + string org_id = 1 [ (validate.rules).string = {min_len: 1, max_len: 200}, (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { @@ -3369,10 +3536,10 @@ message AddCustomOrgIAMPolicyResponse { message UpdateCustomOrgIAMPolicyRequest { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema: { - required: ["org_id"] - }; - }; + json_schema: { + required: ["org_id"] + }; + }; string org_id = 1 [ (validate.rules).string = {min_len: 1, max_len: 200}, @@ -3394,6 +3561,115 @@ message UpdateCustomOrgIAMPolicyResponse { } message ResetCustomOrgIAMPolicyToDefaultRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + required: ["org_id"] + }; + }; + + string org_id = 1 [ + (validate.rules).string = {min_len: 1, max_len: 200}, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"69629023906488334\""; + min_length: 1; + max_length: 200; + } + ]; +} + +message ResetCustomOrgIAMPolicyToDefaultResponse { + zitadel.v1.ObjectDetails details = 1; +} + +message GetDomainPolicyRequest {} + +message GetDomainPolicyResponse { + zitadel.policy.v1.DomainPolicy policy = 1; +} + +message UpdateDomainPolicyRequest { + bool user_login_must_be_domain = 1; +} + +message UpdateDomainPolicyResponse { + zitadel.v1.ObjectDetails details = 1; +} + +message GetCustomDomainPolicyRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + required: ["org_id"] + }; + }; + string org_id = 1 [ + (validate.rules).string = {min_len: 1, max_len: 200}, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"#69629023906488334\""; + min_length: 1; + max_length: 200; + } + ]; +} + +message GetCustomDomainPolicyResponse { + zitadel.policy.v1.DomainPolicy policy = 1; + //deprecated: is_default is also defined in zitadel.policy.v1.DomainPolicy + bool is_default = 2; +} + +message AddCustomDomainPolicyRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + required: ["org_id"] + }; + }; + + string org_id = 1 [ + (validate.rules).string = {min_len: 1, max_len: 200}, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"#69629023906488334\""; + min_length: 1; + max_length: 200; + } + ]; + bool user_login_must_be_domain = 2 [ + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + description: "the username has to end with the domain of it's organisation" + } + ]; // the username has to end with the domain of it's organisation (uniqueness is organisation based) +} + +message AddCustomDomainPolicyResponse { + zitadel.v1.ObjectDetails details = 1; +} + +message UpdateCustomDomainPolicyRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + required: ["org_id"] + }; + }; + + string org_id = 1 [ + (validate.rules).string = {min_len: 1, max_len: 200}, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"69629023906488334\""; + min_length: 1; + max_length: 200; + } + ]; + bool user_login_must_be_domain = 2 [ + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + description: "the username has to end with the domain of it's organisation" + } + ]; +} + +message UpdateCustomDomainPolicyResponse { + zitadel.v1.ObjectDetails details = 1; +} + +message ResetCustomDomainPolicyToDefaultRequest { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { json_schema: { required: ["org_id"] @@ -3410,7 +3686,7 @@ message ResetCustomOrgIAMPolicyToDefaultRequest { ]; } -message ResetCustomOrgIAMPolicyToDefaultResponse { +message ResetCustomDomainPolicyToDefaultResponse { zitadel.v1.ObjectDetails details = 1; } diff --git a/proto/zitadel/management.proto b/proto/zitadel/management.proto index 92eee5d352..415dcec397 100644 --- a/proto/zitadel/management.proto +++ b/proto/zitadel/management.proto @@ -1750,7 +1750,8 @@ service ManagementService { }; } - // Returns the org iam policy (this policy is managed by the iam administrator) + //deprecated: please use DomainPolicy instead + // Returns the domain policy (this policy is managed by the iam administrator) rpc GetOrgIAMPolicy(GetOrgIAMPolicyRequest) returns (GetOrgIAMPolicyResponse) { option (google.api.http) = { get: "/policies/orgiam" @@ -1761,6 +1762,17 @@ service ManagementService { }; } + // Returns the domain policy (this policy is managed by the iam administrator) + rpc GetDomainPolicy(GetDomainPolicyRequest) returns (GetDomainPolicyResponse) { + option (google.api.http) = { + get: "/policies/domain" + }; + + option (zitadel.v1.auth_option) = { + permission: "authenticated" + }; + } + // Returns the login policy of the organisation // With this policy the login gui can be configured rpc GetLoginPolicy(GetLoginPolicyRequest) returns (GetLoginPolicyResponse) { @@ -4375,7 +4387,13 @@ message GetFeaturesResponse { message GetOrgIAMPolicyRequest {} message GetOrgIAMPolicyResponse { - zitadel.policy.v1.OrgIAMPolicy policy = 1; + zitadel.policy.v1.DomainPolicy policy = 1; +} + +message GetDomainPolicyRequest {} + +message GetDomainPolicyResponse { + zitadel.policy.v1.DomainPolicy policy = 1; } message GetLoginPolicyRequest {} diff --git a/proto/zitadel/policy.proto b/proto/zitadel/policy.proto index cbe5090b0c..074fe531d9 100644 --- a/proto/zitadel/policy.proto +++ b/proto/zitadel/policy.proto @@ -8,6 +8,7 @@ package zitadel.policy.v1; option go_package ="github.com/caos/zitadel/pkg/grpc/policy"; +//deprecated: please use DomainPolicy instead message OrgIAMPolicy { zitadel.v1.ObjectDetails details = 1; bool user_login_must_be_domain = 2 [ @@ -22,6 +23,20 @@ message OrgIAMPolicy { ]; } +message DomainPolicy { + zitadel.v1.ObjectDetails details = 1; + bool user_login_must_be_domain = 2 [ + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + description: "the username has to end with the domain of it's organisation" + } + ]; + bool is_default = 3 [ + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + description: "defines if the organisation's admin changed the policy" + } + ]; +} + message LabelPolicy { zitadel.v1.ObjectDetails details = 1; // hex value for primary color