From dd2f31683ceb2a2134e10b1d897a284823d1c6fb Mon Sep 17 00:00:00 2001 From: Silvan Date: Tue, 14 Jun 2022 07:51:00 +0200 Subject: [PATCH] fix(query): realtime data on defined requests (#3726) * feat: directly specify factors on addCustomLoginPolicy and return on LoginPolicy responses * fix proto * update login policy * feat: directly specify idp on addCustomLoginPolicy and return on LoginPolicy responses * fix: tests * fix(projection): trigger bulk * refactor: clean projection pkg * instance should bulk * fix(query): should trigger bulk on id calls * tests * build prerelease * fix: add shouldTriggerBulk * fix: test Co-authored-by: Livio Amstutz Co-authored-by: Max Peintner --- .releaserc.js | 1 + internal/api/api.go | 2 +- internal/api/grpc/admin/domain_policy.go | 4 +- internal/api/grpc/admin/idp.go | 2 +- internal/api/grpc/admin/org.go | 4 +- internal/api/grpc/admin/password_age.go | 2 +- .../api/grpc/admin/password_complexity.go | 2 +- internal/api/grpc/admin/privacy_policy.go | 2 +- internal/api/grpc/auth/password_complexity.go | 2 +- internal/api/grpc/auth/permission.go | 2 +- internal/api/grpc/auth/policy.go | 2 +- internal/api/grpc/auth/user.go | 6 +- internal/api/grpc/management/iam.go | 8 +- internal/api/grpc/management/idp.go | 4 +- internal/api/grpc/management/org.go | 10 +- .../api/grpc/management/policy_lockout.go | 2 +- internal/api/grpc/management/policy_login.go | 2 +- .../grpc/management/policy_password_age.go | 4 +- .../management/policy_password_complexity.go | 4 +- .../api/grpc/management/policy_privacy.go | 4 +- internal/api/grpc/management/project.go | 8 +- .../grpc/management/project_application.go | 4 +- internal/api/grpc/management/project_grant.go | 2 +- internal/api/grpc/management/user.go | 12 +- internal/api/grpc/management/user_grant.go | 2 +- internal/api/grpc/system/instance.go | 6 +- internal/api/oidc/auth_request.go | 6 +- internal/api/oidc/client.go | 12 +- .../password_complexity_policy_handler.go | 2 +- internal/api/ui/login/policy_handler.go | 4 +- internal/api/ui/login/renderer.go | 4 +- .../eventsourcing/eventstore/auth_request.go | 16 +-- .../eventstore/auth_request_test.go | 8 +- .../eventsourcing/eventstore/org.go | 2 +- .../eventsourcing/handler/idp_providers.go | 4 +- .../handler/user_external_idps.go | 4 +- .../eventstore/handler/crdb/handler_stmt.go | 16 ++- .../handler/crdb/handler_stmt_test.go | 18 ++- .../eventstore/handler/handler_projection.go | 61 +++++++-- .../handler/handler_projection_test.go | 42 +++++- internal/query/app.go | 22 +--- internal/query/authn_key.go | 6 +- internal/query/changes.go | 2 +- .../{org_iam_policy.go => domain_policy.go} | 6 +- ...m_policy_test.go => domain_policy_test.go} | 0 internal/query/idp.go | 6 +- internal/query/instance.go | 8 +- internal/query/lockout_policy.go | 6 +- internal/query/login_policy.go | 6 +- internal/query/member_roles.go | 6 +- internal/query/message_text.go | 26 ---- internal/query/org.go | 9 +- internal/query/password_age_policy.go | 12 +- internal/query/password_complexity_policy.go | 12 +- internal/query/privacy_policy.go | 12 +- internal/query/project.go | 11 +- internal/query/project_grant.go | 11 +- internal/query/project_role.go | 57 +------- internal/query/project_role_test.go | 100 -------------- internal/query/projection/action.go | 18 +-- internal/query/projection/action_test.go | 10 +- internal/query/projection/app.go | 32 ++--- internal/query/projection/app_test.go | 28 ++-- internal/query/projection/authn_key.go | 14 +- internal/query/projection/authn_key_test.go | 30 ++--- internal/query/projection/custom_text.go | 14 +- internal/query/projection/custom_text_test.go | 12 +- .../query/projection/debug_notification.go | 14 +- .../debug_notification_provider_test.go | 12 +- internal/query/projection/domain_policy.go | 14 +- .../query/projection/domain_policy_test.go | 10 +- internal/query/projection/flow.go | 12 +- internal/query/projection/flow_test.go | 4 +- internal/query/projection/idp.go | 26 ++-- .../query/projection/idp_login_policy_link.go | 18 +-- .../projection/idp_login_policy_link_test.go | 18 +-- internal/query/projection/idp_test.go | 44 +++---- internal/query/projection/idp_user_link.go | 20 +-- .../query/projection/idp_user_link_test.go | 14 +- internal/query/projection/instance.go | 18 +-- internal/query/projection/instance_domain.go | 14 +- .../query/projection/instance_domain_test.go | 4 +- internal/query/projection/instance_member.go | 18 +-- .../query/projection/instance_member_test.go | 10 +- internal/query/projection/instance_test.go | 8 +- internal/query/projection/key.go | 10 +- internal/query/projection/key_test.go | 4 +- internal/query/projection/label_policy.go | 30 ++--- .../query/projection/label_policy_test.go | 58 ++++----- internal/query/projection/lockout_policy.go | 14 +- .../query/projection/lockout_policy_test.go | 10 +- internal/query/projection/login_name.go | 28 ++-- internal/query/projection/login_name_test.go | 32 ++--- internal/query/projection/login_policy.go | 22 ++-- .../query/projection/login_policy_test.go | 26 ++-- internal/query/projection/mail_template.go | 14 +- .../query/projection/mail_template_test.go | 10 +- .../query/projection/message_text_test.go | 34 ++--- internal/query/projection/message_texts.go | 14 +- internal/query/projection/oidc_settings.go | 12 +- .../query/projection/oidc_settings_test.go | 4 +- internal/query/projection/org.go | 18 +-- internal/query/projection/org_domain.go | 18 +-- internal/query/projection/org_domain_test.go | 10 +- internal/query/projection/org_member.go | 20 +-- internal/query/projection/org_member_test.go | 12 +- internal/query/projection/org_test.go | 12 +- .../query/projection/password_age_policy.go | 14 +- .../projection/password_age_policy_test.go | 10 +- .../projection/password_complexity_policy.go | 14 +- .../password_complexity_policy_test.go | 10 +- internal/query/projection/privacy_policy.go | 14 +- .../query/projection/privacy_policy_test.go | 10 +- internal/query/projection/project.go | 18 +-- internal/query/projection/project_grant.go | 22 ++-- .../query/projection/project_grant_member.go | 24 ++-- .../projection/project_grant_member_test.go | 16 +-- .../query/projection/project_grant_test.go | 14 +- internal/query/projection/project_member.go | 22 ++-- .../query/projection/project_member_test.go | 14 +- internal/query/projection/project_role.go | 16 +-- .../query/projection/project_role_test.go | 10 +- internal/query/projection/project_test.go | 12 +- internal/query/projection/projection.go | 123 ++++++++++++------ internal/query/projection/secret_generator.go | 14 +- .../query/projection/secret_generator_test.go | 6 +- internal/query/projection/sms.go | 20 +-- internal/query/projection/sms_test.go | 12 +- internal/query/projection/smtp.go | 14 +- internal/query/projection/smtp_test.go | 6 +- internal/query/projection/user.go | 48 +++---- internal/query/projection/user_auth_method.go | 14 +- .../query/projection/user_auth_method_test.go | 12 +- internal/query/projection/user_grant.go | 28 ++-- internal/query/projection/user_grant_test.go | 24 ++-- internal/query/projection/user_metadata.go | 14 +- .../query/projection/user_metadata_test.go | 8 +- .../projection/user_personal_access_token.go | 14 +- .../user_personal_access_token_test.go | 6 +- internal/query/projection/user_test.go | 72 +++++----- internal/query/user.go | 6 +- internal/query/user_auth_method.go | 57 +------- internal/query/user_auth_method_test.go | 105 --------------- internal/query/user_grant.go | 7 +- internal/query/user_metadata.go | 12 +- internal/query/user_personal_access_token.go | 6 +- 146 files changed, 1097 insertions(+), 1239 deletions(-) rename internal/query/{org_iam_policy.go => domain_policy.go} (95%) rename internal/query/{org_iam_policy_test.go => domain_policy_test.go} (100%) diff --git a/.releaserc.js b/.releaserc.js index a0603e9d0a..309ca9e3a5 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -3,6 +3,7 @@ module.exports = { {name: 'main'}, {name: '1.x.x', range: '1.x.x', channel: '1.x.x'}, {name: 'v2-alpha', prerelease: true}, + {name: 'update-projection-on-query', prerelease: true}, ], plugins: [ "@semantic-release/commit-analyzer" diff --git a/internal/api/api.go b/internal/api/api.go index 31bbc8b541..b4d5c6eb72 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -31,7 +31,7 @@ type API struct { type health interface { Health(ctx context.Context) error - Instance(ctx context.Context) (*query.Instance, error) + Instance(ctx context.Context, shouldTriggerBulk bool) (*query.Instance, error) } func New(port uint16, router *mux.Router, queries *query.Queries, verifier *internal_authz.TokenVerifier, authZ internal_authz.Config, externalSecure bool, http2HostName, http1HostName string) *API { diff --git a/internal/api/grpc/admin/domain_policy.go b/internal/api/grpc/admin/domain_policy.go index f06d211a5f..78288b235e 100644 --- a/internal/api/grpc/admin/domain_policy.go +++ b/internal/api/grpc/admin/domain_policy.go @@ -19,7 +19,7 @@ func (s *Server) GetDomainPolicy(ctx context.Context, _ *admin_pb.GetDomainPolic } func (s *Server) GetCustomDomainPolicy(ctx context.Context, req *admin_pb.GetCustomDomainPolicyRequest) (*admin_pb.GetCustomDomainPolicyResponse, error) { - policy, err := s.query.DomainPolicyByOrg(ctx, req.OrgId) + policy, err := s.query.DomainPolicyByOrg(ctx, true, req.OrgId) if err != nil { return nil, err } @@ -154,7 +154,7 @@ func (s *Server) GetOrgIAMPolicy(ctx context.Context, _ *admin_pb.GetOrgIAMPolic } func (s *Server) GetCustomOrgIAMPolicy(ctx context.Context, req *admin_pb.GetCustomOrgIAMPolicyRequest) (*admin_pb.GetCustomOrgIAMPolicyResponse, error) { - policy, err := s.query.DomainPolicyByOrg(ctx, req.OrgId) + policy, err := s.query.DomainPolicyByOrg(ctx, true, req.OrgId) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/idp.go b/internal/api/grpc/admin/idp.go index 9406e9f26b..e48d5a9758 100644 --- a/internal/api/grpc/admin/idp.go +++ b/internal/api/grpc/admin/idp.go @@ -11,7 +11,7 @@ import ( ) func (s *Server) GetIDPByID(ctx context.Context, req *admin_pb.GetIDPByIDRequest) (*admin_pb.GetIDPByIDResponse, error) { - idp, err := s.query.IDPByIDAndResourceOwner(ctx, req.Id, authz.GetInstance(ctx).InstanceID()) + idp, err := s.query.IDPByIDAndResourceOwner(ctx, true, req.Id, authz.GetInstance(ctx).InstanceID()) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/org.go b/internal/api/grpc/admin/org.go index 370d12a915..71ad86d9a4 100644 --- a/internal/api/grpc/admin/org.go +++ b/internal/api/grpc/admin/org.go @@ -28,12 +28,12 @@ func (s *Server) SetDefaultOrg(ctx context.Context, req *admin_pb.SetDefaultOrgR } func (s *Server) GetDefaultOrg(ctx context.Context, _ *admin_pb.GetDefaultOrgRequest) (*admin_pb.GetDefaultOrgResponse, error) { - org, err := s.query.OrgByID(ctx, authz.GetInstance(ctx).DefaultOrganisationID()) + org, err := s.query.OrgByID(ctx, true, authz.GetInstance(ctx).DefaultOrganisationID()) return &admin_pb.GetDefaultOrgResponse{Org: org_grpc.OrgToPb(org)}, err } func (s *Server) GetOrgByID(ctx context.Context, req *admin_pb.GetOrgByIDRequest) (*admin_pb.GetOrgByIDResponse, error) { - org, err := s.query.OrgByID(ctx, req.Id) + org, err := s.query.OrgByID(ctx, true, req.Id) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/password_age.go b/internal/api/grpc/admin/password_age.go index b324f5e0f9..05f3d44378 100644 --- a/internal/api/grpc/admin/password_age.go +++ b/internal/api/grpc/admin/password_age.go @@ -9,7 +9,7 @@ import ( ) func (s *Server) GetPasswordAgePolicy(ctx context.Context, req *admin_pb.GetPasswordAgePolicyRequest) (*admin_pb.GetPasswordAgePolicyResponse, error) { - policy, err := s.query.DefaultPasswordAgePolicy(ctx) + policy, err := s.query.DefaultPasswordAgePolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/password_complexity.go b/internal/api/grpc/admin/password_complexity.go index aa4af68a37..587eda5338 100644 --- a/internal/api/grpc/admin/password_complexity.go +++ b/internal/api/grpc/admin/password_complexity.go @@ -9,7 +9,7 @@ import ( ) func (s *Server) GetPasswordComplexityPolicy(ctx context.Context, _ *admin_pb.GetPasswordComplexityPolicyRequest) (*admin_pb.GetPasswordComplexityPolicyResponse, error) { - policy, err := s.query.DefaultPasswordComplexityPolicy(ctx) + policy, err := s.query.DefaultPasswordComplexityPolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/admin/privacy_policy.go b/internal/api/grpc/admin/privacy_policy.go index 0621896a9f..cad57b5400 100644 --- a/internal/api/grpc/admin/privacy_policy.go +++ b/internal/api/grpc/admin/privacy_policy.go @@ -9,7 +9,7 @@ import ( ) func (s *Server) GetPrivacyPolicy(ctx context.Context, _ *admin_pb.GetPrivacyPolicyRequest) (*admin_pb.GetPrivacyPolicyResponse, error) { - policy, err := s.query.DefaultPrivacyPolicy(ctx) + policy, err := s.query.DefaultPrivacyPolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/auth/password_complexity.go b/internal/api/grpc/auth/password_complexity.go index 2ce11d6d1e..1488d54442 100644 --- a/internal/api/grpc/auth/password_complexity.go +++ b/internal/api/grpc/auth/password_complexity.go @@ -9,7 +9,7 @@ import ( ) func (s *Server) GetMyPasswordComplexityPolicy(ctx context.Context, _ *auth_pb.GetMyPasswordComplexityPolicyRequest) (*auth_pb.GetMyPasswordComplexityPolicyResponse, error) { - policy, err := s.query.PasswordComplexityPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.PasswordComplexityPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/auth/permission.go b/internal/api/grpc/auth/permission.go index 89249fc3f6..5f93b8e7c3 100644 --- a/internal/api/grpc/auth/permission.go +++ b/internal/api/grpc/auth/permission.go @@ -34,7 +34,7 @@ func (s *Server) ListMyProjectPermissions(ctx context.Context, _ *auth_pb.ListMy if err != nil { return nil, err } - userGrant, err := s.query.UserGrant(ctx, userGrantOrgID, userGrantProjectID, userGrantUserID) + userGrant, err := s.query.UserGrant(ctx, true, userGrantOrgID, userGrantProjectID, userGrantUserID) if err != nil { return nil, err } diff --git a/internal/api/grpc/auth/policy.go b/internal/api/grpc/auth/policy.go index 7ba7a357e4..78add88fa9 100644 --- a/internal/api/grpc/auth/policy.go +++ b/internal/api/grpc/auth/policy.go @@ -19,7 +19,7 @@ func (s *Server) GetMyLabelPolicy(ctx context.Context, _ *auth_pb.GetMyLabelPoli } func (s *Server) GetMyPrivacyPolicy(ctx context.Context, _ *auth_pb.GetMyPrivacyPolicyRequest) (*auth_pb.GetMyPrivacyPolicyResponse, error) { - policy, err := s.query.PrivacyPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.PrivacyPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/auth/user.go b/internal/api/grpc/auth/user.go index ba10eb209a..0650082477 100644 --- a/internal/api/grpc/auth/user.go +++ b/internal/api/grpc/auth/user.go @@ -16,7 +16,7 @@ import ( ) func (s *Server) GetMyUser(ctx context.Context, _ *auth_pb.GetMyUserRequest) (*auth_pb.GetMyUserResponse, error) { - user, err := s.query.GetUserByID(ctx, authz.GetCtxData(ctx).UserID) + user, err := s.query.GetUserByID(ctx, true, authz.GetCtxData(ctx).UserID) if err != nil { return nil, err } @@ -70,7 +70,7 @@ func (s *Server) ListMyMetadata(ctx context.Context, req *auth_pb.ListMyMetadata if err != nil { return nil, err } - res, err := s.query.SearchUserMetadata(ctx, authz.GetCtxData(ctx).UserID, queries) + res, err := s.query.SearchUserMetadata(ctx, true, authz.GetCtxData(ctx).UserID, queries) if err != nil { return nil, err } @@ -81,7 +81,7 @@ func (s *Server) ListMyMetadata(ctx context.Context, req *auth_pb.ListMyMetadata } func (s *Server) GetMyMetadata(ctx context.Context, req *auth_pb.GetMyMetadataRequest) (*auth_pb.GetMyMetadataResponse, error) { - data, err := s.query.GetUserMetadataByKey(ctx, authz.GetCtxData(ctx).UserID, req.Key) + data, err := s.query.GetUserMetadataByKey(ctx, true, authz.GetCtxData(ctx).UserID, req.Key) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/iam.go b/internal/api/grpc/management/iam.go index a912d20943..4e68d5b24d 100644 --- a/internal/api/grpc/management/iam.go +++ b/internal/api/grpc/management/iam.go @@ -7,13 +7,13 @@ import ( ) func (s *Server) GetIAM(ctx context.Context, _ *mgmt_pb.GetIAMRequest) (*mgmt_pb.GetIAMResponse, error) { - iam, err := s.query.Instance(ctx) + instance, err := s.query.Instance(ctx, true) if err != nil { return nil, err } return &mgmt_pb.GetIAMResponse{ - GlobalOrgId: iam.DefaultOrgID, - DefaultOrgId: iam.DefaultOrgID, - IamProjectId: iam.IAMProjectID, + GlobalOrgId: instance.DefaultOrgID, + IamProjectId: instance.IAMProjectID, + DefaultOrgId: instance.DefaultOrgID, }, nil } diff --git a/internal/api/grpc/management/idp.go b/internal/api/grpc/management/idp.go index 79b9853cd9..87041826d8 100644 --- a/internal/api/grpc/management/idp.go +++ b/internal/api/grpc/management/idp.go @@ -11,7 +11,7 @@ import ( ) func (s *Server) GetOrgIDPByID(ctx context.Context, req *mgmt_pb.GetOrgIDPByIDRequest) (*mgmt_pb.GetOrgIDPByIDResponse, error) { - idp, err := s.query.IDPByIDAndResourceOwner(ctx, req.Id, authz.GetCtxData(ctx).OrgID) + idp, err := s.query.IDPByIDAndResourceOwner(ctx, true, req.Id, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -80,7 +80,7 @@ func (s *Server) ReactivateOrgIDP(ctx context.Context, req *mgmt_pb.ReactivateOr } func (s *Server) RemoveOrgIDP(ctx context.Context, req *mgmt_pb.RemoveOrgIDPRequest) (*mgmt_pb.RemoveOrgIDPResponse, error) { - idp, err := s.query.IDPByIDAndResourceOwner(ctx, req.IdpId, authz.GetCtxData(ctx).OrgID) + idp, err := s.query.IDPByIDAndResourceOwner(ctx, true, req.IdpId, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/org.go b/internal/api/grpc/management/org.go index a8cf3fe272..2c56789519 100644 --- a/internal/api/grpc/management/org.go +++ b/internal/api/grpc/management/org.go @@ -16,7 +16,7 @@ import ( ) func (s *Server) GetMyOrg(ctx context.Context, req *mgmt_pb.GetMyOrgRequest) (*mgmt_pb.GetMyOrgResponse, error) { - org, err := s.query.OrgByID(ctx, authz.GetCtxData(ctx).OrgID) + org, err := s.query.OrgByID(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -99,7 +99,7 @@ func (s *Server) ReactivateOrg(ctx context.Context, req *mgmt_pb.ReactivateOrgRe } 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) + policy, err := s.query.DomainPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -109,7 +109,7 @@ func (s *Server) GetDomainPolicy(ctx context.Context, req *mgmt_pb.GetDomainPoli } func (s *Server) GetOrgIAMPolicy(ctx context.Context, _ *mgmt_pb.GetOrgIAMPolicyRequest) (*mgmt_pb.GetOrgIAMPolicyResponse, error) { - policy, err := s.query.DomainPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.DomainPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -209,11 +209,11 @@ 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.Instance(ctx) + instance, err := s.query.Instance(ctx, false) if err != nil { return nil, err } - roles := s.query.GetOrgMemberRoles(authz.GetCtxData(ctx).OrgID == iam.DefaultOrgID) + roles := s.query.GetOrgMemberRoles(authz.GetCtxData(ctx).OrgID == instance.DefaultOrgID) return &mgmt_pb.ListOrgMemberRolesResponse{ Result: roles, }, nil diff --git a/internal/api/grpc/management/policy_lockout.go b/internal/api/grpc/management/policy_lockout.go index 1f5db06c6e..740a34e3a2 100644 --- a/internal/api/grpc/management/policy_lockout.go +++ b/internal/api/grpc/management/policy_lockout.go @@ -10,7 +10,7 @@ import ( ) func (s *Server) GetLockoutPolicy(ctx context.Context, req *mgmt_pb.GetLockoutPolicyRequest) (*mgmt_pb.GetLockoutPolicyResponse, error) { - policy, err := s.query.LockoutPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.LockoutPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/policy_login.go b/internal/api/grpc/management/policy_login.go index 3d7fb559a2..25273b81de 100644 --- a/internal/api/grpc/management/policy_login.go +++ b/internal/api/grpc/management/policy_login.go @@ -14,7 +14,7 @@ import ( ) func (s *Server) GetLoginPolicy(ctx context.Context, req *mgmt_pb.GetLoginPolicyRequest) (*mgmt_pb.GetLoginPolicyResponse, error) { - policy, err := s.query.LoginPolicyByID(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.LoginPolicyByID(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/policy_password_age.go b/internal/api/grpc/management/policy_password_age.go index d233927e82..088aeff206 100644 --- a/internal/api/grpc/management/policy_password_age.go +++ b/internal/api/grpc/management/policy_password_age.go @@ -10,7 +10,7 @@ import ( ) func (s *Server) GetPasswordAgePolicy(ctx context.Context, req *mgmt_pb.GetPasswordAgePolicyRequest) (*mgmt_pb.GetPasswordAgePolicyResponse, error) { - policy, err := s.query.PasswordAgePolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.PasswordAgePolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -21,7 +21,7 @@ func (s *Server) GetPasswordAgePolicy(ctx context.Context, req *mgmt_pb.GetPassw } func (s *Server) GetDefaultPasswordAgePolicy(ctx context.Context, req *mgmt_pb.GetDefaultPasswordAgePolicyRequest) (*mgmt_pb.GetDefaultPasswordAgePolicyResponse, error) { - policy, err := s.query.DefaultPasswordAgePolicy(ctx) + policy, err := s.query.DefaultPasswordAgePolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/policy_password_complexity.go b/internal/api/grpc/management/policy_password_complexity.go index 36305014b3..efb44e415e 100644 --- a/internal/api/grpc/management/policy_password_complexity.go +++ b/internal/api/grpc/management/policy_password_complexity.go @@ -10,7 +10,7 @@ import ( ) func (s *Server) GetPasswordComplexityPolicy(ctx context.Context, req *mgmt_pb.GetPasswordComplexityPolicyRequest) (*mgmt_pb.GetPasswordComplexityPolicyResponse, error) { - policy, err := s.query.PasswordComplexityPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.PasswordComplexityPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -18,7 +18,7 @@ func (s *Server) GetPasswordComplexityPolicy(ctx context.Context, req *mgmt_pb.G } func (s *Server) GetDefaultPasswordComplexityPolicy(ctx context.Context, req *mgmt_pb.GetDefaultPasswordComplexityPolicyRequest) (*mgmt_pb.GetDefaultPasswordComplexityPolicyResponse, error) { - policy, err := s.query.DefaultPasswordComplexityPolicy(ctx) + policy, err := s.query.DefaultPasswordComplexityPolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/policy_privacy.go b/internal/api/grpc/management/policy_privacy.go index aec14a6050..86b3f242ac 100644 --- a/internal/api/grpc/management/policy_privacy.go +++ b/internal/api/grpc/management/policy_privacy.go @@ -10,7 +10,7 @@ import ( ) func (s *Server) GetPrivacyPolicy(ctx context.Context, _ *mgmt_pb.GetPrivacyPolicyRequest) (*mgmt_pb.GetPrivacyPolicyResponse, error) { - policy, err := s.query.PrivacyPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := s.query.PrivacyPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } @@ -18,7 +18,7 @@ func (s *Server) GetPrivacyPolicy(ctx context.Context, _ *mgmt_pb.GetPrivacyPoli } func (s *Server) GetDefaultPrivacyPolicy(ctx context.Context, _ *mgmt_pb.GetDefaultPrivacyPolicyRequest) (*mgmt_pb.GetDefaultPrivacyPolicyResponse, error) { - policy, err := s.query.DefaultPrivacyPolicy(ctx) + policy, err := s.query.DefaultPrivacyPolicy(ctx, true) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/project.go b/internal/api/grpc/management/project.go index 35d564cb83..27be7798e2 100644 --- a/internal/api/grpc/management/project.go +++ b/internal/api/grpc/management/project.go @@ -13,7 +13,7 @@ import ( ) func (s *Server) GetProjectByID(ctx context.Context, req *mgmt_pb.GetProjectByIDRequest) (*mgmt_pb.GetProjectByIDResponse, error) { - project, err := s.query.ProjectByID(ctx, req.Id) + project, err := s.query.ProjectByID(ctx, true, req.Id) if err != nil { return nil, err } @@ -23,12 +23,12 @@ func (s *Server) GetProjectByID(ctx context.Context, req *mgmt_pb.GetProjectByID } func (s *Server) GetGrantedProjectByID(ctx context.Context, req *mgmt_pb.GetGrantedProjectByIDRequest) (*mgmt_pb.GetGrantedProjectByIDResponse, error) { - project, err := s.query.ProjectGrantByID(ctx, req.GrantId) + grant, err := s.query.ProjectGrantByID(ctx, true, req.GrantId) if err != nil { return nil, err } return &mgmt_pb.GetGrantedProjectByIDResponse{ - GrantedProject: project_grpc.GrantedProjectViewToPb(project), + GrantedProject: project_grpc.GrantedProjectViewToPb(grant), }, nil } @@ -187,7 +187,7 @@ func (s *Server) ListProjectRoles(ctx context.Context, req *mgmt_pb.ListProjectR if err != nil { return nil, err } - roles, err := s.query.SearchProjectRoles(ctx, queries) + roles, err := s.query.SearchProjectRoles(ctx, true, queries) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/project_application.go b/internal/api/grpc/management/project_application.go index 5261024b43..233417bdfa 100644 --- a/internal/api/grpc/management/project_application.go +++ b/internal/api/grpc/management/project_application.go @@ -14,7 +14,7 @@ import ( ) func (s *Server) GetAppByID(ctx context.Context, req *mgmt_pb.GetAppByIDRequest) (*mgmt_pb.GetAppByIDResponse, error) { - app, err := s.query.AppByProjectAndAppID(ctx, req.ProjectId, req.AppId) + app, err := s.query.AppByProjectAndAppID(ctx, true, req.ProjectId, req.AppId) if err != nil { return nil, err } @@ -204,7 +204,7 @@ func (s *Server) GetAppKey(ctx context.Context, req *mgmt_pb.GetAppKeyRequest) ( if err != nil { return nil, err } - key, err := s.query.GetAuthNKeyByID(ctx, req.KeyId, resourceOwner, aggregateID, objectID) + key, err := s.query.GetAuthNKeyByID(ctx, true, req.KeyId, resourceOwner, aggregateID, objectID) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/project_grant.go b/internal/api/grpc/management/project_grant.go index 54b978e244..3426520400 100644 --- a/internal/api/grpc/management/project_grant.go +++ b/internal/api/grpc/management/project_grant.go @@ -13,7 +13,7 @@ import ( ) func (s *Server) GetProjectGrantByID(ctx context.Context, req *mgmt_pb.GetProjectGrantByIDRequest) (*mgmt_pb.GetProjectGrantByIDResponse, error) { - grant, err := s.query.ProjectGrantByID(ctx, req.GrantId) + grant, err := s.query.ProjectGrantByID(ctx, true, req.GrantId) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/user.go b/internal/api/grpc/management/user.go index f7cc3fe669..ef58b87f33 100644 --- a/internal/api/grpc/management/user.go +++ b/internal/api/grpc/management/user.go @@ -30,7 +30,7 @@ func (s *Server) GetUserByID(ctx context.Context, req *mgmt_pb.GetUserByIDReques if err != nil { return nil, err } - user, err := s.query.GetUserByID(ctx, req.Id, owner) + user, err := s.query.GetUserByID(ctx, true, req.Id, owner) if err != nil { return nil, err } @@ -86,7 +86,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.DomainPolicyByOrg(ctx, orgID) + policy, err := s.query.DomainPolicyByOrg(ctx, true, orgID) if err != nil { return nil, err } @@ -111,7 +111,7 @@ func (s *Server) ListUserMetadata(ctx context.Context, req *mgmt_pb.ListUserMeta if err != nil { return nil, err } - res, err := s.query.SearchUserMetadata(ctx, req.Id, metadataQueries) + res, err := s.query.SearchUserMetadata(ctx, true, req.Id, metadataQueries) if err != nil { return nil, err } @@ -126,7 +126,7 @@ func (s *Server) GetUserMetadata(ctx context.Context, req *mgmt_pb.GetUserMetada if err != nil { return nil, err } - data, err := s.query.GetUserMetadataByKey(ctx, req.Id, req.Key, owner) + data, err := s.query.GetUserMetadataByKey(ctx, true, req.Id, req.Key, owner) if err != nil { return nil, err } @@ -704,7 +704,7 @@ func (s *Server) GetMachineKeyByIDs(ctx context.Context, req *mgmt_pb.GetMachine if err != nil { return nil, err } - key, err := s.query.GetAuthNKeyByID(ctx, req.KeyId, resourceOwner, aggregateID) + key, err := s.query.GetAuthNKeyByID(ctx, true, req.KeyId, resourceOwner, aggregateID) if err != nil { return nil, err } @@ -767,7 +767,7 @@ func (s *Server) GetPersonalAccessTokenByIDs(ctx context.Context, req *mgmt_pb.G if err != nil { return nil, err } - token, err := s.query.PersonalAccessTokenByID(ctx, req.TokenId, resourceOwner, aggregateID) + token, err := s.query.PersonalAccessTokenByID(ctx, true, req.TokenId, resourceOwner, aggregateID) if err != nil { return nil, err } diff --git a/internal/api/grpc/management/user_grant.go b/internal/api/grpc/management/user_grant.go index 2de3e4b6d1..457491c145 100644 --- a/internal/api/grpc/management/user_grant.go +++ b/internal/api/grpc/management/user_grant.go @@ -19,7 +19,7 @@ func (s *Server) GetUserGrantByID(ctx context.Context, req *mgmt_pb.GetUserGrant if err != nil { return nil, err } - grant, err := s.query.UserGrant(ctx, idQuery, ownerQuery) + grant, err := s.query.UserGrant(ctx, true, idQuery, ownerQuery) if err != nil { return nil, err } diff --git a/internal/api/grpc/system/instance.go b/internal/api/grpc/system/instance.go index 1cc032001e..b324e683fb 100644 --- a/internal/api/grpc/system/instance.go +++ b/internal/api/grpc/system/instance.go @@ -31,7 +31,7 @@ func (s *Server) ListInstances(ctx context.Context, req *system_pb.ListInstances func (s *Server) GetInstance(ctx context.Context, req *system_pb.GetInstanceRequest) (*system_pb.GetInstanceResponse, error) { ctx = authz.WithInstanceID(ctx, req.InstanceId) - instance, err := s.query.Instance(ctx) + instance, err := s.query.Instance(ctx, true) if err != nil { return nil, err } @@ -94,12 +94,14 @@ func (s *Server) ListDomains(ctx context.Context, req *system_pb.ListDomainsRequ } func (s *Server) AddDomain(ctx context.Context, req *system_pb.AddDomainRequest) (*system_pb.AddDomainResponse, error) { + //TODO: should be solved in interceptor ctx = authz.WithInstanceID(ctx, req.InstanceId) - instance, err := s.query.Instance(ctx) + instance, err := s.query.Instance(ctx, true) if err != nil { return nil, err } ctx = authz.WithInstance(ctx, instance) + details, err := s.command.AddInstanceDomain(ctx, req.Domain) if err != nil { return nil, err diff --git a/internal/api/oidc/auth_request.go b/internal/api/oidc/auth_request.go index 2e69ad7497..649ae4b6bd 100644 --- a/internal/api/oidc/auth_request.go +++ b/internal/api/oidc/auth_request.go @@ -201,7 +201,7 @@ func (o *OPStorage) assertProjectRoleScopes(ctx context.Context, clientID string if err != nil { return nil, errors.ThrowPreconditionFailed(nil, "OIDC-AEG4d", "Errors.Internal") } - project, err := o.query.ProjectByID(ctx, projectID) + project, err := o.query.ProjectByID(ctx, false, projectID) if err != nil { return nil, errors.ThrowPreconditionFailed(nil, "OIDC-w4wIn", "Errors.Internal") } @@ -212,7 +212,7 @@ func (o *OPStorage) assertProjectRoleScopes(ctx context.Context, clientID string if err != nil { return nil, errors.ThrowInternal(err, "OIDC-Cyc78", "Errors.Internal") } - roles, err := o.query.SearchProjectRoles(context.TODO(), &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) + roles, err := o.query.SearchProjectRoles(ctx, true, &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) if err != nil { return nil, err } @@ -232,7 +232,7 @@ func (o *OPStorage) assertClientScopesForPAT(ctx context.Context, token *model.T if err != nil { return errors.ThrowInternal(err, "OIDC-Cyc78", "Errors.Internal") } - roles, err := o.query.SearchProjectRoles(context.TODO(), &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) + roles, err := o.query.SearchProjectRoles(ctx, true, &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) if err != nil { return err } diff --git a/internal/api/oidc/client.go b/internal/api/oidc/client.go index 298066aa31..7c0326b9af 100644 --- a/internal/api/oidc/client.go +++ b/internal/api/oidc/client.go @@ -43,7 +43,7 @@ func (o *OPStorage) GetClientByClientID(ctx context.Context, id string) (_ op.Cl if err != nil { return nil, errors.ThrowInternal(err, "OIDC-mPxqP", "Errors.Internal") } - projectRoles, err := o.query.SearchProjectRoles(ctx, &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) + projectRoles, err := o.query.SearchProjectRoles(ctx, true, &query.ProjectRoleSearchQueries{Queries: []query.SearchQuery{projectIDQuery}}) if err != nil { return nil, err } @@ -77,7 +77,7 @@ func (o *OPStorage) GetKeyByIDAndIssuer(ctx context.Context, keyID, issuer strin } func (o *OPStorage) ValidateJWTProfileScopes(ctx context.Context, subject string, scopes []string) ([]string, error) { - user, err := o.query.GetUserByID(ctx, subject) + user, err := o.query.GetUserByID(ctx, true, subject) if err != nil { return nil, err } @@ -185,7 +185,7 @@ func (o *OPStorage) SetIntrospectionFromToken(ctx context.Context, introspection func (o *OPStorage) setUserinfo(ctx context.Context, userInfo oidc.UserInfoSetter, userID, applicationID string, scopes []string) (err error) { ctx, span := tracing.NewSpan(ctx) defer func() { span.EndWithError(err) }() - user, err := o.query.GetUserByID(ctx, userID) + user, err := o.query.GetUserByID(ctx, true, userID) if err != nil { return err } @@ -328,7 +328,7 @@ func (o *OPStorage) assertRoles(ctx context.Context, userID, applicationID strin } func (o *OPStorage) assertUserMetaData(ctx context.Context, userID string) (map[string]string, error) { - metaData, err := o.query.SearchUserMetadata(ctx, userID, &query.UserMetadataSearchQueries{}) + metaData, err := o.query.SearchUserMetadata(ctx, true, userID, &query.UserMetadataSearchQueries{}) if err != nil { return nil, err } @@ -341,11 +341,11 @@ func (o *OPStorage) assertUserMetaData(ctx context.Context, userID string) (map[ } func (o *OPStorage) assertUserResourceOwner(ctx context.Context, userID string) (map[string]string, error) { - user, err := o.query.GetUserByID(ctx, userID) + user, err := o.query.GetUserByID(ctx, true, userID) if err != nil { return nil, err } - resourceOwner, err := o.query.OrgByID(ctx, user.ResourceOwner) + resourceOwner, err := o.query.OrgByID(ctx, true, user.ResourceOwner) if err != nil { return nil, err } diff --git a/internal/api/ui/login/password_complexity_policy_handler.go b/internal/api/ui/login/password_complexity_policy_handler.go index c4f8a03424..b4d344bea0 100644 --- a/internal/api/ui/login/password_complexity_policy_handler.go +++ b/internal/api/ui/login/password_complexity_policy_handler.go @@ -33,7 +33,7 @@ func (l *Login) getPasswordComplexityPolicy(r *http.Request, authReq *domain.Aut } func (l *Login) getPasswordComplexityPolicyByUserID(r *http.Request, authReq *domain.AuthRequest, userID string) (*iam_model.PasswordComplexityPolicyView, string, error) { - user, err := l.query.GetUserByID(r.Context(), userID) + user, err := l.query.GetUserByID(r.Context(), false, userID) if err != nil { return nil, "", nil } diff --git a/internal/api/ui/login/policy_handler.go b/internal/api/ui/login/policy_handler.go index dac3a694a0..1445df9a94 100644 --- a/internal/api/ui/login/policy_handler.go +++ b/internal/api/ui/login/policy_handler.go @@ -15,7 +15,7 @@ func (l *Login) getOrgDomainPolicy(r *http.Request, orgID string) (*query.Domain if orgID == "" { return l.query.DefaultDomainPolicy(r.Context()) } - return l.query.DomainPolicyByOrg(r.Context(), orgID) + return l.query.DomainPolicyByOrg(r.Context(), false, orgID) } func (l *Login) getIDPConfigByID(r *http.Request, idpConfigID string) (*iam_model.IDPConfigView, error) { @@ -26,5 +26,5 @@ func (l *Login) getLoginPolicy(r *http.Request, orgID string) (*query.LoginPolic if orgID == "" { return l.query.DefaultLoginPolicy(r.Context()) } - return l.query.LoginPolicyByID(r.Context(), orgID) + return l.query.LoginPolicyByID(r.Context(), false, orgID) } diff --git a/internal/api/ui/login/renderer.go b/internal/api/ui/login/renderer.go index bf263e5b9d..981df771f5 100644 --- a/internal/api/ui/login/renderer.go +++ b/internal/api/ui/login/renderer.go @@ -369,7 +369,7 @@ func (l *Login) getBaseData(r *http.Request, authReq *domain.AuthRequest, title if labelPolicy != nil { baseData.LabelPolicy = labelPolicy.ToDomain() } - policy, err := l.query.DefaultPrivacyPolicy(r.Context()) + policy, err := l.query.DefaultPrivacyPolicy(r.Context(), false) if err != nil { return baseData } @@ -498,7 +498,7 @@ func (l *Login) getOrgPrimaryDomain(r *http.Request, authReq *domain.AuthRequest if authReq != nil && authReq.RequestedPrimaryDomain != "" { return authReq.RequestedPrimaryDomain } - org, err := l.query.OrgByID(r.Context(), orgID) + org, err := l.query.OrgByID(r.Context(), false, orgID) if err != nil { logging.New().WithError(err).Error("cannot get default org") return "" diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request.go b/internal/auth/repository/eventsourcing/eventstore/auth_request.go index 0d2a1beaef..2fa07e1f3d 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request.go @@ -59,7 +59,7 @@ type labelPolicyProvider interface { } type privacyPolicyProvider interface { - PrivacyPolicyByOrg(context.Context, string) (*query.PrivacyPolicy, error) + PrivacyPolicyByOrg(context.Context, bool, string) (*query.PrivacyPolicy, error) } type userSessionViewProvider interface { @@ -71,11 +71,11 @@ type userViewProvider interface { } type loginPolicyViewProvider interface { - LoginPolicyByID(context.Context, string) (*query.LoginPolicy, error) + LoginPolicyByID(context.Context, bool, string) (*query.LoginPolicy, error) } type lockoutPolicyViewProvider interface { - LockoutPolicyByOrg(context.Context, string) (*query.LockoutPolicy, error) + LockoutPolicyByOrg(context.Context, bool, string) (*query.LockoutPolicy, error) } type idpProviderViewProvider interface { @@ -91,7 +91,7 @@ type userCommandProvider interface { } type orgViewProvider interface { - OrgByID(context.Context, string) (*query.Org, error) + OrgByID(context.Context, bool, string) (*query.Org, error) OrgByDomainGlobal(context.Context, string) (*query.Org, error) } @@ -537,7 +537,7 @@ func (repo *AuthRequestRepo) getAuthRequest(ctx context.Context, id, userAgentID } func (repo *AuthRequestRepo) getLoginPolicyAndIDPProviders(ctx context.Context, orgID string) (*query.LoginPolicy, []*domain.IDPProvider, error) { - policy, err := repo.LoginPolicyViewProvider.LoginPolicyByID(ctx, orgID) + policy, err := repo.LoginPolicyViewProvider.LoginPolicyByID(ctx, false, orgID) if err != nil { return nil, nil, err } @@ -964,7 +964,7 @@ func (repo *AuthRequestRepo) mfaSkippedOrSetUp(user *user_model.UserView, reques } func (repo *AuthRequestRepo) GetPrivacyPolicy(ctx context.Context, orgID string) (*domain.PrivacyPolicy, error) { - policy, err := repo.PrivacyPolicyProvider.PrivacyPolicyByOrg(ctx, orgID) + policy, err := repo.PrivacyPolicyProvider.PrivacyPolicyByOrg(ctx, false, orgID) if errors.IsNotFound(err) { return new(domain.PrivacyPolicy), nil } @@ -992,7 +992,7 @@ func privacyPolicyToDomain(p *query.PrivacyPolicy) *domain.PrivacyPolicy { } func (repo *AuthRequestRepo) getLockoutPolicy(ctx context.Context, orgID string) (*query.LockoutPolicy, error) { - policy, err := repo.LockoutPolicyViewProvider.LockoutPolicyByOrg(ctx, orgID) + policy, err := repo.LockoutPolicyViewProvider.LockoutPolicyByOrg(ctx, false, orgID) if err != nil { return nil, err } @@ -1178,7 +1178,7 @@ func activeUserByID(ctx context.Context, userViewProvider userViewProvider, user if !(user.State == user_model.UserStateActive || user.State == user_model.UserStateInitial) { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-FJ262", "Errors.User.NotActive") } - org, err := queries.OrgByID(ctx, user.ResourceOwner) + org, err := queries.OrgByID(ctx, false, user.ResourceOwner) if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go b/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go index 14f35b45c2..33ce88439f 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request_test.go @@ -128,7 +128,7 @@ type mockLoginPolicy struct { policy *query.LoginPolicy } -func (m *mockLoginPolicy) LoginPolicyByID(ctx context.Context, id string) (*query.LoginPolicy, error) { +func (m *mockLoginPolicy) LoginPolicyByID(ctx context.Context, _ bool, id string) (*query.LoginPolicy, error) { return m.policy, nil } @@ -136,7 +136,7 @@ type mockLockoutPolicy struct { policy *query.LockoutPolicy } -func (m *mockLockoutPolicy) LockoutPolicyByOrg(context.Context, string) (*query.LockoutPolicy, error) { +func (m *mockLockoutPolicy) LockoutPolicyByOrg(context.Context, bool, string) (*query.LockoutPolicy, error) { return m.policy, nil } @@ -164,7 +164,7 @@ type mockViewOrg struct { State domain.OrgState } -func (m *mockViewOrg) OrgByID(context.Context, string) (*query.Org, error) { +func (m *mockViewOrg) OrgByID(context.Context, bool, string) (*query.Org, error) { return &query.Org{ State: m.State, }, nil @@ -178,7 +178,7 @@ func (m *mockViewOrg) OrgByDomainGlobal(context.Context, string) (*query.Org, er type mockViewErrOrg struct{} -func (m *mockViewErrOrg) OrgByID(context.Context, string) (*query.Org, error) { +func (m *mockViewErrOrg) OrgByID(context.Context, bool, string) (*query.Org, error) { return nil, errors.ThrowInternal(nil, "id", "internal error") } diff --git a/internal/auth/repository/eventsourcing/eventstore/org.go b/internal/auth/repository/eventsourcing/eventstore/org.go index e3eb2aad67..b5ed7ee572 100644 --- a/internal/auth/repository/eventsourcing/eventstore/org.go +++ b/internal/auth/repository/eventsourcing/eventstore/org.go @@ -31,7 +31,7 @@ func (repo *OrgRepository) GetIDPConfigByID(ctx context.Context, idpConfigID str } func (repo *OrgRepository) GetMyPasswordComplexityPolicy(ctx context.Context) (*iam_model.PasswordComplexityPolicyView, error) { - policy, err := repo.Query.PasswordComplexityPolicyByOrg(ctx, authz.GetCtxData(ctx).OrgID) + policy, err := repo.Query.PasswordComplexityPolicyByOrg(ctx, true, authz.GetCtxData(ctx).OrgID) if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/idp_providers.go b/internal/auth/repository/eventsourcing/handler/idp_providers.go index 42db3ca3dc..0e478831d0 100644 --- a/internal/auth/repository/eventsourcing/handler/idp_providers.go +++ b/internal/auth/repository/eventsourcing/handler/idp_providers.go @@ -208,9 +208,9 @@ func (i *IDPProvider) OnSuccess() error { } func (i *IDPProvider) getOrgIDPConfig(instanceID, aggregateID, idpConfigID string) (*query2.IDP, error) { - return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), idpConfigID, aggregateID) + return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), false, idpConfigID, aggregateID) } func (u *IDPProvider) getDefaultIDPConfig(instanceID, idpConfigID string) (*query2.IDP, error) { - return u.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), idpConfigID, instanceID) + return u.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), false, idpConfigID, instanceID) } diff --git a/internal/auth/repository/eventsourcing/handler/user_external_idps.go b/internal/auth/repository/eventsourcing/handler/user_external_idps.go index d986ffa2cb..d8c5885dc8 100644 --- a/internal/auth/repository/eventsourcing/handler/user_external_idps.go +++ b/internal/auth/repository/eventsourcing/handler/user_external_idps.go @@ -197,9 +197,9 @@ func (i *ExternalIDP) OnSuccess() error { } func (i *ExternalIDP) getOrgIDPConfig(instanceID, aggregateID, idpConfigID string) (*query2.IDP, error) { - return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), idpConfigID, aggregateID) + return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), false, idpConfigID, aggregateID) } func (i *ExternalIDP) getDefaultIDPConfig(instanceID, idpConfigID string) (*query2.IDP, error) { - return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), idpConfigID, instanceID) + return i.queries.IDPByIDAndResourceOwner(withInstanceID(context.Background(), instanceID), false, idpConfigID, instanceID) } diff --git a/internal/eventstore/handler/crdb/handler_stmt.go b/internal/eventstore/handler/crdb/handler_stmt.go index 63da8a7aea..58459703fd 100644 --- a/internal/eventstore/handler/crdb/handler_stmt.go +++ b/internal/eventstore/handler/crdb/handler_stmt.go @@ -10,6 +10,7 @@ import ( "github.com/zitadel/zitadel/internal/errors" "github.com/zitadel/zitadel/internal/eventstore" "github.com/zitadel/zitadel/internal/eventstore/handler" + "github.com/zitadel/zitadel/internal/telemetry/tracing" ) var ( @@ -62,7 +63,6 @@ func NewStatementHandler( } h := StatementHandler{ - ProjectionHandler: handler.NewProjectionHandler(config.ProjectionHandlerConfig), client: config.Client, sequenceTable: config.SequenceTable, maxFailureCount: config.MaxFailureCount, @@ -75,11 +75,12 @@ func NewStatementHandler( bulkLimit: config.BulkLimit, Locker: NewLocker(config.Client, config.LockTable, config.ProjectionHandlerConfig.ProjectionName), } + h.ProjectionHandler = handler.NewProjectionHandler(config.ProjectionHandlerConfig, h.reduce, h.Update, h.SearchQuery) err := h.Init(ctx, config.InitCheck) logging.OnError(err).Fatal("unable to initialize projections") - go h.ProjectionHandler.Process( + go h.Process( ctx, h.reduce, h.Update, @@ -88,11 +89,20 @@ func NewStatementHandler( h.SearchQuery, ) - h.ProjectionHandler.Handler.Subscribe(h.aggregates...) + h.Subscribe(h.aggregates...) return h } +func (h *StatementHandler) TriggerBulk(ctx context.Context) { + ctx, span := tracing.NewSpan(ctx) + var err error + defer span.EndWithError(err) + + err = h.ProjectionHandler.TriggerBulk(ctx, h.Lock, h.Unlock) + logging.OnError(err).WithField("projection", h.ProjectionName).Warn("unable to trigger bulk") +} + func (h *StatementHandler) SearchQuery(ctx context.Context) (*eventstore.SearchQueryBuilder, uint64, error) { sequences, err := h.currentSequences(ctx, h.client.QueryContext) if err != nil { diff --git a/internal/eventstore/handler/crdb/handler_stmt_test.go b/internal/eventstore/handler/crdb/handler_stmt_test.go index a1ed5f01ba..326226b7ea 100644 --- a/internal/eventstore/handler/crdb/handler_stmt_test.go +++ b/internal/eventstore/handler/crdb/handler_stmt_test.go @@ -694,15 +694,19 @@ func TestProjectionHandler_fetchPreviousStmts(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { h := &StatementHandler{ - ProjectionHandler: handler.NewProjectionHandler(handler.ProjectionHandlerConfig{ - HandlerConfig: handler.HandlerConfig{ - Eventstore: tt.fields.eventstore, - }, - ProjectionName: "my_projection", - RequeueEvery: 0, - }), aggregates: tt.fields.aggregates, } + h.ProjectionHandler = handler.NewProjectionHandler(handler.ProjectionHandlerConfig{ + HandlerConfig: handler.HandlerConfig{ + Eventstore: tt.fields.eventstore, + }, + ProjectionName: "my_projection", + RequeueEvery: 0, + }, + h.reduce, + h.Update, + h.SearchQuery, + ) stmts, err := h.fetchPreviousStmts(tt.args.ctx, nil, tt.args.stmtSeq, "", tt.args.sequences, tt.args.reduce) if !tt.want.isErr(err) { t.Errorf("ProjectionHandler.prepareBulkStmts() error = %v", err) diff --git a/internal/eventstore/handler/handler_projection.go b/internal/eventstore/handler/handler_projection.go index 15ce71ac4d..43afa682f1 100644 --- a/internal/eventstore/handler/handler_projection.go +++ b/internal/eventstore/handler/handler_projection.go @@ -42,6 +42,9 @@ type ProjectionHandler struct { requeueAfter time.Duration shouldBulk *time.Timer + bulkMu sync.Mutex + bulkLocked bool + execBulk executeBulk retryFailedAfter time.Duration shouldPush *time.Timer @@ -53,7 +56,12 @@ type ProjectionHandler struct { stmts []*Statement } -func NewProjectionHandler(config ProjectionHandlerConfig) *ProjectionHandler { +func NewProjectionHandler( + config ProjectionHandlerConfig, + reduce Reduce, + update Update, + query SearchQuery, +) *ProjectionHandler { h := &ProjectionHandler{ Handler: NewHandler(config.HandlerConfig), ProjectionName: config.ProjectionName, @@ -64,6 +72,8 @@ func NewProjectionHandler(config ProjectionHandlerConfig) *ProjectionHandler { retryFailedAfter: config.RetryFailedAfter, } + h.execBulk = h.prepareExecuteBulk(query, reduce, update) + //unitialized timer //https://github.com/golang/go/issues/12721 <-h.shouldPush.C @@ -113,7 +123,6 @@ func (h *ProjectionHandler) Process( logging.WithFields("projection", h.ProjectionName, "cause", cause, "stack", string(debug.Stack())).Error("projection handler paniced") }() - execBulk := h.prepareExecuteBulk(query, reduce, update) for { select { case <-ctx.Done(): @@ -122,15 +131,19 @@ func (h *ProjectionHandler) Process( } h.shutdown() return - case event := <-h.Handler.EventQueue: + case event := <-h.EventQueue: if err := h.processEvent(ctx, event, reduce); err != nil { logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed") continue } h.triggerShouldPush(0) case <-h.shouldBulk.C: - h.bulk(ctx, lock, execBulk, unlock) + h.bulkMu.Lock() + h.bulkLocked = true + h.bulk(ctx, lock, unlock) h.ResetShouldBulk() + h.bulkLocked = false + h.bulkMu.Unlock() default: //lower prio select with push select { @@ -140,15 +153,19 @@ func (h *ProjectionHandler) Process( } h.shutdown() return - case event := <-h.Handler.EventQueue: + case event := <-h.EventQueue: if err := h.processEvent(ctx, event, reduce); err != nil { logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed") continue } h.triggerShouldPush(0) case <-h.shouldBulk.C: - h.bulk(ctx, lock, execBulk, unlock) + h.bulkMu.Lock() + h.bulkLocked = true + h.bulk(ctx, lock, unlock) h.ResetShouldBulk() + h.bulkLocked = false + h.bulkMu.Unlock() case <-h.shouldPush.C: h.push(ctx, update, reduce) h.ResetShouldBulk() @@ -176,10 +193,38 @@ func (h *ProjectionHandler) processEvent( return nil } +func (h *ProjectionHandler) TriggerBulk( + ctx context.Context, + lock Lock, + unlock Unlock, +) error { + if !h.shouldBulk.Stop() { + //make sure to flush shouldBulk chan + select { + case <-h.shouldBulk.C: + default: + } + } + defer h.ResetShouldBulk() + + h.bulkMu.Lock() + if h.bulkLocked { + logging.WithFields("projection", h.ProjectionName).Debugf("waiting for existing bulk to finish") + h.bulkMu.Unlock() + return nil + } + h.bulkLocked = true + defer func() { + h.bulkLocked = false + h.bulkMu.Unlock() + }() + + return h.bulk(ctx, lock, unlock) +} + func (h *ProjectionHandler) bulk( ctx context.Context, lock Lock, - executeBulk executeBulk, unlock Unlock, ) error { ctx, cancel := context.WithCancel(ctx) @@ -193,7 +238,7 @@ func (h *ProjectionHandler) bulk( } go h.cancelOnErr(ctx, errs, cancel) - execErr := executeBulk(ctx) + execErr := h.execBulk(ctx) logging.WithFields("projection", h.ProjectionName).OnError(execErr).Warn("unable to execute") unlockErr := unlock(systemID) diff --git a/internal/eventstore/handler/handler_projection_test.go b/internal/eventstore/handler/handler_projection_test.go index 16601233a4..6c1b337865 100644 --- a/internal/eventstore/handler/handler_projection_test.go +++ b/internal/eventstore/handler/handler_projection_test.go @@ -8,6 +8,7 @@ import ( "testing" "time" + "github.com/golang/mock/gomock" "github.com/zitadel/zitadel/internal/eventstore" "github.com/zitadel/zitadel/internal/eventstore/repository" es_repo_mock "github.com/zitadel/zitadel/internal/eventstore/repository/mock" @@ -126,7 +127,11 @@ func TestProjectionHandler_processEvent(t *testing.T) { }, ProjectionName: "", RequeueEvery: -1, - }) + }, + nil, + nil, + nil, + ) h.stmts = tt.fields.stmts h.pushSet = tt.fields.pushSet h.shouldPush = tt.fields.shouldPush @@ -408,7 +413,11 @@ func TestProjectionHandler_push(t *testing.T) { t.Run(tt.name, func(t *testing.T) { h := NewProjectionHandler(ProjectionHandlerConfig{ HandlerConfig: HandlerConfig{}, - }) + }, + nil, + nil, + nil, + ) h.stmts = tt.fields.stmts h.pushSet = tt.fields.pushSet if tt.args.previousLock > 0 { @@ -655,8 +664,13 @@ func TestProjectionHandler_bulk(t *testing.T) { HandlerConfig: HandlerConfig{}, ProjectionName: "", RequeueEvery: -1, - }) - err := h.bulk(tt.args.ctx, tt.args.lock.lock(), tt.args.executeBulk.executeBulk(), tt.args.unlock.unlock()) + }, + tt.args.executeBulk.Reduce, + tt.args.executeBulk.Update, + tt.args.executeBulk.Query, + ) + h.Eventstore = tt.args.executeBulk.es(t) + err := h.bulk(tt.args.ctx, tt.args.lock.lock(), tt.args.unlock.unlock()) if !tt.res.isErr(err) { t.Errorf("unexpected error %v", err) } @@ -873,6 +887,26 @@ type executeBulkMock struct { canceled chan bool } +func (m *executeBulkMock) Query(context.Context) (*eventstore.SearchQueryBuilder, uint64, error) { + m.callCount++ + if m.err != nil { + return nil, 0, m.err + } + return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).AddQuery().SequenceGreater(0).Builder(), 0, nil +} +func (m *executeBulkMock) Reduce(eventstore.Event) (*Statement, error) { + return nil, nil +} +func (m *executeBulkMock) Update(ctx context.Context, stmts []*Statement, reduce Reduce) (unexecutedStmts []*Statement, err error) { + return nil, nil +} + +func (m *executeBulkMock) es(t *testing.T) *eventstore.Eventstore { + mock := es_repo_mock.NewRepo(t) + mock.EXPECT().Filter(gomock.Any(), gomock.Any()).AnyTimes().Return(nil, nil) + return eventstore.NewEventstore(mock) +} + func (m *executeBulkMock) executeBulk() executeBulk { return func(ctx context.Context) error { m.callCount++ diff --git a/internal/query/app.go b/internal/query/app.go index cf6c5d5b71..a6afd7e1dd 100644 --- a/internal/query/app.go +++ b/internal/query/app.go @@ -206,7 +206,11 @@ var ( } ) -func (q *Queries) AppByProjectAndAppID(ctx context.Context, projectID, appID string) (*App, error) { +func (q *Queries) AppByProjectAndAppID(ctx context.Context, shouldTriggerBulk bool, projectID, appID string) (*App, error) { + if shouldTriggerBulk { + projection.AppProjection.TriggerBulk(ctx) + } + stmt, scan := prepareAppQuery() query, args, err := stmt.Where( sq.Eq{ @@ -223,22 +227,6 @@ func (q *Queries) AppByProjectAndAppID(ctx context.Context, projectID, appID str return scan(row) } -func (q *Queries) AppByID(ctx context.Context, appID string) (*App, error) { - stmt, scan := prepareAppQuery() - query, args, err := stmt.Where( - sq.Eq{ - AppColumnID.identifier(): appID, - AppColumnInstanceID.identifier(): authz.GetInstance(ctx).InstanceID(), - }, - ).ToSql() - if err != nil { - return nil, errors.ThrowInternal(err, "QUERY-immt9", "Errors.Query.SQLStatement") - } - - row := q.client.QueryRowContext(ctx, query, args...) - return scan(row) -} - func (q *Queries) ProjectIDFromOIDCClientID(ctx context.Context, appID string) (string, error) { stmt, scan := prepareProjectIDByAppQuery() query, args, err := stmt.Where( diff --git a/internal/query/authn_key.go b/internal/query/authn_key.go index 86aac3d071..74d7e1d12e 100644 --- a/internal/query/authn_key.go +++ b/internal/query/authn_key.go @@ -122,7 +122,11 @@ func (q *Queries) SearchAuthNKeys(ctx context.Context, queries *AuthNKeySearchQu return authNKeys, err } -func (q *Queries) GetAuthNKeyByID(ctx context.Context, id string, queries ...SearchQuery) (*AuthNKey, error) { +func (q *Queries) GetAuthNKeyByID(ctx context.Context, shouldTriggerBulk bool, id string, queries ...SearchQuery) (*AuthNKey, error) { + if shouldTriggerBulk { + projection.AuthNKeyProjection.TriggerBulk(ctx) + } + query, scan := prepareAuthNKeyQuery() for _, q := range queries { query = q.toQuery(query) diff --git a/internal/query/changes.go b/internal/query/changes.go index 180dc8ea72..fa5989f636 100644 --- a/internal/query/changes.go +++ b/internal/query/changes.go @@ -99,7 +99,7 @@ func (q *Queries) changes(ctx context.Context, query func(query *eventstore.Sear ModifierName: event.EditorUser(), ModifierLoginName: event.EditorUser(), } - editor, _ := q.GetUserByID(ctx, change.ModifierId) + editor, _ := q.GetUserByID(ctx, false, change.ModifierId) if editor != nil { change.ModifierLoginName = editor.PreferredLoginName change.ModifierResourceOwner = editor.ResourceOwner diff --git a/internal/query/org_iam_policy.go b/internal/query/domain_policy.go similarity index 95% rename from internal/query/org_iam_policy.go rename to internal/query/domain_policy.go index 0a6e4c3bd9..78efdab0f0 100644 --- a/internal/query/org_iam_policy.go +++ b/internal/query/domain_policy.go @@ -80,7 +80,11 @@ var ( } ) -func (q *Queries) DomainPolicyByOrg(ctx context.Context, orgID string) (*DomainPolicy, error) { +func (q *Queries) DomainPolicyByOrg(ctx context.Context, shouldTriggerBulk bool, orgID string) (*DomainPolicy, error) { + if shouldTriggerBulk { + projection.DomainPolicyProjection.TriggerBulk(ctx) + } + stmt, scan := prepareDomainPolicyQuery() query, args, err := stmt.Where( sq.And{ diff --git a/internal/query/org_iam_policy_test.go b/internal/query/domain_policy_test.go similarity index 100% rename from internal/query/org_iam_policy_test.go rename to internal/query/domain_policy_test.go diff --git a/internal/query/idp.go b/internal/query/idp.go index 2bc46ca89e..5bf8bb847c 100644 --- a/internal/query/idp.go +++ b/internal/query/idp.go @@ -180,7 +180,11 @@ var ( ) //IDPByIDAndResourceOwner searches for the requested id in the context of the resource owner and IAM -func (q *Queries) IDPByIDAndResourceOwner(ctx context.Context, id, resourceOwner string) (*IDP, error) { +func (q *Queries) IDPByIDAndResourceOwner(ctx context.Context, shouldTriggerBulk bool, id, resourceOwner string) (*IDP, error) { + if shouldTriggerBulk { + projection.IDPProjection.TriggerBulk(ctx) + } + stmt, scan := prepareIDPByIDQuery() query, args, err := stmt.Where( sq.And{ diff --git a/internal/query/instance.go b/internal/query/instance.go index 91a30d6fbe..ebe47fcbf8 100644 --- a/internal/query/instance.go +++ b/internal/query/instance.go @@ -157,7 +157,11 @@ func (q *Queries) SearchInstances(ctx context.Context, queries *InstanceSearchQu return instances, err } -func (q *Queries) Instance(ctx context.Context) (*Instance, error) { +func (q *Queries) Instance(ctx context.Context, shouldTriggerBulk bool) (*Instance, error) { + if shouldTriggerBulk { + projection.InstanceProjection.TriggerBulk(ctx) + } + stmt, scan := prepareInstanceDomainQuery(authz.GetInstance(ctx).RequestedDomain()) query, args, err := stmt.Where(sq.Eq{ InstanceColumnID.identifier(): authz.GetInstance(ctx).InstanceID(), @@ -191,7 +195,7 @@ func (q *Queries) InstanceByHost(ctx context.Context, host string) (authz.Instan } func (q *Queries) GetDefaultLanguage(ctx context.Context) language.Tag { - instance, err := q.Instance(ctx) + instance, err := q.Instance(ctx, false) if err != nil { return language.Und } diff --git a/internal/query/lockout_policy.go b/internal/query/lockout_policy.go index b39c718f54..23654318b0 100644 --- a/internal/query/lockout_policy.go +++ b/internal/query/lockout_policy.go @@ -75,7 +75,11 @@ var ( } ) -func (q *Queries) LockoutPolicyByOrg(ctx context.Context, orgID string) (*LockoutPolicy, error) { +func (q *Queries) LockoutPolicyByOrg(ctx context.Context, shouldTriggerBulk bool, orgID string) (*LockoutPolicy, error) { + if shouldTriggerBulk { + projection.LockoutPolicyProjection.TriggerBulk(ctx) + } + stmt, scan := prepareLockoutPolicyQuery() query, args, err := stmt.Where( sq.And{ diff --git a/internal/query/login_policy.go b/internal/query/login_policy.go index 09465e5356..26c9209909 100644 --- a/internal/query/login_policy.go +++ b/internal/query/login_policy.go @@ -139,7 +139,11 @@ var ( } ) -func (q *Queries) LoginPolicyByID(ctx context.Context, orgID string) (*LoginPolicy, error) { +func (q *Queries) LoginPolicyByID(ctx context.Context, shouldTriggerBulk bool, orgID string) (*LoginPolicy, error) { + if shouldTriggerBulk { + projection.LoginPolicyProjection.TriggerBulk(ctx) + } + query, scan := prepareLoginPolicyQuery() stmt, args, err := query.Where( sq.And{ diff --git a/internal/query/member_roles.go b/internal/query/member_roles.go index 27f6dbfbde..b8c6a82dab 100644 --- a/internal/query/member_roles.go +++ b/internal/query/member_roles.go @@ -32,15 +32,15 @@ func (q *Queries) GetOrgMemberRoles(isGlobal bool) []string { } func (q *Queries) GetProjectMemberRoles(ctx context.Context) ([]string, error) { - iam, err := q.Instance(ctx) + instance, err := q.Instance(ctx, false) if err != nil { return nil, err } roles := make([]string, 0) - global := authz.GetCtxData(ctx).OrgID == iam.DefaultOrgID + defaultOrg := authz.GetCtxData(ctx).OrgID == instance.DefaultOrgID for _, roleMap := range q.zitadelRoles { if strings.HasPrefix(roleMap.Role, "PROJECT") && !strings.HasPrefix(roleMap.Role, "PROJECT_GRANT") { - if global && !strings.HasSuffix(roleMap.Role, "GLOBAL") { + if defaultOrg && !strings.HasSuffix(roleMap.Role, "GLOBAL") { continue } roles = append(roles, roleMap.Role) diff --git a/internal/query/message_text.go b/internal/query/message_text.go index c9f3fa087c..2329feb455 100644 --- a/internal/query/message_text.go +++ b/internal/query/message_text.go @@ -117,32 +117,6 @@ var ( } ) -func (q *Queries) MessageTextByOrg(ctx context.Context, orgID string) (*MessageText, error) { - stmt, scan := prepareMessageTextQuery() - query, args, err := stmt.Where( - sq.And{ - sq.Eq{ - MessageTextColInstanceID.identifier(): authz.GetInstance(ctx).InstanceID(), - }, - sq.Or{ - sq.Eq{ - MessageTextColAggregateID.identifier(): orgID, - }, - sq.Eq{ - MessageTextColAggregateID.identifier(): authz.GetInstance(ctx).InstanceID(), - }, - }, - }). - OrderBy(MessageTextColAggregateID.identifier()). - Limit(1).ToSql() - if err != nil { - return nil, errors.ThrowInternal(err, "QUERY-90n3N", "Errors.Query.SQLStatement") - } - - row := q.client.QueryRowContext(ctx, query, args...) - return scan(row) -} - func (q *Queries) DefaultMessageText(ctx context.Context) (*MessageText, error) { stmt, scan := prepareMessageTextQuery() query, args, err := stmt.Where(sq.Eq{ diff --git a/internal/query/org.go b/internal/query/org.go index 43f485c0c4..19cbd47558 100644 --- a/internal/query/org.go +++ b/internal/query/org.go @@ -86,7 +86,11 @@ func (q *OrgSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuilder { return query } -func (q *Queries) OrgByID(ctx context.Context, id string) (*Org, error) { +func (q *Queries) OrgByID(ctx context.Context, shouldTriggerBulk bool, id string) (*Org, error) { + if shouldTriggerBulk { + projection.OrgProjection.TriggerBulk(ctx) + } + stmt, scan := prepareOrgQuery() query, args, err := stmt.Where(sq.Eq{ OrgColumnID.identifier(): id, @@ -142,10 +146,9 @@ func (q *Queries) IsOrgUnique(ctx context.Context, name, domain string) (isUniqu } func (q *Queries) ExistsOrg(ctx context.Context, id string) (err error) { - _, err = q.OrgByID(ctx, id) + _, err = q.OrgByID(ctx, true, id) return err } - func (q *Queries) SearchOrgs(ctx context.Context, queries *OrgSearchQueries) (orgs *Orgs, err error) { query, scan := prepareOrgsQuery() stmt, args, err := queries.toQuery(query). diff --git a/internal/query/password_age_policy.go b/internal/query/password_age_policy.go index 4930b00416..faf432b8f7 100644 --- a/internal/query/password_age_policy.go +++ b/internal/query/password_age_policy.go @@ -74,7 +74,11 @@ var ( } ) -func (q *Queries) PasswordAgePolicyByOrg(ctx context.Context, orgID string) (*PasswordAgePolicy, error) { +func (q *Queries) PasswordAgePolicyByOrg(ctx context.Context, shouldTriggerBulk bool, orgID string) (*PasswordAgePolicy, error) { + if shouldTriggerBulk { + projection.PasswordAgeProjection.TriggerBulk(ctx) + } + stmt, scan := preparePasswordAgePolicyQuery() query, args, err := stmt.Where( sq.And{ @@ -100,7 +104,11 @@ func (q *Queries) PasswordAgePolicyByOrg(ctx context.Context, orgID string) (*Pa return scan(row) } -func (q *Queries) DefaultPasswordAgePolicy(ctx context.Context) (*PasswordAgePolicy, error) { +func (q *Queries) DefaultPasswordAgePolicy(ctx context.Context, shouldTriggerBulk bool) (*PasswordAgePolicy, error) { + if shouldTriggerBulk { + projection.PasswordAgeProjection.TriggerBulk(ctx) + } + stmt, scan := preparePasswordAgePolicyQuery() query, args, err := stmt.Where(sq.Eq{ PasswordAgeColID.identifier(): authz.GetInstance(ctx).InstanceID(), diff --git a/internal/query/password_complexity_policy.go b/internal/query/password_complexity_policy.go index 5ab06ad769..aa9eac6873 100644 --- a/internal/query/password_complexity_policy.go +++ b/internal/query/password_complexity_policy.go @@ -31,7 +31,11 @@ type PasswordComplexityPolicy struct { IsDefault bool } -func (q *Queries) PasswordComplexityPolicyByOrg(ctx context.Context, orgID string) (*PasswordComplexityPolicy, error) { +func (q *Queries) PasswordComplexityPolicyByOrg(ctx context.Context, shouldTriggerBulk bool, orgID string) (*PasswordComplexityPolicy, error) { + if shouldTriggerBulk { + projection.PasswordComplexityProjection.TriggerBulk(ctx) + } + stmt, scan := preparePasswordComplexityPolicyQuery() query, args, err := stmt.Where( sq.And{ @@ -57,7 +61,11 @@ func (q *Queries) PasswordComplexityPolicyByOrg(ctx context.Context, orgID strin return scan(row) } -func (q *Queries) DefaultPasswordComplexityPolicy(ctx context.Context) (*PasswordComplexityPolicy, error) { +func (q *Queries) DefaultPasswordComplexityPolicy(ctx context.Context, shouldTriggerBulk bool) (*PasswordComplexityPolicy, error) { + if shouldTriggerBulk { + projection.PasswordComplexityProjection.TriggerBulk(ctx) + } + stmt, scan := preparePasswordComplexityPolicyQuery() query, args, err := stmt.Where(sq.Eq{ PasswordComplexityColID.identifier(): authz.GetInstance(ctx).InstanceID(), diff --git a/internal/query/privacy_policy.go b/internal/query/privacy_policy.go index 8601cda0d2..39c7f9bf87 100644 --- a/internal/query/privacy_policy.go +++ b/internal/query/privacy_policy.go @@ -79,7 +79,11 @@ var ( } ) -func (q *Queries) PrivacyPolicyByOrg(ctx context.Context, orgID string) (*PrivacyPolicy, error) { +func (q *Queries) PrivacyPolicyByOrg(ctx context.Context, shouldTriggerBulk bool, orgID string) (*PrivacyPolicy, error) { + if shouldTriggerBulk { + projection.PrivacyPolicyProjection.TriggerBulk(ctx) + } + stmt, scan := preparePrivacyPolicyQuery() query, args, err := stmt.Where( sq.And{ @@ -105,7 +109,11 @@ func (q *Queries) PrivacyPolicyByOrg(ctx context.Context, orgID string) (*Privac return scan(row) } -func (q *Queries) DefaultPrivacyPolicy(ctx context.Context) (*PrivacyPolicy, error) { +func (q *Queries) DefaultPrivacyPolicy(ctx context.Context, shouldTriggerBulk bool) (*PrivacyPolicy, error) { + if shouldTriggerBulk { + projection.PrivacyPolicyProjection.TriggerBulk(ctx) + } + stmt, scan := preparePrivacyPolicyQuery() query, args, err := stmt.Where(sq.Eq{ PrivacyColID.identifier(): authz.GetInstance(ctx).InstanceID(), diff --git a/internal/query/project.go b/internal/query/project.go index 92cc969623..9bd1b4e4e0 100644 --- a/internal/query/project.go +++ b/internal/query/project.go @@ -94,7 +94,11 @@ type ProjectSearchQueries struct { Queries []SearchQuery } -func (q *Queries) ProjectByID(ctx context.Context, id string) (*Project, error) { +func (q *Queries) ProjectByID(ctx context.Context, shouldTriggerBulk bool, id string) (*Project, error) { + if shouldTriggerBulk { + projection.ProjectProjection.TriggerBulk(ctx) + } + stmt, scan := prepareProjectQuery() query, args, err := stmt.Where(sq.Eq{ ProjectColumnID.identifier(): id, @@ -108,11 +112,6 @@ func (q *Queries) ProjectByID(ctx context.Context, id string) (*Project, error) return scan(row) } -func (q *Queries) ExistsProject(ctx context.Context, id string) (err error) { - _, err = q.ProjectByID(ctx, id) - return err -} - func (q *Queries) SearchProjects(ctx context.Context, queries *ProjectSearchQueries) (projects *Projects, err error) { query, scan := prepareProjectsQuery() stmt, args, err := queries.toQuery(query). diff --git a/internal/query/project_grant.go b/internal/query/project_grant.go index 1fcf70c2cf..8b7812a629 100644 --- a/internal/query/project_grant.go +++ b/internal/query/project_grant.go @@ -101,7 +101,11 @@ type ProjectGrantSearchQueries struct { Queries []SearchQuery } -func (q *Queries) ProjectGrantByID(ctx context.Context, id string) (*ProjectGrant, error) { +func (q *Queries) ProjectGrantByID(ctx context.Context, shouldTriggerBulk bool, id string) (*ProjectGrant, error) { + if shouldTriggerBulk { + projection.ProjectGrantProjection.TriggerBulk(ctx) + } + stmt, scan := prepareProjectGrantQuery() query, args, err := stmt.Where(sq.Eq{ ProjectGrantColumnGrantID.identifier(): id, @@ -130,11 +134,6 @@ func (q *Queries) ProjectGrantByIDAndGrantedOrg(ctx context.Context, id, granted return scan(row) } -func (q *Queries) ExistsProjectGrant(ctx context.Context, id string) (err error) { - _, err = q.ProjectGrantByID(ctx, id) - return err -} - func (q *Queries) SearchProjectGrants(ctx context.Context, queries *ProjectGrantSearchQueries) (projects *ProjectGrants, err error) { query, scan := prepareProjectGrantsQuery() stmt, args, err := queries.toQuery(query). diff --git a/internal/query/project_role.go b/internal/query/project_role.go index db4653b1a4..d42dff261f 100644 --- a/internal/query/project_role.go +++ b/internal/query/project_role.go @@ -3,7 +3,6 @@ package query import ( "context" "database/sql" - errs "errors" "time" sq "github.com/Masterminds/squirrel" @@ -77,28 +76,11 @@ type ProjectRoleSearchQueries struct { Queries []SearchQuery } -func (q *Queries) ProjectRoleByID(ctx context.Context, projectID, key string) (*ProjectRole, error) { - stmt, scan := prepareProjectRoleQuery() - query, args, err := stmt. - Where(sq.Eq{ - ProjectRoleColumnProjectID.identifier(): projectID, - ProjectRoleColumnKey.identifier(): key, - ProjectRoleColumnInstanceID.identifier(): authz.GetInstance(ctx).InstanceID(), - }).ToSql() - if err != nil { - return nil, errors.ThrowInternal(err, "QUERY-2N0fs", "Errors.Query.SQLStatment") +func (q *Queries) SearchProjectRoles(ctx context.Context, shouldTriggerBulk bool, queries *ProjectRoleSearchQueries) (projects *ProjectRoles, err error) { + if shouldTriggerBulk { + projection.ProjectRoleProjection.TriggerBulk(ctx) } - row := q.client.QueryRowContext(ctx, query, args...) - return scan(row) -} - -func (q *Queries) ExistsProjectRole(ctx context.Context, projectID, key string) (err error) { - _, err = q.ProjectRoleByID(ctx, projectID, key) - return err -} - -func (q *Queries) SearchProjectRoles(ctx context.Context, queries *ProjectRoleSearchQueries) (projects *ProjectRoles, err error) { query, scan := prepareProjectRolesQuery() stmt, args, err := queries.toQuery(query). Where(sq.Eq{ @@ -213,39 +195,6 @@ func (q *ProjectRoleSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuil return query } -func prepareProjectRoleQuery() (sq.SelectBuilder, func(*sql.Row) (*ProjectRole, error)) { - return sq.Select( - ProjectRoleColumnProjectID.identifier(), - ProjectRoleColumnCreationDate.identifier(), - ProjectRoleColumnChangeDate.identifier(), - ProjectRoleColumnResourceOwner.identifier(), - ProjectRoleColumnSequence.identifier(), - ProjectRoleColumnKey.identifier(), - ProjectRoleColumnDisplayName.identifier(), - ProjectRoleColumnGroupName.identifier()). - From(projectRolesTable.identifier()).PlaceholderFormat(sq.Dollar), - func(row *sql.Row) (*ProjectRole, error) { - p := new(ProjectRole) - err := row.Scan( - &p.ProjectID, - &p.CreationDate, - &p.ChangeDate, - &p.ResourceOwner, - &p.Sequence, - &p.Key, - &p.DisplayName, - &p.Group, - ) - if err != nil { - if errs.Is(err, sql.ErrNoRows) { - return nil, errors.ThrowNotFound(err, "QUERY-Mf0wf", "Errors.ProjectRole.NotFound") - } - return nil, errors.ThrowInternal(err, "QUERY-M00sf", "Errors.Internal") - } - return p, nil - } -} - func prepareProjectRolesQuery() (sq.SelectBuilder, func(*sql.Rows) (*ProjectRoles, error)) { return sq.Select( ProjectRoleColumnProjectID.identifier(), diff --git a/internal/query/project_role_test.go b/internal/query/project_role_test.go index 16735fedda..7059e6027f 100644 --- a/internal/query/project_role_test.go +++ b/internal/query/project_role_test.go @@ -7,8 +7,6 @@ import ( "fmt" "regexp" "testing" - - errs "github.com/zitadel/zitadel/internal/errors" ) func Test_ProjectRolePrepares(t *testing.T) { @@ -205,104 +203,6 @@ func Test_ProjectRolePrepares(t *testing.T) { }, object: nil, }, - { - name: "prepareProjectRoleQuery no result", - prepare: prepareProjectRoleQuery, - want: want{ - sqlExpectations: mockQueries( - regexp.QuoteMeta(`SELECT projections.project_roles.project_id,`+ - ` projections.project_roles.creation_date,`+ - ` projections.project_roles.change_date,`+ - ` projections.project_roles.resource_owner,`+ - ` projections.project_roles.sequence,`+ - ` projections.project_roles.role_key,`+ - ` projections.project_roles.display_name,`+ - ` projections.project_roles.group_name`+ - ` FROM projections.project_roles`), - nil, - nil, - ), - err: func(err error) (error, bool) { - if !errs.IsNotFound(err) { - return fmt.Errorf("err should be zitadel.NotFoundError got: %w", err), false - } - return nil, true - }, - }, - object: (*ProjectRole)(nil), - }, - { - name: "prepareProjectRoleQuery found", - prepare: prepareProjectRoleQuery, - want: want{ - sqlExpectations: mockQuery( - regexp.QuoteMeta(`SELECT projections.project_roles.project_id,`+ - ` projections.project_roles.creation_date,`+ - ` projections.project_roles.change_date,`+ - ` projections.project_roles.resource_owner,`+ - ` projections.project_roles.sequence,`+ - ` projections.project_roles.role_key,`+ - ` projections.project_roles.display_name,`+ - ` projections.project_roles.group_name`+ - ` FROM projections.project_roles`), - []string{ - "project_id", - "creation_date", - "change_date", - "resource_owner", - "sequence", - "role_key", - "display_name", - "group_name", - }, - []driver.Value{ - "project-id", - testNow, - testNow, - "ro", - uint64(20211111), - "role-key", - "role-display-name", - "role-group", - }, - ), - }, - object: &ProjectRole{ - ProjectID: "project-id", - CreationDate: testNow, - ChangeDate: testNow, - ResourceOwner: "ro", - Sequence: 20211111, - Key: "role-key", - DisplayName: "role-display-name", - Group: "role-group", - }, - }, - { - name: "prepareProjectRoleQuery sql err", - prepare: prepareProjectRoleQuery, - want: want{ - sqlExpectations: mockQueryErr( - regexp.QuoteMeta(`SELECT projections.project_roles.project_id,`+ - ` projections.project_roles.creation_date,`+ - ` projections.project_roles.change_date,`+ - ` projections.project_roles.resource_owner,`+ - ` projections.project_roles.sequence,`+ - ` projections.project_roles.role_key,`+ - ` projections.project_roles.display_name,`+ - ` projections.project_roles.group_name`+ - ` FROM projections.project_roles`), - sql.ErrConnDone, - ), - err: func(err error) (error, bool) { - if !errors.Is(err, sql.ErrConnDone) { - return fmt.Errorf("err should be sql.ErrConnDone got: %w", err), false - } - return nil, true - }, - }, - object: nil, - }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/internal/query/projection/action.go b/internal/query/projection/action.go index 0184414e1f..0a7c9ea1e1 100644 --- a/internal/query/projection/action.go +++ b/internal/query/projection/action.go @@ -26,12 +26,12 @@ const ( ActionAllowedToFailCol = "allowed_to_fail" ) -type ActionProjection struct { +type actionProjection struct { crdb.StatementHandler } -func NewActionProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ActionProjection { - p := new(ActionProjection) +func newActionProjection(ctx context.Context, config crdb.StatementHandlerConfig) *actionProjection { + p := new(actionProjection) config.ProjectionName = ActionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -56,7 +56,7 @@ func NewActionProjection(ctx context.Context, config crdb.StatementHandlerConfig return p } -func (p *ActionProjection) reducers() []handler.AggregateReducer { +func (p *actionProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: action.AggregateType, @@ -86,7 +86,7 @@ func (p *ActionProjection) reducers() []handler.AggregateReducer { } } -func (p *ActionProjection) reduceActionAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *actionProjection) reduceActionAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*action.AddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dff21", "reduce.wrong.event.type% s", action.AddedEventType) @@ -109,7 +109,7 @@ func (p *ActionProjection) reduceActionAdded(event eventstore.Event) (*handler.S ), nil } -func (p *ActionProjection) reduceActionChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *actionProjection) reduceActionChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*action.ChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Gg43d", "reduce.wrong.event.type %s", action.ChangedEventType) @@ -139,7 +139,7 @@ func (p *ActionProjection) reduceActionChanged(event eventstore.Event) (*handler ), nil } -func (p *ActionProjection) reduceActionDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *actionProjection) reduceActionDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*action.DeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Fgh32", "reduce.wrong.event.type %s", action.DeactivatedEventType) @@ -157,7 +157,7 @@ func (p *ActionProjection) reduceActionDeactivated(event eventstore.Event) (*han ), nil } -func (p *ActionProjection) reduceActionReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *actionProjection) reduceActionReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*action.ReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-hwdqa", "reduce.wrong.event.type% s", action.ReactivatedEventType) @@ -175,7 +175,7 @@ func (p *ActionProjection) reduceActionReactivated(event eventstore.Event) (*han ), nil } -func (p *ActionProjection) reduceActionRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *actionProjection) reduceActionRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*action.RemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dgh2d", "reduce.wrong.event.type% s", action.RemovedEventType) diff --git a/internal/query/projection/action_test.go b/internal/query/projection/action_test.go index 187417e702..5148dd300d 100644 --- a/internal/query/projection/action_test.go +++ b/internal/query/projection/action_test.go @@ -31,7 +31,7 @@ func TestActionProjection_reduces(t *testing.T) { []byte(`{"name": "name", "script":"name(){}","timeout": 3000000000, "allowedToFail": true}`), ), action.AddedEventMapper), }, - reduce: (&ActionProjection{}).reduceActionAdded, + reduce: (&actionProjection{}).reduceActionAdded, want: wantReduce{ projection: ActionTable, aggregateType: eventstore.AggregateType("action"), @@ -68,7 +68,7 @@ func TestActionProjection_reduces(t *testing.T) { []byte(`{"name": "name2", "script":"name2(){}"}`), ), action.ChangedEventMapper), }, - reduce: (&ActionProjection{}).reduceActionChanged, + reduce: (&actionProjection{}).reduceActionChanged, want: wantReduce{ projection: ActionTable, aggregateType: eventstore.AggregateType("action"), @@ -99,7 +99,7 @@ func TestActionProjection_reduces(t *testing.T) { []byte(`{}`), ), action.DeactivatedEventMapper), }, - reduce: (&ActionProjection{}).reduceActionDeactivated, + reduce: (&actionProjection{}).reduceActionDeactivated, want: wantReduce{ projection: ActionTable, aggregateType: eventstore.AggregateType("action"), @@ -129,7 +129,7 @@ func TestActionProjection_reduces(t *testing.T) { []byte(`{}`), ), action.ReactivatedEventMapper), }, - reduce: (&ActionProjection{}).reduceActionReactivated, + reduce: (&actionProjection{}).reduceActionReactivated, want: wantReduce{ projection: ActionTable, aggregateType: eventstore.AggregateType("action"), @@ -159,7 +159,7 @@ func TestActionProjection_reduces(t *testing.T) { []byte(`{}`), ), action.RemovedEventMapper), }, - reduce: (&ActionProjection{}).reduceActionRemoved, + reduce: (&actionProjection{}).reduceActionRemoved, want: wantReduce{ projection: ActionTable, aggregateType: eventstore.AggregateType("action"), diff --git a/internal/query/projection/app.go b/internal/query/projection/app.go index 18c9ab168b..12a8f24ae2 100644 --- a/internal/query/projection/app.go +++ b/internal/query/projection/app.go @@ -56,12 +56,12 @@ const ( AppOIDCConfigColumnAdditionalOrigins = "additional_origins" ) -type AppProjection struct { +type appProjection struct { crdb.StatementHandler } -func NewAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) *AppProjection { - p := new(AppProjection) +func newAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) *appProjection { + p := new(appProjection) config.ProjectionName = AppProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewMultiTableCheck( @@ -122,7 +122,7 @@ func NewAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) * return p } -func (p *AppProjection) reducers() []handler.AggregateReducer { +func (p *appProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -180,7 +180,7 @@ func (p *AppProjection) reducers() []handler.AggregateReducer { } } -func (p *AppProjection) reduceAppAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAppAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ApplicationAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-1xYE6", "reduce.wrong.event.type %s", project.ApplicationAddedType) @@ -201,7 +201,7 @@ func (p *AppProjection) reduceAppAdded(event eventstore.Event) (*handler.Stateme ), nil } -func (p *AppProjection) reduceAppChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAppChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ApplicationChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ZJ8JA", "reduce.wrong.event.type %s", project.ApplicationChangedType) @@ -223,7 +223,7 @@ func (p *AppProjection) reduceAppChanged(event eventstore.Event) (*handler.State ), nil } -func (p *AppProjection) reduceAppDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAppDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ApplicationDeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-MVWxZ", "reduce.wrong.event.type %s", project.ApplicationDeactivatedType) @@ -242,7 +242,7 @@ func (p *AppProjection) reduceAppDeactivated(event eventstore.Event) (*handler.S ), nil } -func (p *AppProjection) reduceAppReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAppReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ApplicationReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-D0HZO", "reduce.wrong.event.type %s", project.ApplicationReactivatedType) @@ -261,7 +261,7 @@ func (p *AppProjection) reduceAppReactivated(event eventstore.Event) (*handler.S ), nil } -func (p *AppProjection) reduceAppRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAppRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ApplicationRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Y99aq", "reduce.wrong.event.type %s", project.ApplicationRemovedType) @@ -275,7 +275,7 @@ func (p *AppProjection) reduceAppRemoved(event eventstore.Event) (*handler.State ), nil } -func (p *AppProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-DlUlO", "reduce.wrong.event.type %s", project.ProjectRemovedType) @@ -289,7 +289,7 @@ func (p *AppProjection) reduceProjectRemoved(event eventstore.Event) (*handler.S ), nil } -func (p *AppProjection) reduceAPIConfigAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAPIConfigAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.APIConfigAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Y99aq", "reduce.wrong.event.type %s", project.APIConfigAddedType) @@ -319,7 +319,7 @@ func (p *AppProjection) reduceAPIConfigAdded(event eventstore.Event) (*handler.S ), nil } -func (p *AppProjection) reduceAPIConfigChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAPIConfigChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.APIConfigChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-vnZKi", "reduce.wrong.event.type %s", project.APIConfigChangedType) @@ -357,7 +357,7 @@ func (p *AppProjection) reduceAPIConfigChanged(event eventstore.Event) (*handler ), nil } -func (p *AppProjection) reduceAPIConfigSecretChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceAPIConfigSecretChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.APIConfigSecretChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ttb0I", "reduce.wrong.event.type %s", project.APIConfigSecretChangedType) @@ -387,7 +387,7 @@ func (p *AppProjection) reduceAPIConfigSecretChanged(event eventstore.Event) (*h ), nil } -func (p *AppProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.OIDCConfigAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigAddedType) @@ -430,7 +430,7 @@ func (p *AppProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler. ), nil } -func (p *AppProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.OIDCConfigChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigChangedType) @@ -507,7 +507,7 @@ func (p *AppProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handle ), nil } -func (p *AppProjection) reduceOIDCConfigSecretChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *appProjection) reduceOIDCConfigSecretChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.OIDCConfigSecretChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigSecretChangedType) diff --git a/internal/query/projection/app_test.go b/internal/query/projection/app_test.go index 63f80c013b..f4eb9048d0 100644 --- a/internal/query/projection/app_test.go +++ b/internal/query/projection/app_test.go @@ -36,7 +36,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.ApplicationAddedEventMapper), }, - reduce: (&AppProjection{}).reduceAppAdded, + reduce: (&appProjection{}).reduceAppAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -74,7 +74,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.ApplicationChangedEventMapper), }, - reduce: (&AppProjection{}).reduceAppChanged, + reduce: (&appProjection{}).reduceAppChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -107,7 +107,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.ApplicationDeactivatedEventMapper), }, - reduce: (&AppProjection{}).reduceAppDeactivated, + reduce: (&appProjection{}).reduceAppDeactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -140,7 +140,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.ApplicationReactivatedEventMapper), }, - reduce: (&AppProjection{}).reduceAppReactivated, + reduce: (&appProjection{}).reduceAppReactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -173,7 +173,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.ApplicationRemovedEventMapper), }, - reduce: (&AppProjection{}).reduceAppRemoved, + reduce: (&appProjection{}).reduceAppRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -201,7 +201,7 @@ func TestAppProjection_reduces(t *testing.T) { []byte(`{}`), ), project.ProjectRemovedEventMapper), }, - reduce: (&AppProjection{}).reduceProjectRemoved, + reduce: (&appProjection{}).reduceProjectRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -234,7 +234,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.APIConfigAddedEventMapper), }, - reduce: (&AppProjection{}).reduceAPIConfigAdded, + reduce: (&appProjection{}).reduceAPIConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -279,7 +279,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.APIConfigChangedEventMapper), }, - reduce: (&AppProjection{}).reduceAPIConfigChanged, + reduce: (&appProjection{}).reduceAPIConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -320,7 +320,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.APIConfigChangedEventMapper), }, - reduce: (&AppProjection{}).reduceAPIConfigChanged, + reduce: (&appProjection{}).reduceAPIConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -343,7 +343,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.APIConfigSecretChangedEventMapper), }, - reduce: (&AppProjection{}).reduceAPIConfigSecretChanged, + reduce: (&appProjection{}).reduceAPIConfigSecretChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -399,7 +399,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.OIDCConfigAddedEventMapper), }, - reduce: (&AppProjection{}).reduceOIDCConfigAdded, + reduce: (&appProjection{}).reduceOIDCConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -468,7 +468,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.OIDCConfigChangedEventMapper), }, - reduce: (&AppProjection{}).reduceOIDCConfigChanged, + reduce: (&appProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -521,7 +521,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.OIDCConfigChangedEventMapper), }, - reduce: (&AppProjection{}).reduceOIDCConfigChanged, + reduce: (&appProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, @@ -544,7 +544,7 @@ func TestAppProjection_reduces(t *testing.T) { }`), ), project.OIDCConfigSecretChangedEventMapper), }, - reduce: (&AppProjection{}).reduceOIDCConfigSecretChanged, + reduce: (&appProjection{}).reduceOIDCConfigSecretChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("project"), sequence: 15, diff --git a/internal/query/projection/authn_key.go b/internal/query/projection/authn_key.go index 884df6513c..9217e64cb4 100644 --- a/internal/query/projection/authn_key.go +++ b/internal/query/projection/authn_key.go @@ -29,12 +29,12 @@ const ( AuthNKeyEnabledCol = "enabled" ) -type AuthNKeyProjection struct { +type authNKeyProjection struct { crdb.StatementHandler } -func NewAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *AuthNKeyProjection { - p := new(AuthNKeyProjection) +func newAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *authNKeyProjection { + p := new(authNKeyProjection) config.ProjectionName = AuthNKeyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -61,7 +61,7 @@ func NewAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConf return p } -func (p *AuthNKeyProjection) reducers() []handler.AggregateReducer { +func (p *authNKeyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -112,7 +112,7 @@ func (p *AuthNKeyProjection) reducers() []handler.AggregateReducer { } } -func (p *AuthNKeyProjection) reduceAuthNKeyAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *authNKeyProjection) reduceAuthNKeyAdded(event eventstore.Event) (*handler.Statement, error) { var authNKeyEvent struct { eventstore.BaseEvent keyID string @@ -162,7 +162,7 @@ func (p *AuthNKeyProjection) reduceAuthNKeyAdded(event eventstore.Event) (*handl ), nil } -func (p *AuthNKeyProjection) reduceAuthNKeyEnabledChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *authNKeyProjection) reduceAuthNKeyEnabledChanged(event eventstore.Event) (*handler.Statement, error) { var appID string var enabled bool switch e := event.(type) { @@ -188,7 +188,7 @@ func (p *AuthNKeyProjection) reduceAuthNKeyEnabledChanged(event eventstore.Event ), nil } -func (p *AuthNKeyProjection) reduceAuthNKeyRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *authNKeyProjection) reduceAuthNKeyRemoved(event eventstore.Event) (*handler.Statement, error) { var condition handler.Condition switch e := event.(type) { case *project.ApplicationKeyRemovedEvent: diff --git a/internal/query/projection/authn_key_test.go b/internal/query/projection/authn_key_test.go index 1585bb19ee..238421c1c3 100644 --- a/internal/query/projection/authn_key_test.go +++ b/internal/query/projection/authn_key_test.go @@ -31,7 +31,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"applicationId": "appId", "clientId":"clientId","keyId": "keyId", "type": 1, "expirationDate": "2021-11-30T15:00:00Z", "publicKey": "cHVibGljS2V5"}`), ), project.ApplicationKeyAddedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyAdded, + reduce: (&authNKeyProjection{}).reduceAuthNKeyAdded, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -68,7 +68,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId", "type": 1, "expirationDate": "2021-11-30T15:00:00Z", "publicKey": "cHVibGljS2V5"}`), ), user.MachineKeyAddedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyAdded, + reduce: (&authNKeyProjection{}).reduceAuthNKeyAdded, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("user"), @@ -105,7 +105,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId"}`), ), project.ApplicationKeyRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -132,7 +132,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId"}`), ), project.APIConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -152,7 +152,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId", "authMethodType": 0}`), ), project.APIConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -180,7 +180,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId", "authMethodType": 1}`), ), project.APIConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -208,7 +208,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId"}`), ), user.MachineKeyRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("user"), @@ -235,7 +235,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId"}`), ), project.OIDCConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -255,7 +255,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId", "authMethodType": 0}`), ), project.OIDCConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -283,7 +283,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId", "authMethodType": 3}`), ), project.OIDCConfigChangedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, + reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -311,7 +311,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId"}`), ), project.ApplicationKeyRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -338,7 +338,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"appId": "appId"}`), ), project.ApplicationRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -365,7 +365,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { nil, ), project.ProjectRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("project"), @@ -392,7 +392,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId"}`), ), user.MachineKeyRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("user"), @@ -419,7 +419,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) { []byte(`{"keyId": "keyId"}`), ), user.UserRemovedEventMapper), }, - reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, + reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved, want: wantReduce{ projection: AuthNKeyTable, aggregateType: eventstore.AggregateType("user"), diff --git a/internal/query/projection/custom_text.go b/internal/query/projection/custom_text.go index e526e1b78e..1a71de7351 100644 --- a/internal/query/projection/custom_text.go +++ b/internal/query/projection/custom_text.go @@ -27,12 +27,12 @@ const ( CustomTextTextCol = "text" ) -type CustomTextProjection struct { +type customTextProjection struct { crdb.StatementHandler } -func NewCustomTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *CustomTextProjection { - p := new(CustomTextProjection) +func newCustomTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *customTextProjection { + p := new(customTextProjection) config.ProjectionName = CustomTextTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -55,7 +55,7 @@ func NewCustomTextProjection(ctx context.Context, config crdb.StatementHandlerCo return p } -func (p *CustomTextProjection) reducers() []handler.AggregateReducer { +func (p *customTextProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -94,7 +94,7 @@ func (p *CustomTextProjection) reducers() []handler.AggregateReducer { } } -func (p *CustomTextProjection) reduceSet(event eventstore.Event) (*handler.Statement, error) { +func (p *customTextProjection) reduceSet(event eventstore.Event) (*handler.Statement, error) { var customTextEvent policy.CustomTextSetEvent var isDefault bool switch e := event.(type) { @@ -123,7 +123,7 @@ func (p *CustomTextProjection) reduceSet(event eventstore.Event) (*handler.State }), nil } -func (p *CustomTextProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *customTextProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { var customTextEvent policy.CustomTextRemovedEvent switch e := event.(type) { case *org.CustomTextRemovedEvent: @@ -143,7 +143,7 @@ func (p *CustomTextProjection) reduceRemoved(event eventstore.Event) (*handler.S }), nil } -func (p *CustomTextProjection) reduceTemplateRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *customTextProjection) reduceTemplateRemoved(event eventstore.Event) (*handler.Statement, error) { var customTextEvent policy.CustomTextTemplateRemovedEvent switch e := event.(type) { case *org.CustomTextTemplateRemovedEvent: diff --git a/internal/query/projection/custom_text_test.go b/internal/query/projection/custom_text_test.go index 96f849029e..9721e88f08 100644 --- a/internal/query/projection/custom_text_test.go +++ b/internal/query/projection/custom_text_test.go @@ -35,7 +35,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&CustomTextProjection{}).reduceSet, + reduce: (&customTextProjection{}).reduceSet, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -64,7 +64,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&CustomTextProjection{}).reduceRemoved, + reduce: (&customTextProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.CustomTextRemovedEventType), @@ -98,7 +98,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }, { name: "org.reduceTemplateRemoved", - reduce: (&CustomTextProjection{}).reduceTemplateRemoved, + reduce: (&customTextProjection{}).reduceTemplateRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.CustomTextTemplateRemovedEventType), @@ -131,7 +131,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }, { name: "iam.reduceAdded", - reduce: (&CustomTextProjection{}).reduceSet, + reduce: (&customTextProjection{}).reduceSet, args: args{ event: getEvent(testEvent( repository.EventType(instance.CustomTextSetEventType), @@ -172,7 +172,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }, { name: "iam.reduceRemoved", - reduce: (&CustomTextProjection{}).reduceRemoved, + reduce: (&customTextProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.CustomTextTemplateRemovedEventType), @@ -206,7 +206,7 @@ func TestCustomTextProjection_reduces(t *testing.T) { }, { name: "iam.reduceTemplateRemoved", - reduce: (&CustomTextProjection{}).reduceTemplateRemoved, + reduce: (&customTextProjection{}).reduceTemplateRemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.CustomTextTemplateRemovedEventType), diff --git a/internal/query/projection/debug_notification.go b/internal/query/projection/debug_notification.go index 5b2b4077ea..98aa59b4d3 100644 --- a/internal/query/projection/debug_notification.go +++ b/internal/query/projection/debug_notification.go @@ -27,12 +27,12 @@ const ( DebugNotificationProviderCompactCol = "compact" ) -type DebugNotificationProviderProjection struct { +type debugNotificationProviderProjection struct { crdb.StatementHandler } -func NewDebugNotificationProviderProjection(ctx context.Context, config crdb.StatementHandlerConfig) *DebugNotificationProviderProjection { - p := &DebugNotificationProviderProjection{} +func newDebugNotificationProviderProjection(ctx context.Context, config crdb.StatementHandlerConfig) *debugNotificationProviderProjection { + p := &debugNotificationProviderProjection{} config.ProjectionName = DebugNotificationProviderTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -54,7 +54,7 @@ func NewDebugNotificationProviderProjection(ctx context.Context, config crdb.Sta return p } -func (p *DebugNotificationProviderProjection) reducers() []handler.AggregateReducer { +func (p *debugNotificationProviderProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -88,7 +88,7 @@ func (p *DebugNotificationProviderProjection) reducers() []handler.AggregateRedu } } -func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *debugNotificationProviderProjection) reduceDebugNotificationProviderAdded(event eventstore.Event) (*handler.Statement, error) { var providerEvent settings.DebugNotificationProviderAddedEvent var providerType domain.NotificationProviderType switch e := event.(type) { @@ -115,7 +115,7 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderAdd }), nil } -func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *debugNotificationProviderProjection) reduceDebugNotificationProviderChanged(event eventstore.Event) (*handler.Statement, error) { var providerEvent settings.DebugNotificationProviderChangedEvent var providerType domain.NotificationProviderType switch e := event.(type) { @@ -147,7 +147,7 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderCha ), nil } -func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *debugNotificationProviderProjection) reduceDebugNotificationProviderRemoved(event eventstore.Event) (*handler.Statement, error) { var providerEvent settings.DebugNotificationProviderRemovedEvent var providerType domain.NotificationProviderType switch e := event.(type) { diff --git a/internal/query/projection/debug_notification_provider_test.go b/internal/query/projection/debug_notification_provider_test.go index d002889f02..8a4f7ea78d 100644 --- a/internal/query/projection/debug_notification_provider_test.go +++ b/internal/query/projection/debug_notification_provider_test.go @@ -23,7 +23,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }{ { name: "instance.reduceNotificationProviderFileAdded", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderFileAddedEventType), @@ -60,7 +60,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, { name: "instance.reduceNotificationProviderFileChanged", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderFileChangedEventType), @@ -93,7 +93,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, { name: "instance.reduceNotificationProviderFileRemoved", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderFileRemovedEventType), @@ -121,7 +121,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, { name: "instance.reduceNotificationProviderLogAdded", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderLogAddedEventType), @@ -158,7 +158,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, { name: "instance.reduceNotificationProviderLogChanged", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderLogChangedEventType), @@ -191,7 +191,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) { }, { name: "instance.reduceNotificationProviderLogRemoved", - reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, + reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.DebugNotificationProviderLogRemovedEventType), diff --git a/internal/query/projection/domain_policy.go b/internal/query/projection/domain_policy.go index 86c954bf4f..5fb6a1dfa7 100644 --- a/internal/query/projection/domain_policy.go +++ b/internal/query/projection/domain_policy.go @@ -29,12 +29,12 @@ const ( DomainPolicyInstanceIDCol = "instance_id" ) -type DomainPolicyProjection struct { +type domainPolicyProjection struct { crdb.StatementHandler } -func NewDomainPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *DomainPolicyProjection { - p := new(DomainPolicyProjection) +func newDomainPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *domainPolicyProjection { + p := new(domainPolicyProjection) config.ProjectionName = DomainPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -58,7 +58,7 @@ func NewDomainPolicyProjection(ctx context.Context, config crdb.StatementHandler return p } -func (p *DomainPolicyProjection) reducers() []handler.AggregateReducer { +func (p *domainPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -93,7 +93,7 @@ func (p *DomainPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *DomainPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *domainPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.DomainPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -123,7 +123,7 @@ func (p *DomainPolicyProjection) reduceAdded(event eventstore.Event) (*handler.S }), nil } -func (p *DomainPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *domainPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.DomainPolicyChangedEvent switch e := event.(type) { case *org.DomainPolicyChangedEvent: @@ -154,7 +154,7 @@ func (p *DomainPolicyProjection) reduceChanged(event eventstore.Event) (*handler }), nil } -func (p *DomainPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *domainPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.DomainPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-JAENd", "reduce.wrong.event.type %s", org.DomainPolicyRemovedEventType) diff --git a/internal/query/projection/domain_policy_test.go b/internal/query/projection/domain_policy_test.go index 83774c4ee9..88554b58e1 100644 --- a/internal/query/projection/domain_policy_test.go +++ b/internal/query/projection/domain_policy_test.go @@ -35,7 +35,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) { }`), ), org.DomainPolicyAddedEventMapper), }, - reduce: (&DomainPolicyProjection{}).reduceAdded, + reduce: (&domainPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -65,7 +65,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&DomainPolicyProjection{}).reduceChanged, + reduce: (&domainPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.DomainPolicyChangedEventType), @@ -101,7 +101,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&DomainPolicyProjection{}).reduceRemoved, + reduce: (&domainPolicyProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.DomainPolicyRemovedEventType), @@ -128,7 +128,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&DomainPolicyProjection{}).reduceAdded, + reduce: (&domainPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.DomainPolicyAddedEventType), @@ -169,7 +169,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&DomainPolicyProjection{}).reduceChanged, + reduce: (&domainPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.DomainPolicyChangedEventType), diff --git a/internal/query/projection/flow.go b/internal/query/projection/flow.go index c0c808ff6a..512e78bc27 100644 --- a/internal/query/projection/flow.go +++ b/internal/query/projection/flow.go @@ -22,12 +22,12 @@ const ( FlowActionIDCol = "action_id" ) -type FlowProjection struct { +type flowProjection struct { crdb.StatementHandler } -func NewFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig) *FlowProjection { - p := new(FlowProjection) +func newFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig) *flowProjection { + p := new(flowProjection) config.ProjectionName = FlowTriggerTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -48,7 +48,7 @@ func NewFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig) return p } -func (p *FlowProjection) reducers() []handler.AggregateReducer { +func (p *flowProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -66,7 +66,7 @@ func (p *FlowProjection) reducers() []handler.AggregateReducer { } } -func (p *FlowProjection) reduceTriggerActionsSetEventType(event eventstore.Event) (*handler.Statement, error) { +func (p *flowProjection) reduceTriggerActionsSetEventType(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.TriggerActionsSetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.TriggerActionsSetEventType) @@ -96,7 +96,7 @@ func (p *FlowProjection) reduceTriggerActionsSetEventType(event eventstore.Event return crdb.NewMultiStatement(e, stmts...), nil } -func (p *FlowProjection) reduceFlowClearedEventType(event eventstore.Event) (*handler.Statement, error) { +func (p *flowProjection) reduceFlowClearedEventType(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.FlowClearedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.FlowClearedEventType) diff --git a/internal/query/projection/flow_test.go b/internal/query/projection/flow_test.go index bb3e977c6a..97af3ec3f9 100644 --- a/internal/query/projection/flow_test.go +++ b/internal/query/projection/flow_test.go @@ -30,7 +30,7 @@ func TestFlowProjection_reduces(t *testing.T) { []byte(`{"flowType": 1, "triggerType": 1, "actionIDs": ["id1", "id2"]}`), ), org.TriggerActionsSetEventMapper), }, - reduce: (&FlowProjection{}).reduceTriggerActionsSetEventType, + reduce: (&flowProjection{}).reduceTriggerActionsSetEventType, want: wantReduce{ projection: FlowTriggerTable, aggregateType: eventstore.AggregateType("org"), @@ -85,7 +85,7 @@ func TestFlowProjection_reduces(t *testing.T) { []byte(`{"flowType": 1}`), ), org.FlowClearedEventMapper), }, - reduce: (&FlowProjection{}).reduceFlowClearedEventType, + reduce: (&flowProjection{}).reduceFlowClearedEventType, want: wantReduce{ projection: FlowTriggerTable, aggregateType: eventstore.AggregateType("org"), diff --git a/internal/query/projection/idp.go b/internal/query/projection/idp.go index 5e05535c96..889afb57ba 100644 --- a/internal/query/projection/idp.go +++ b/internal/query/projection/idp.go @@ -55,12 +55,12 @@ const ( JWTConfigEndpointCol = "endpoint" ) -type IDPProjection struct { +type idpProjection struct { crdb.StatementHandler } -func NewIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPProjection { - p := new(IDPProjection) +func newIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpProjection { + p := new(idpProjection) config.ProjectionName = IDPTable config.Reducers = p.reducers() config.InitCheck = crdb.NewMultiTableCheck( @@ -115,7 +115,7 @@ func NewIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) * return p } -func (p *IDPProjection) reducers() []handler.AggregateReducer { +func (p *idpProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -202,7 +202,7 @@ func (p *IDPProjection) reducers() []handler.AggregateReducer { } } -func (p *IDPProjection) reduceIDPAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceIDPAdded(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.IDPConfigAddedEvent var idpOwnerType domain.IdentityProviderType switch e := event.(type) { @@ -234,7 +234,7 @@ func (p *IDPProjection) reduceIDPAdded(event eventstore.Event) (*handler.Stateme ), nil } -func (p *IDPProjection) reduceIDPChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceIDPChanged(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.IDPConfigChangedEvent switch e := event.(type) { case *org.IDPConfigChangedEvent: @@ -274,7 +274,7 @@ func (p *IDPProjection) reduceIDPChanged(event eventstore.Event) (*handler.State ), nil } -func (p *IDPProjection) reduceIDPDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceIDPDeactivated(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.IDPConfigDeactivatedEvent switch e := event.(type) { case *org.IDPConfigDeactivatedEvent: @@ -299,7 +299,7 @@ func (p *IDPProjection) reduceIDPDeactivated(event eventstore.Event) (*handler.S ), nil } -func (p *IDPProjection) reduceIDPReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceIDPReactivated(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.IDPConfigReactivatedEvent switch e := event.(type) { case *org.IDPConfigReactivatedEvent: @@ -324,7 +324,7 @@ func (p *IDPProjection) reduceIDPReactivated(event eventstore.Event) (*handler.S ), nil } -func (p *IDPProjection) reduceIDPRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceIDPRemoved(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.IDPConfigRemovedEvent switch e := event.(type) { case *org.IDPConfigRemovedEvent: @@ -344,7 +344,7 @@ func (p *IDPProjection) reduceIDPRemoved(event eventstore.Event) (*handler.State ), nil } -func (p *IDPProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.OIDCConfigAddedEvent switch e := event.(type) { case *org.IDPOIDCConfigAddedEvent: @@ -385,7 +385,7 @@ func (p *IDPProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler. ), nil } -func (p *IDPProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.OIDCConfigChangedEvent switch e := event.(type) { case *org.IDPOIDCConfigChangedEvent: @@ -449,7 +449,7 @@ func (p *IDPProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handle ), nil } -func (p *IDPProjection) reduceJWTConfigAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceJWTConfigAdded(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.JWTConfigAddedEvent switch e := event.(type) { case *org.IDPJWTConfigAddedEvent: @@ -487,7 +487,7 @@ func (p *IDPProjection) reduceJWTConfigAdded(event eventstore.Event) (*handler.S ), nil } -func (p *IDPProjection) reduceJWTConfigChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *idpProjection) reduceJWTConfigChanged(event eventstore.Event) (*handler.Statement, error) { var idpEvent idpconfig.JWTConfigChangedEvent switch e := event.(type) { case *org.IDPJWTConfigChangedEvent: diff --git a/internal/query/projection/idp_login_policy_link.go b/internal/query/projection/idp_login_policy_link.go index 31e1688876..17bdf6eae8 100644 --- a/internal/query/projection/idp_login_policy_link.go +++ b/internal/query/projection/idp_login_policy_link.go @@ -26,12 +26,12 @@ const ( IDPLoginPolicyLinkProviderTypeCol = "provider_type" ) -type IDPLoginPolicyLinkProjection struct { +type idpLoginPolicyLinkProjection struct { crdb.StatementHandler } -func NewIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPLoginPolicyLinkProjection { - p := new(IDPLoginPolicyLinkProjection) +func newIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpLoginPolicyLinkProjection { + p := new(idpLoginPolicyLinkProjection) config.ProjectionName = IDPLoginPolicyLinkTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -53,7 +53,7 @@ func NewIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementH return p } -func (p *IDPLoginPolicyLinkProjection) reducers() []handler.AggregateReducer { +func (p *idpLoginPolicyLinkProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -104,7 +104,7 @@ func (p *IDPLoginPolicyLinkProjection) reducers() []handler.AggregateReducer { } } -func (p *IDPLoginPolicyLinkProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *idpLoginPolicyLinkProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var ( idp policy.IdentityProviderAddedEvent providerType domain.IdentityProviderType @@ -135,7 +135,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceAdded(event eventstore.Event) (*han ), nil } -func (p *IDPLoginPolicyLinkProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpLoginPolicyLinkProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { var idp policy.IdentityProviderRemovedEvent switch e := event.(type) { @@ -155,7 +155,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceRemoved(event eventstore.Event) (*h ), nil } -func (p *IDPLoginPolicyLinkProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpLoginPolicyLinkProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { var idp policy.IdentityProviderCascadeRemovedEvent switch e := event.(type) { @@ -175,7 +175,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceCascadeRemoved(event eventstore.Eve ), nil } -func (p *IDPLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { var idpID string switch e := event.(type) { @@ -195,7 +195,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.E ), nil } -func (p *IDPLoginPolicyLinkProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpLoginPolicyLinkProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QSoSe", "reduce.wrong.event.type %s", org.OrgRemovedEventType) diff --git a/internal/query/projection/idp_login_policy_link_test.go b/internal/query/projection/idp_login_policy_link_test.go index 7179138b67..2172d5f6a9 100644 --- a/internal/query/projection/idp_login_policy_link_test.go +++ b/internal/query/projection/idp_login_policy_link_test.go @@ -34,7 +34,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), instance.IdentityProviderAddedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceAdded, + reduce: (&idpLoginPolicyLinkProjection{}).reduceAdded, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -71,7 +71,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), instance.IdentityProviderRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -102,7 +102,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), instance.IdentityProviderCascadeRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceCascadeRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -133,7 +133,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), org.IdentityProviderAddedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceAdded, + reduce: (&idpLoginPolicyLinkProjection{}).reduceAdded, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -170,7 +170,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), org.IdentityProviderRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -201,7 +201,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), org.IdentityProviderCascadeRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceCascadeRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -229,7 +229,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceOrgRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceOrgRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -258,7 +258,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), org.IDPConfigRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -288,7 +288,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigRemovedEventMapper), }, - reduce: (&IDPLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, + reduce: (&idpLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, diff --git a/internal/query/projection/idp_test.go b/internal/query/projection/idp_test.go index 79bddb523f..a4b6b4a627 100644 --- a/internal/query/projection/idp_test.go +++ b/internal/query/projection/idp_test.go @@ -39,7 +39,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPAdded, + reduce: (&idpProjection{}).reduceIDPAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -81,7 +81,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPChanged, + reduce: (&idpProjection{}).reduceIDPChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -116,7 +116,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigDeactivatedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPDeactivated, + reduce: (&idpProjection{}).reduceIDPDeactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -149,7 +149,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigReactivatedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPReactivated, + reduce: (&idpProjection{}).reduceIDPReactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -182,7 +182,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigRemovedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPRemoved, + reduce: (&idpProjection{}).reduceIDPRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -224,7 +224,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPOIDCConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigAdded, + reduce: (&idpProjection{}).reduceOIDCConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -284,7 +284,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPOIDCConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigChanged, + reduce: (&idpProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -329,7 +329,7 @@ func TestIDPProjection_reduces(t *testing.T) { []byte("{}"), ), instance.IDPOIDCConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigChanged, + reduce: (&idpProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -355,7 +355,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPJWTConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigAdded, + reduce: (&idpProjection{}).reduceJWTConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -403,7 +403,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), instance.IDPJWTConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigChanged, + reduce: (&idpProjection{}).reduceJWTConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -444,7 +444,7 @@ func TestIDPProjection_reduces(t *testing.T) { []byte(`{}`), ), instance.IDPJWTConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigChanged, + reduce: (&idpProjection{}).reduceJWTConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -470,7 +470,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPAdded, + reduce: (&idpProjection{}).reduceIDPAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -512,7 +512,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPChanged, + reduce: (&idpProjection{}).reduceIDPChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -547,7 +547,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPConfigDeactivatedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPDeactivated, + reduce: (&idpProjection{}).reduceIDPDeactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -580,7 +580,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPConfigReactivatedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPReactivated, + reduce: (&idpProjection{}).reduceIDPReactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -613,7 +613,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPConfigRemovedEventMapper), }, - reduce: (&IDPProjection{}).reduceIDPRemoved, + reduce: (&idpProjection{}).reduceIDPRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -655,7 +655,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPOIDCConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigAdded, + reduce: (&idpProjection{}).reduceOIDCConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -715,7 +715,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPOIDCConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigChanged, + reduce: (&idpProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -760,7 +760,7 @@ func TestIDPProjection_reduces(t *testing.T) { []byte("{}"), ), org.IDPOIDCConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceOIDCConfigChanged, + reduce: (&idpProjection{}).reduceOIDCConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -786,7 +786,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPJWTConfigAddedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigAdded, + reduce: (&idpProjection{}).reduceJWTConfigAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -834,7 +834,7 @@ func TestIDPProjection_reduces(t *testing.T) { }`), ), org.IDPJWTConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigChanged, + reduce: (&idpProjection{}).reduceJWTConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -875,7 +875,7 @@ func TestIDPProjection_reduces(t *testing.T) { []byte(`{}`), ), org.IDPJWTConfigChangedEventMapper), }, - reduce: (&IDPProjection{}).reduceJWTConfigChanged, + reduce: (&idpProjection{}).reduceJWTConfigChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, diff --git a/internal/query/projection/idp_user_link.go b/internal/query/projection/idp_user_link.go index 041b0870b8..d6e8dd2b06 100644 --- a/internal/query/projection/idp_user_link.go +++ b/internal/query/projection/idp_user_link.go @@ -25,12 +25,12 @@ const ( IDPUserLinkDisplayNameCol = "display_name" ) -type IDPUserLinkProjection struct { +type idpUserLinkProjection struct { crdb.StatementHandler } -func NewIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPUserLinkProjection { - p := new(IDPUserLinkProjection) +func newIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpUserLinkProjection { + p := new(idpUserLinkProjection) config.ProjectionName = IDPUserLinkTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -53,7 +53,7 @@ func NewIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *IDPUserLinkProjection) reducers() []handler.AggregateReducer { +func (p *idpUserLinkProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -101,7 +101,7 @@ func (p *IDPUserLinkProjection) reducers() []handler.AggregateReducer { } } -func (p *IDPUserLinkProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserIDPLinkAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-DpmXq", "reduce.wrong.event.type %s", user.UserIDPLinkAddedType) @@ -122,7 +122,7 @@ func (p *IDPUserLinkProjection) reduceAdded(event eventstore.Event) (*handler.St ), nil } -func (p *IDPUserLinkProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserIDPLinkRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AZmfJ", "reduce.wrong.event.type %s", user.UserIDPLinkRemovedType) @@ -137,7 +137,7 @@ func (p *IDPUserLinkProjection) reduceRemoved(event eventstore.Event) (*handler. ), nil } -func (p *IDPUserLinkProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserIDPLinkCascadeRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-jQpv9", "reduce.wrong.event.type %s", user.UserIDPLinkCascadeRemovedType) @@ -152,7 +152,7 @@ func (p *IDPUserLinkProjection) reduceCascadeRemoved(event eventstore.Event) (*h ), nil } -func (p *IDPUserLinkProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AZmfJ", "reduce.wrong.event.type %s", org.OrgRemovedEventType) @@ -165,7 +165,7 @@ func (p *IDPUserLinkProjection) reduceOrgRemoved(event eventstore.Event) (*handl ), nil } -func (p *IDPUserLinkProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uwlWE", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -178,7 +178,7 @@ func (p *IDPUserLinkProjection) reduceUserRemoved(event eventstore.Event) (*hand ), nil } -func (p *IDPUserLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *idpUserLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { var idpID string switch e := event.(type) { diff --git a/internal/query/projection/idp_user_link_test.go b/internal/query/projection/idp_user_link_test.go index aaa361d0bc..02ad44f9d6 100644 --- a/internal/query/projection/idp_user_link_test.go +++ b/internal/query/projection/idp_user_link_test.go @@ -35,7 +35,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { }`), ), user.UserIDPLinkAddedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceAdded, + reduce: (&idpUserLinkProjection{}).reduceAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -73,7 +73,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { }`), ), user.UserIDPLinkRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceRemoved, + reduce: (&idpUserLinkProjection{}).reduceRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -105,7 +105,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { }`), ), user.UserIDPLinkCascadeRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceCascadeRemoved, + reduce: (&idpUserLinkProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -134,7 +134,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceOrgRemoved, + reduce: (&idpUserLinkProjection{}).reduceOrgRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -161,7 +161,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceUserRemoved, + reduce: (&idpUserLinkProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -190,7 +190,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { }`), ), org.IDPConfigRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceIDPConfigRemoved, + reduce: (&idpUserLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -220,7 +220,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) { }`), ), instance.IDPConfigRemovedEventMapper), }, - reduce: (&IDPUserLinkProjection{}).reduceIDPConfigRemoved, + reduce: (&idpUserLinkProjection{}).reduceIDPConfigRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, diff --git a/internal/query/projection/instance.go b/internal/query/projection/instance.go index 20f471c87f..df384917f9 100644 --- a/internal/query/projection/instance.go +++ b/internal/query/projection/instance.go @@ -25,12 +25,12 @@ const ( InstanceColumnDefaultLanguage = "default_language" ) -type InstanceProjection struct { +type instanceProjection struct { crdb.StatementHandler } -func NewInstanceProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceProjection { - p := new(InstanceProjection) +func newInstanceProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceProjection { + p := new(instanceProjection) config.ProjectionName = InstanceProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -53,7 +53,7 @@ func NewInstanceProjection(ctx context.Context, config crdb.StatementHandlerConf return p } -func (p *InstanceProjection) reducers() []handler.AggregateReducer { +func (p *instanceProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -83,7 +83,7 @@ func (p *InstanceProjection) reducers() []handler.AggregateReducer { } } -func (p *InstanceProjection) reduceInstanceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceProjection) reduceInstanceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.InstanceAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-29nlS", "reduce.wrong.event.type %s", instance.InstanceAddedEventType) @@ -100,7 +100,7 @@ func (p *InstanceProjection) reduceInstanceAdded(event eventstore.Event) (*handl ), nil } -func (p *InstanceProjection) reduceDefaultOrgSet(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceProjection) reduceDefaultOrgSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.DefaultOrgSetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2n9f2", "reduce.wrong.event.type %s", instance.DefaultOrgSetEventType) @@ -118,7 +118,7 @@ func (p *InstanceProjection) reduceDefaultOrgSet(event eventstore.Event) (*handl ), nil } -func (p *InstanceProjection) reduceIAMProjectSet(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceProjection) 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) @@ -136,7 +136,7 @@ func (p *InstanceProjection) reduceIAMProjectSet(event eventstore.Event) (*handl ), nil } -func (p *InstanceProjection) reduceConsoleSet(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceProjection) reduceConsoleSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.ConsoleSetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dgf11", "reduce.wrong.event.type %s", instance.ConsoleSetEventType) @@ -155,7 +155,7 @@ func (p *InstanceProjection) reduceConsoleSet(event eventstore.Event) (*handler. ), nil } -func (p *InstanceProjection) reduceDefaultLanguageSet(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceProjection) 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) diff --git a/internal/query/projection/instance_domain.go b/internal/query/projection/instance_domain.go index 7997aea858..4e3034d3e2 100644 --- a/internal/query/projection/instance_domain.go +++ b/internal/query/projection/instance_domain.go @@ -22,12 +22,12 @@ const ( InstanceDomainIsPrimaryCol = "is_primary" ) -type InstanceDomainProjection struct { +type instanceDomainProjection struct { crdb.StatementHandler } -func NewInstanceDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceDomainProjection { - p := new(InstanceDomainProjection) +func newInstanceDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceDomainProjection { + p := new(instanceDomainProjection) config.ProjectionName = InstanceDomainTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -47,7 +47,7 @@ func NewInstanceDomainProjection(ctx context.Context, config crdb.StatementHandl return p } -func (p *InstanceDomainProjection) reducers() []handler.AggregateReducer { +func (p *instanceDomainProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -69,7 +69,7 @@ func (p *InstanceDomainProjection) reducers() []handler.AggregateReducer { } } -func (p *InstanceDomainProjection) reduceDomainAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceDomainProjection) reduceDomainAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.DomainAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-38nNf", "reduce.wrong.event.type %s", instance.InstanceDomainAddedEventType) @@ -88,7 +88,7 @@ func (p *InstanceDomainProjection) reduceDomainAdded(event eventstore.Event) (*h ), nil } -func (p *InstanceDomainProjection) reduceDomainPrimarySet(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceDomainProjection) reduceDomainPrimarySet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.DomainPrimarySetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-f8nlw", "reduce.wrong.event.type %s", instance.InstanceDomainPrimarySetEventType) @@ -120,7 +120,7 @@ func (p *InstanceDomainProjection) reduceDomainPrimarySet(event eventstore.Event ), nil } -func (p *InstanceDomainProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *instanceDomainProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.DomainRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-388Nk", "reduce.wrong.event.type %s", instance.InstanceDomainRemovedEventType) diff --git a/internal/query/projection/instance_domain_test.go b/internal/query/projection/instance_domain_test.go index 727ec8e1a7..8410472b81 100644 --- a/internal/query/projection/instance_domain_test.go +++ b/internal/query/projection/instance_domain_test.go @@ -29,7 +29,7 @@ func TestInstanceDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new", "generated": true}`), ), instance.DomainAddedEventMapper), }, - reduce: (&InstanceDomainProjection{}).reduceDomainAdded, + reduce: (&instanceDomainProjection{}).reduceDomainAdded, want: wantReduce{ projection: InstanceDomainTable, aggregateType: eventstore.AggregateType("instance"), @@ -62,7 +62,7 @@ func TestInstanceDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), instance.DomainRemovedEventMapper), }, - reduce: (&InstanceDomainProjection{}).reduceDomainRemoved, + reduce: (&instanceDomainProjection{}).reduceDomainRemoved, want: wantReduce{ projection: InstanceDomainTable, aggregateType: eventstore.AggregateType("instance"), diff --git a/internal/query/projection/instance_member.go b/internal/query/projection/instance_member.go index d94a015299..365e05201d 100644 --- a/internal/query/projection/instance_member.go +++ b/internal/query/projection/instance_member.go @@ -17,12 +17,12 @@ const ( InstanceMemberIAMIDCol = "id" ) -type InstanceMemberProjection struct { +type instanceMemberProjection struct { crdb.StatementHandler } -func NewInstanceMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceMemberProjection { - p := new(InstanceMemberProjection) +func newInstanceMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceMemberProjection { + p := new(instanceMemberProjection) config.ProjectionName = InstanceMemberProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -37,7 +37,7 @@ func NewInstanceMemberProjection(ctx context.Context, config crdb.StatementHandl return p } -func (p *InstanceMemberProjection) reducers() []handler.AggregateReducer { +func (p *instanceMemberProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -72,7 +72,7 @@ func (p *InstanceMemberProjection) reducers() []handler.AggregateReducer { } } -func (p *InstanceMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +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) @@ -80,7 +80,7 @@ func (p *InstanceMemberProjection) reduceAdded(event eventstore.Event) (*handler return reduceMemberAdded(e.MemberAddedEvent, withMemberCol(InstanceMemberIAMIDCol, e.Aggregate().ID)) } -func (p *InstanceMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +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) @@ -88,7 +88,7 @@ func (p *InstanceMemberProjection) reduceChanged(event eventstore.Event) (*handl return reduceMemberChanged(e.MemberChangedEvent) } -func (p *InstanceMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +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) @@ -96,7 +96,7 @@ func (p *InstanceMemberProjection) reduceCascadeRemoved(event eventstore.Event) return reduceMemberCascadeRemoved(e.MemberCascadeRemovedEvent) } -func (p *InstanceMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +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) @@ -104,7 +104,7 @@ func (p *InstanceMemberProjection) reduceRemoved(event eventstore.Event) (*handl return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.UserID)) } -func (p *InstanceMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +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) diff --git a/internal/query/projection/instance_member_test.go b/internal/query/projection/instance_member_test.go index 3f730118e1..27fe24358a 100644 --- a/internal/query/projection/instance_member_test.go +++ b/internal/query/projection/instance_member_test.go @@ -35,7 +35,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) { }`), ), instance.MemberAddedEventMapper), }, - reduce: (&InstanceMemberProjection{}).reduceAdded, + reduce: (&instanceMemberProjection{}).reduceAdded, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -72,7 +72,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) { }`), ), instance.MemberChangedEventMapper), }, - reduce: (&InstanceMemberProjection{}).reduceChanged, + reduce: (&instanceMemberProjection{}).reduceChanged, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -104,7 +104,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) { }`), ), instance.MemberCascadeRemovedEventMapper), }, - reduce: (&InstanceMemberProjection{}).reduceCascadeRemoved, + reduce: (&instanceMemberProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -133,7 +133,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) { }`), ), instance.MemberRemovedEventMapper), }, - reduce: (&InstanceMemberProjection{}).reduceRemoved, + reduce: (&instanceMemberProjection{}).reduceRemoved, want: wantReduce{ aggregateType: instance.AggregateType, sequence: 15, @@ -160,7 +160,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&InstanceMemberProjection{}).reduceUserRemoved, + reduce: (&instanceMemberProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, diff --git a/internal/query/projection/instance_test.go b/internal/query/projection/instance_test.go index 72d67c586c..b7b7683a05 100644 --- a/internal/query/projection/instance_test.go +++ b/internal/query/projection/instance_test.go @@ -28,7 +28,7 @@ func TestInstanceProjection_reduces(t *testing.T) { []byte(`{"name": "Name"}`), ), instance.InstanceAddedEventMapper), }, - reduce: (&InstanceProjection{}).reduceInstanceAdded, + reduce: (&instanceProjection{}).reduceInstanceAdded, want: wantReduce{ projection: InstanceProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -59,7 +59,7 @@ func TestInstanceProjection_reduces(t *testing.T) { []byte(`{"orgId": "orgid"}`), ), instance.DefaultOrgSetMapper), }, - reduce: (&InstanceProjection{}).reduceDefaultOrgSet, + reduce: (&instanceProjection{}).reduceDefaultOrgSet, want: wantReduce{ projection: InstanceProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -89,7 +89,7 @@ func TestInstanceProjection_reduces(t *testing.T) { []byte(`{"iamProjectId": "project-id"}`), ), instance.ProjectSetMapper), }, - reduce: (&InstanceProjection{}).reduceIAMProjectSet, + reduce: (&instanceProjection{}).reduceIAMProjectSet, want: wantReduce{ projection: InstanceProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -119,7 +119,7 @@ func TestInstanceProjection_reduces(t *testing.T) { []byte(`{"language": "en"}`), ), instance.DefaultLanguageSetMapper), }, - reduce: (&InstanceProjection{}).reduceDefaultLanguageSet, + reduce: (&instanceProjection{}).reduceDefaultLanguageSet, want: wantReduce{ projection: InstanceProjectionTable, aggregateType: eventstore.AggregateType("instance"), diff --git a/internal/query/projection/key.go b/internal/query/projection/key.go index 3adacdd212..91ba200ea8 100644 --- a/internal/query/projection/key.go +++ b/internal/query/projection/key.go @@ -39,13 +39,13 @@ const ( KeyPublicColumnKey = "key" ) -type KeyProjection struct { +type keyProjection struct { crdb.StatementHandler encryptionAlgorithm crypto.EncryptionAlgorithm } -func NewKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, keyEncryptionAlgorithm crypto.EncryptionAlgorithm) *KeyProjection { - p := new(KeyProjection) +func newKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, keyEncryptionAlgorithm crypto.EncryptionAlgorithm) *keyProjection { + p := new(keyProjection) config.ProjectionName = KeyProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewMultiTableCheck( @@ -89,7 +89,7 @@ func NewKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, k return p } -func (p *KeyProjection) reducers() []handler.AggregateReducer { +func (p *keyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: keypair.AggregateType, @@ -103,7 +103,7 @@ func (p *KeyProjection) reducers() []handler.AggregateReducer { } } -func (p *KeyProjection) reduceKeyPairAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *keyProjection) reduceKeyPairAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*keypair.AddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-SAbr2", "reduce.wrong.event.type %s", keypair.AddedEventType) diff --git a/internal/query/projection/key_test.go b/internal/query/projection/key_test.go index 084017a5b9..94461f49d7 100644 --- a/internal/query/projection/key_test.go +++ b/internal/query/projection/key_test.go @@ -34,7 +34,7 @@ func TestKeyProjection_reduces(t *testing.T) { keypairAddedEventData(time.Now().Add(time.Hour)), ), keypair.AddedEventMapper), }, - reduce: (&KeyProjection{encryptionAlgorithm: crypto.CreateMockEncryptionAlg(gomock.NewController(t))}).reduceKeyPairAdded, + reduce: (&keyProjection{encryptionAlgorithm: crypto.CreateMockEncryptionAlg(gomock.NewController(t))}).reduceKeyPairAdded, want: wantReduce{ projection: KeyProjectionTable, aggregateType: eventstore.AggregateType("key_pair"), @@ -91,7 +91,7 @@ func TestKeyProjection_reduces(t *testing.T) { keypairAddedEventData(time.Now().Add(-time.Hour)), ), keypair.AddedEventMapper), }, - reduce: (&KeyProjection{}).reduceKeyPairAdded, + reduce: (&keyProjection{}).reduceKeyPairAdded, want: wantReduce{ projection: KeyProjectionTable, aggregateType: eventstore.AggregateType("key_pair"), diff --git a/internal/query/projection/label_policy.go b/internal/query/projection/label_policy.go index 5977be156e..f15a76c6ee 100644 --- a/internal/query/projection/label_policy.go +++ b/internal/query/projection/label_policy.go @@ -44,12 +44,12 @@ const ( LabelPolicyDarkIconURLCol = "dark_icon_url" ) -type LabelPolicyProjection struct { +type labelPolicyProjection struct { crdb.StatementHandler } -func NewLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LabelPolicyProjection { - p := new(LabelPolicyProjection) +func newLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *labelPolicyProjection { + p := new(labelPolicyProjection) config.ProjectionName = LabelPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -86,7 +86,7 @@ func NewLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *LabelPolicyProjection) reducers() []handler.AggregateReducer { +func (p *labelPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -217,7 +217,7 @@ func (p *LabelPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *LabelPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LabelPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -255,7 +255,7 @@ func (p *LabelPolicyProjection) reduceAdded(event eventstore.Event) (*handler.St }), nil } -func (p *LabelPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LabelPolicyChangedEvent switch e := event.(type) { case *org.LabelPolicyChangedEvent: @@ -311,7 +311,7 @@ func (p *LabelPolicyProjection) reduceChanged(event eventstore.Event) (*handler. }), nil } -func (p *LabelPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.LabelPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-ATMBz", "reduce.wrong.event.type %s", org.LabelPolicyRemovedEventType) @@ -323,7 +323,7 @@ func (p *LabelPolicyProjection) reduceRemoved(event eventstore.Event) (*handler. }), nil } -func (p *LabelPolicyProjection) reduceActivated(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceActivated(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { case *org.LabelPolicyActivatedEvent, *instance.LabelPolicyActivatedEvent: // everything ok @@ -365,7 +365,7 @@ func (p *LabelPolicyProjection) reduceActivated(event eventstore.Event) (*handle }), nil } -func (p *LabelPolicyProjection) reduceLogoAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceLogoAdded(event eventstore.Event) (*handler.Statement, error) { var storeKey handler.Column switch e := event.(type) { case *org.LabelPolicyLogoAddedEvent: @@ -393,7 +393,7 @@ func (p *LabelPolicyProjection) reduceLogoAdded(event eventstore.Event) (*handle }), nil } -func (p *LabelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*handler.Statement, error) { var col string switch event.(type) { case *org.LabelPolicyLogoRemovedEvent: @@ -421,7 +421,7 @@ func (p *LabelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*hand }), nil } -func (p *LabelPolicyProjection) reduceIconAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceIconAdded(event eventstore.Event) (*handler.Statement, error) { var storeKey handler.Column switch e := event.(type) { case *org.LabelPolicyIconAddedEvent: @@ -449,7 +449,7 @@ func (p *LabelPolicyProjection) reduceIconAdded(event eventstore.Event) (*handle }), nil } -func (p *LabelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*handler.Statement, error) { var col string switch event.(type) { case *org.LabelPolicyIconRemovedEvent: @@ -477,7 +477,7 @@ func (p *LabelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*hand }), nil } -func (p *LabelPolicyProjection) reduceFontAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceFontAdded(event eventstore.Event) (*handler.Statement, error) { var storeKey handler.Column switch e := event.(type) { case *org.LabelPolicyFontAddedEvent: @@ -501,7 +501,7 @@ func (p *LabelPolicyProjection) reduceFontAdded(event eventstore.Event) (*handle }), nil } -func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*handler.Statement, error) { var col string switch event.(type) { case *org.LabelPolicyFontRemovedEvent: @@ -525,7 +525,7 @@ func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*hand }), nil } -func (p *LabelPolicyProjection) reduceAssetsRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *labelPolicyProjection) reduceAssetsRemoved(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { case *org.LabelPolicyAssetsRemovedEvent, *instance.LabelPolicyAssetsRemovedEvent: //ok diff --git a/internal/query/projection/label_policy_test.go b/internal/query/projection/label_policy_test.go index ac24a78119..d40cd3d1f1 100644 --- a/internal/query/projection/label_policy_test.go +++ b/internal/query/projection/label_policy_test.go @@ -31,7 +31,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), ), org.LabelPolicyAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceAdded, + reduce: (&labelPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -76,7 +76,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), ), org.LabelPolicyChangedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceChanged, + reduce: (&labelPolicyProjection{}).reduceChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -110,7 +110,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { nil, ), org.LabelPolicyRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceRemoved, + reduce: (&labelPolicyProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -137,7 +137,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { nil, ), org.LabelPolicyActivatedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceActivated, + reduce: (&labelPolicyProjection{}).reduceActivated, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -169,7 +169,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), org.LabelPolicyLogoAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoAdded, + reduce: (&labelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -200,7 +200,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), org.LabelPolicyLogoDarkAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoAdded, + reduce: (&labelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -231,7 +231,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), org.LabelPolicyIconAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconAdded, + reduce: (&labelPolicyProjection{}).reduceIconAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -262,7 +262,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), org.LabelPolicyIconDarkAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconAdded, + reduce: (&labelPolicyProjection{}).reduceIconAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -293,7 +293,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), org.LabelPolicyLogoRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, + reduce: (&labelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -324,7 +324,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), org.LabelPolicyLogoDarkRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, + reduce: (&labelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -355,7 +355,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), org.LabelPolicyIconRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconRemoved, + reduce: (&labelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -386,7 +386,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), org.LabelPolicyIconDarkRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconRemoved, + reduce: (&labelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -417,7 +417,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/font.ttf"}`), ), org.LabelPolicyFontAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceFontAdded, + reduce: (&labelPolicyProjection{}).reduceFontAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -448,7 +448,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/font.ttf"}`), ), org.LabelPolicyFontRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceFontRemoved, + reduce: (&labelPolicyProjection{}).reduceFontRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -479,7 +479,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { nil, ), org.LabelPolicyAssetsRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceAssetsRemoved, + reduce: (&labelPolicyProjection{}).reduceAssetsRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -514,7 +514,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), ), instance.LabelPolicyAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceAdded, + reduce: (&labelPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -559,7 +559,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b", "primaryColorDark": "#ffffff","backgroundColorDark": "#ffffff", "warnColorDark": "#ffffff", "fontColorDark": "#ffffff", "hideLoginNameSuffix": true, "errorMsgPopup": true, "disableWatermark": true}`), ), instance.LabelPolicyChangedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceChanged, + reduce: (&labelPolicyProjection{}).reduceChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -600,7 +600,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { nil, ), instance.LabelPolicyActivatedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceActivated, + reduce: (&labelPolicyProjection{}).reduceActivated, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -632,7 +632,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), instance.LabelPolicyLogoAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoAdded, + reduce: (&labelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -663,7 +663,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), instance.LabelPolicyLogoDarkAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoAdded, + reduce: (&labelPolicyProjection{}).reduceLogoAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -694,7 +694,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), instance.LabelPolicyIconAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconAdded, + reduce: (&labelPolicyProjection{}).reduceIconAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -725,7 +725,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), instance.LabelPolicyIconDarkAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconAdded, + reduce: (&labelPolicyProjection{}).reduceIconAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -756,7 +756,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), instance.LabelPolicyLogoRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, + reduce: (&labelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -787,7 +787,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/logo.png"}`), ), instance.LabelPolicyLogoDarkRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, + reduce: (&labelPolicyProjection{}).reduceLogoRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -818,7 +818,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), instance.LabelPolicyIconRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconRemoved, + reduce: (&labelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -849,7 +849,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/icon.png"}`), ), instance.LabelPolicyIconDarkRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceIconRemoved, + reduce: (&labelPolicyProjection{}).reduceIconRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -880,7 +880,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/font.ttf"}`), ), instance.LabelPolicyFontAddedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceFontAdded, + reduce: (&labelPolicyProjection{}).reduceFontAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -911,7 +911,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { []byte(`{"storeKey": "/path/to/font.ttf"}`), ), instance.LabelPolicyFontRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceFontRemoved, + reduce: (&labelPolicyProjection{}).reduceFontRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -942,7 +942,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) { nil, ), instance.LabelPolicyAssetsRemovedEventMapper), }, - reduce: (&LabelPolicyProjection{}).reduceAssetsRemoved, + reduce: (&labelPolicyProjection{}).reduceAssetsRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, diff --git a/internal/query/projection/lockout_policy.go b/internal/query/projection/lockout_policy.go index af1c581444..cfa9a253d5 100644 --- a/internal/query/projection/lockout_policy.go +++ b/internal/query/projection/lockout_policy.go @@ -28,12 +28,12 @@ const ( LockoutPolicyShowLockOutFailuresCol = "show_failure" ) -type LockoutPolicyProjection struct { +type lockoutPolicyProjection struct { crdb.StatementHandler } -func NewLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LockoutPolicyProjection { - p := new(LockoutPolicyProjection) +func newLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *lockoutPolicyProjection { + p := new(lockoutPolicyProjection) config.ProjectionName = LockoutPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -56,7 +56,7 @@ func NewLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandle return p } -func (p *LockoutPolicyProjection) reducers() []handler.AggregateReducer { +func (p *lockoutPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -91,7 +91,7 @@ func (p *LockoutPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *LockoutPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *lockoutPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LockoutPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -120,7 +120,7 @@ func (p *LockoutPolicyProjection) reduceAdded(event eventstore.Event) (*handler. }), nil } -func (p *LockoutPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *lockoutPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LockoutPolicyChangedEvent switch e := event.(type) { case *org.LockoutPolicyChangedEvent: @@ -148,7 +148,7 @@ func (p *LockoutPolicyProjection) reduceChanged(event eventstore.Event) (*handle }), nil } -func (p *LockoutPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *lockoutPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.LockoutPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-Bqut9", "reduce.wrong.event.type %s", org.LockoutPolicyRemovedEventType) diff --git a/internal/query/projection/lockout_policy_test.go b/internal/query/projection/lockout_policy_test.go index 583a1aa0b2..7089c8bf22 100644 --- a/internal/query/projection/lockout_policy_test.go +++ b/internal/query/projection/lockout_policy_test.go @@ -34,7 +34,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }`), ), org.LockoutPolicyAddedEventMapper), }, - reduce: (&LockoutPolicyProjection{}).reduceAdded, + reduce: (&lockoutPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -63,7 +63,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&LockoutPolicyProjection{}).reduceChanged, + reduce: (&lockoutPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.LockoutPolicyChangedEventType), @@ -97,7 +97,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&LockoutPolicyProjection{}).reduceRemoved, + reduce: (&lockoutPolicyProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.LockoutPolicyRemovedEventType), @@ -124,7 +124,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&LockoutPolicyProjection{}).reduceAdded, + reduce: (&lockoutPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.LockoutPolicyAddedEventType), @@ -163,7 +163,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&LockoutPolicyProjection{}).reduceChanged, + reduce: (&lockoutPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.LockoutPolicyChangedEventType), diff --git a/internal/query/projection/login_name.go b/internal/query/projection/login_name.go index c02e3017bd..4930181b06 100644 --- a/internal/query/projection/login_name.go +++ b/internal/query/projection/login_name.go @@ -85,12 +85,12 @@ var ( ) ) -type LoginNameProjection struct { +type loginNameProjection struct { crdb.StatementHandler } -func NewLoginNameProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LoginNameProjection { - p := new(LoginNameProjection) +func newLoginNameProjection(ctx context.Context, config crdb.StatementHandlerConfig) *loginNameProjection { + p := new(loginNameProjection) config.ProjectionName = LoginNameProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewViewCheck( @@ -129,7 +129,7 @@ func NewLoginNameProjection(ctx context.Context, config crdb.StatementHandlerCon return p } -func (p *LoginNameProjection) reducers() []handler.AggregateReducer { +func (p *loginNameProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -216,7 +216,7 @@ func (p *LoginNameProjection) reducers() []handler.AggregateReducer { } } -func (p *LoginNameProjection) reduceUserCreated(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceUserCreated(event eventstore.Event) (*handler.Statement, error) { var userName string switch e := event.(type) { @@ -242,7 +242,7 @@ func (p *LoginNameProjection) reduceUserCreated(event eventstore.Event) (*handle ), nil } -func (p *LoginNameProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QIe3C", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -257,7 +257,7 @@ func (p *LoginNameProjection) reduceUserRemoved(event eventstore.Event) (*handle ), nil } -func (p *LoginNameProjection) reduceUserNameChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceUserNameChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UsernameChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QlwjC", "reduce.wrong.event.type %s", user.UserUserNameChangedType) @@ -275,7 +275,7 @@ func (p *LoginNameProjection) reduceUserNameChanged(event eventstore.Event) (*ha ), nil } -func (p *LoginNameProjection) reduceUserDomainClaimed(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceUserDomainClaimed(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.DomainClaimedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AQMBY", "reduce.wrong.event.type %s", user.UserDomainClaimedType) @@ -293,7 +293,7 @@ func (p *LoginNameProjection) reduceUserDomainClaimed(event eventstore.Event) (* ), nil } -func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*handler.Statement, error) { var ( policyEvent *policy.DomainPolicyAddedEvent isDefault bool @@ -322,7 +322,7 @@ func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (* ), nil } -func (p *LoginNameProjection) reduceDomainPolicyChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceDomainPolicyChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent *policy.DomainPolicyChangedEvent switch e := event.(type) { @@ -350,7 +350,7 @@ func (p *LoginNameProjection) reduceDomainPolicyChanged(event eventstore.Event) ), nil } -func (p *LoginNameProjection) reduceDomainPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceDomainPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ysEeB", "reduce.wrong.event.type %s", org.DomainPolicyRemovedEventType) @@ -365,7 +365,7 @@ func (p *LoginNameProjection) reduceDomainPolicyRemoved(event eventstore.Event) ), nil } -func (p *LoginNameProjection) reduceDomainVerified(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceDomainVerified(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainVerifiedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-weGAh", "reduce.wrong.event.type %s", org.OrgDomainVerifiedEventType) @@ -382,7 +382,7 @@ func (p *LoginNameProjection) reduceDomainVerified(event eventstore.Event) (*han ), nil } -func (p *LoginNameProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainPrimarySetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-eOXPN", "reduce.wrong.event.type %s", org.OrgDomainPrimarySetEventType) @@ -413,7 +413,7 @@ func (p *LoginNameProjection) reducePrimaryDomainSet(event eventstore.Event) (*h ), nil } -func (p *LoginNameProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginNameProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-4RHYq", "reduce.wrong.event.type %s", org.OrgDomainRemovedEventType) diff --git a/internal/query/projection/login_name_test.go b/internal/query/projection/login_name_test.go index fcc5a646d7..2781127043 100644 --- a/internal/query/projection/login_name_test.go +++ b/internal/query/projection/login_name_test.go @@ -33,7 +33,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), user.HumanAddedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserCreated, + reduce: (&loginNameProjection{}).reduceUserCreated, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -65,7 +65,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), user.HumanRegisteredEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserCreated, + reduce: (&loginNameProjection{}).reduceUserCreated, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -97,7 +97,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), user.MachineAddedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserCreated, + reduce: (&loginNameProjection{}).reduceUserCreated, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -127,7 +127,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserRemoved, + reduce: (&loginNameProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -156,7 +156,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), user.UsernameChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserNameChanged, + reduce: (&loginNameProjection{}).reduceUserNameChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -186,7 +186,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), user.DomainClaimedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceUserDomainClaimed, + reduce: (&loginNameProjection{}).reduceUserDomainClaimed, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -216,7 +216,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), org.DomainPolicyAddedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, + reduce: (&loginNameProjection{}).reduceOrgIAMPolicyAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -248,7 +248,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), org.DomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, + reduce: (&loginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -276,7 +276,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { []byte(`{}`), ), org.DomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, + reduce: (&loginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -296,7 +296,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { []byte(`{}`), ), org.DomainPolicyRemovedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainPolicyRemoved, + reduce: (&loginNameProjection{}).reduceDomainPolicyRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -325,7 +325,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), org.DomainVerifiedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainVerified, + reduce: (&loginNameProjection{}).reduceDomainVerified, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -356,7 +356,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), org.DomainRemovedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainRemoved, + reduce: (&loginNameProjection{}).reduceDomainRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -386,7 +386,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), org.DomainPrimarySetEventMapper), }, - reduce: (&LoginNameProjection{}).reducePrimaryDomainSet, + reduce: (&loginNameProjection{}).reducePrimaryDomainSet, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -425,7 +425,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), instance.DomainPolicyAddedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, + reduce: (&loginNameProjection{}).reduceOrgIAMPolicyAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -457,7 +457,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { }`), ), instance.DomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, + reduce: (&loginNameProjection{}).reduceDomainPolicyChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -485,7 +485,7 @@ func TestLoginNameProjection_reduces(t *testing.T) { []byte(`{}`), ), instance.DomainPolicyChangedEventMapper), }, - reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, + 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 c5c075fbc3..b856fcf454 100644 --- a/internal/query/projection/login_policy.go +++ b/internal/query/projection/login_policy.go @@ -38,12 +38,12 @@ const ( MultiFactorCheckLifetimeCol = "multi_factor_check_lifetime" ) -type LoginPolicyProjection struct { +type loginPolicyProjection struct { crdb.StatementHandler } -func NewLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LoginPolicyProjection { - p := new(LoginPolicyProjection) +func newLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *loginPolicyProjection { + p := new(loginPolicyProjection) config.ProjectionName = LoginPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -77,7 +77,7 @@ func NewLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *LoginPolicyProjection) reducers() []handler.AggregateReducer { +func (p *loginPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -144,7 +144,7 @@ func (p *LoginPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *LoginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LoginPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -181,7 +181,7 @@ func (p *LoginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) ( }), nil } -func (p *LoginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.LoginPolicyChangedEvent switch e := event.(type) { case *instance.LoginPolicyChangedEvent: @@ -245,7 +245,7 @@ func (p *LoginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event) ), nil } -func (p *LoginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.MultiFactorAddedEvent switch e := event.(type) { case *instance.LoginPolicyMultiFactorAddedEvent: @@ -269,7 +269,7 @@ func (p *LoginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler ), nil } -func (p *LoginPolicyProjection) reduceMFARemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduceMFARemoved(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.MultiFactorRemovedEvent switch e := event.(type) { case *instance.LoginPolicyMultiFactorRemovedEvent: @@ -293,7 +293,7 @@ func (p *LoginPolicyProjection) reduceMFARemoved(event eventstore.Event) (*handl ), nil } -func (p *LoginPolicyProjection) reduceLoginPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduceLoginPolicyRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.LoginPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-oRSvD", "reduce.wrong.event.type %s", org.LoginPolicyRemovedEventType) @@ -306,7 +306,7 @@ func (p *LoginPolicyProjection) reduceLoginPolicyRemoved(event eventstore.Event) ), nil } -func (p *LoginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.SecondFactorAddedEvent switch e := event.(type) { case *instance.LoginPolicySecondFactorAddedEvent: @@ -330,7 +330,7 @@ func (p *LoginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler ), nil } -func (p *LoginPolicyProjection) reduce2FARemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *loginPolicyProjection) reduce2FARemoved(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.SecondFactorRemovedEvent switch e := event.(type) { case *instance.LoginPolicySecondFactorRemovedEvent: diff --git a/internal/query/projection/login_policy_test.go b/internal/query/projection/login_policy_test.go index 755346b14b..c69c5eadf8 100644 --- a/internal/query/projection/login_policy_test.go +++ b/internal/query/projection/login_policy_test.go @@ -46,7 +46,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }`), ), org.LoginPolicyAddedEventMapper), }, - reduce: (&LoginPolicyProjection{}).reduceLoginPolicyAdded, + reduce: (&loginPolicyProjection{}).reduceLoginPolicyAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -84,7 +84,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceLoginPolicyChanged", - reduce: (&LoginPolicyProjection{}).reduceLoginPolicyChanged, + reduce: (&loginPolicyProjection{}).reduceLoginPolicyChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicyChangedEventType), @@ -140,7 +140,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceMFAAdded", - reduce: (&LoginPolicyProjection{}).reduceMFAAdded, + reduce: (&loginPolicyProjection{}).reduceMFAAdded, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicyMultiFactorAddedEventType), @@ -172,7 +172,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceMFARemoved", - reduce: (&LoginPolicyProjection{}).reduceMFARemoved, + reduce: (&loginPolicyProjection{}).reduceMFARemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicyMultiFactorRemovedEventType), @@ -204,7 +204,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceLoginPolicyRemoved", - reduce: (&LoginPolicyProjection{}).reduceLoginPolicyRemoved, + reduce: (&loginPolicyProjection{}).reduceLoginPolicyRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicyRemovedEventType), @@ -231,7 +231,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduce2FAAdded", - reduce: (&LoginPolicyProjection{}).reduce2FAAdded, + reduce: (&loginPolicyProjection{}).reduce2FAAdded, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicySecondFactorAddedEventType), @@ -263,7 +263,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduce2FARemoved", - reduce: (&LoginPolicyProjection{}).reduce2FARemoved, + reduce: (&loginPolicyProjection{}).reduce2FARemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.LoginPolicySecondFactorRemovedEventType), @@ -295,7 +295,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceLoginPolicyAdded", - reduce: (&LoginPolicyProjection{}).reduceLoginPolicyAdded, + reduce: (&loginPolicyProjection{}).reduceLoginPolicyAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicyAddedEventType), @@ -354,7 +354,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceLoginPolicyChanged", - reduce: (&LoginPolicyProjection{}).reduceLoginPolicyChanged, + reduce: (&loginPolicyProjection{}).reduceLoginPolicyChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicyChangedEventType), @@ -400,7 +400,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceMFAAdded", - reduce: (&LoginPolicyProjection{}).reduceMFAAdded, + reduce: (&loginPolicyProjection{}).reduceMFAAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicyMultiFactorAddedEventType), @@ -432,7 +432,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceMFARemoved", - reduce: (&LoginPolicyProjection{}).reduceMFARemoved, + reduce: (&loginPolicyProjection{}).reduceMFARemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicyMultiFactorRemovedEventType), @@ -464,7 +464,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduce2FAAdded", - reduce: (&LoginPolicyProjection{}).reduce2FAAdded, + reduce: (&loginPolicyProjection{}).reduce2FAAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicySecondFactorAddedEventType), @@ -496,7 +496,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduce2FARemoved", - reduce: (&LoginPolicyProjection{}).reduce2FARemoved, + reduce: (&loginPolicyProjection{}).reduce2FARemoved, args: args{ event: getEvent(testEvent( repository.EventType(instance.LoginPolicySecondFactorRemovedEventType), diff --git a/internal/query/projection/mail_template.go b/internal/query/projection/mail_template.go index 5a4cf62f6a..73619d106b 100644 --- a/internal/query/projection/mail_template.go +++ b/internal/query/projection/mail_template.go @@ -26,12 +26,12 @@ const ( MailTemplateTemplateCol = "template" ) -type MailTemplateProjection struct { +type mailTemplateProjection struct { crdb.StatementHandler } -func NewMailTemplateProjection(ctx context.Context, config crdb.StatementHandlerConfig) *MailTemplateProjection { - p := new(MailTemplateProjection) +func newMailTemplateProjection(ctx context.Context, config crdb.StatementHandlerConfig) *mailTemplateProjection { + p := new(mailTemplateProjection) config.ProjectionName = MailTemplateTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -52,7 +52,7 @@ func NewMailTemplateProjection(ctx context.Context, config crdb.StatementHandler return p } -func (p *MailTemplateProjection) reducers() []handler.AggregateReducer { +func (p *mailTemplateProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -87,7 +87,7 @@ func (p *MailTemplateProjection) reducers() []handler.AggregateReducer { } } -func (p *MailTemplateProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *mailTemplateProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var templateEvent policy.MailTemplateAddedEvent var isDefault bool switch e := event.(type) { @@ -114,7 +114,7 @@ func (p *MailTemplateProjection) reduceAdded(event eventstore.Event) (*handler.S }), nil } -func (p *MailTemplateProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *mailTemplateProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.MailTemplateChangedEvent switch e := event.(type) { case *org.MailTemplateChangedEvent: @@ -139,7 +139,7 @@ func (p *MailTemplateProjection) reduceChanged(event eventstore.Event) (*handler }), nil } -func (p *MailTemplateProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *mailTemplateProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.MailTemplateRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-3jJGs", "reduce.wrong.event.type %s", org.MailTemplateRemovedEventType) diff --git a/internal/query/projection/mail_template_test.go b/internal/query/projection/mail_template_test.go index 553c3683e4..872e260b10 100644 --- a/internal/query/projection/mail_template_test.go +++ b/internal/query/projection/mail_template_test.go @@ -33,7 +33,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }`), ), org.MailTemplateAddedEventMapper), }, - reduce: (&MailTemplateProjection{}).reduceAdded, + reduce: (&mailTemplateProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -60,7 +60,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&MailTemplateProjection{}).reduceChanged, + reduce: (&mailTemplateProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.MailTemplateChangedEventType), @@ -92,7 +92,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&MailTemplateProjection{}).reduceRemoved, + reduce: (&mailTemplateProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.MailTemplateRemovedEventType), @@ -119,7 +119,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&MailTemplateProjection{}).reduceAdded, + reduce: (&mailTemplateProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.MailTemplateAddedEventType), @@ -155,7 +155,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&MailTemplateProjection{}).reduceChanged, + reduce: (&mailTemplateProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.MailTemplateChangedEventType), diff --git a/internal/query/projection/message_text_test.go b/internal/query/projection/message_text_test.go index 0d1183b493..34ea3ad257 100644 --- a/internal/query/projection/message_text_test.go +++ b/internal/query/projection/message_text_test.go @@ -36,7 +36,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -76,7 +76,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -116,7 +116,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -156,7 +156,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -196,7 +196,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -236,7 +236,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -276,7 +276,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextSetEventMapper), }, - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -315,7 +315,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -351,7 +351,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -387,7 +387,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -423,7 +423,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -459,7 +459,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -495,7 +495,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -531,7 +531,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), org.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -556,7 +556,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&MessageTextProjection{}).reduceTemplateRemoved, + reduce: (&messageTextProjection{}).reduceTemplateRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.CustomTextTemplateRemovedEventType), @@ -589,7 +589,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&MessageTextProjection{}).reduceAdded, + reduce: (&messageTextProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.CustomTextSetEventType), @@ -640,7 +640,7 @@ func TestMessageTextProjection_reduces(t *testing.T) { }`), ), instance.CustomTextRemovedEventMapper), }, - reduce: (&MessageTextProjection{}).reduceRemoved, + reduce: (&messageTextProjection{}).reduceRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, diff --git a/internal/query/projection/message_texts.go b/internal/query/projection/message_texts.go index dc5de39ab3..a28e567059 100644 --- a/internal/query/projection/message_texts.go +++ b/internal/query/projection/message_texts.go @@ -33,12 +33,12 @@ const ( MessageTextFooterCol = "footer_text" ) -type MessageTextProjection struct { +type messageTextProjection struct { crdb.StatementHandler } -func NewMessageTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *MessageTextProjection { - p := new(MessageTextProjection) +func newMessageTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *messageTextProjection { + p := new(messageTextProjection) config.ProjectionName = MessageTextTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -66,7 +66,7 @@ func NewMessageTextProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *MessageTextProjection) reducers() []handler.AggregateReducer { +func (p *messageTextProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -105,7 +105,7 @@ func (p *MessageTextProjection) reducers() []handler.AggregateReducer { } } -func (p *MessageTextProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *messageTextProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var templateEvent policy.CustomTextSetEvent switch e := event.(type) { case *org.CustomTextSetEvent: @@ -155,7 +155,7 @@ func (p *MessageTextProjection) reduceAdded(event eventstore.Event) (*handler.St cols), nil } -func (p *MessageTextProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *messageTextProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { var templateEvent policy.CustomTextRemovedEvent switch e := event.(type) { case *org.CustomTextRemovedEvent: @@ -204,7 +204,7 @@ func (p *MessageTextProjection) reduceRemoved(event eventstore.Event) (*handler. ), nil } -func (p *MessageTextProjection) reduceTemplateRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *messageTextProjection) reduceTemplateRemoved(event eventstore.Event) (*handler.Statement, error) { var templateEvent policy.CustomTextTemplateRemovedEvent switch e := event.(type) { case *org.CustomTextTemplateRemovedEvent: diff --git a/internal/query/projection/oidc_settings.go b/internal/query/projection/oidc_settings.go index 5ebaac23d2..1aeff373ec 100644 --- a/internal/query/projection/oidc_settings.go +++ b/internal/query/projection/oidc_settings.go @@ -26,12 +26,12 @@ const ( OIDCSettingsColumnRefreshTokenExpiration = "refresh_token_expiration" ) -type OIDCSettingsProjection struct { +type oidcSettingsProjection struct { crdb.StatementHandler } -func NewOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OIDCSettingsProjection { - p := new(OIDCSettingsProjection) +func newOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandlerConfig) *oidcSettingsProjection { + p := new(oidcSettingsProjection) config.ProjectionName = OIDCSettingsProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -55,7 +55,7 @@ func NewOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandler return p } -func (p *OIDCSettingsProjection) reducers() []handler.AggregateReducer { +func (p *oidcSettingsProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -73,7 +73,7 @@ func (p *OIDCSettingsProjection) reducers() []handler.AggregateReducer { } } -func (p *OIDCSettingsProjection) reduceOIDCSettingsAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *oidcSettingsProjection) reduceOIDCSettingsAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.OIDCSettingsAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-f9nwf", "reduce.wrong.event.type %s", instance.OIDCSettingsAddedEventType) @@ -95,7 +95,7 @@ func (p *OIDCSettingsProjection) reduceOIDCSettingsAdded(event eventstore.Event) ), nil } -func (p *OIDCSettingsProjection) reduceOIDCSettingsChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *oidcSettingsProjection) reduceOIDCSettingsChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.OIDCSettingsChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-8JJ2d", "reduce.wrong.event.type %s", instance.OIDCSettingsChangedEventType) diff --git a/internal/query/projection/oidc_settings_test.go b/internal/query/projection/oidc_settings_test.go index d340e94383..55e482572d 100644 --- a/internal/query/projection/oidc_settings_test.go +++ b/internal/query/projection/oidc_settings_test.go @@ -30,7 +30,7 @@ func TestOIDCSettingsProjection_reduces(t *testing.T) { []byte(`{"accessTokenLifetime": 10000000, "idTokenLifetime": 10000000, "refreshTokenIdleExpiration": 10000000, "refreshTokenExpiration": 10000000}`), ), instance.OIDCSettingsChangedEventMapper), }, - reduce: (&OIDCSettingsProjection{}).reduceOIDCSettingsChanged, + reduce: (&oidcSettingsProjection{}).reduceOIDCSettingsChanged, want: wantReduce{ projection: OIDCSettingsProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -63,7 +63,7 @@ func TestOIDCSettingsProjection_reduces(t *testing.T) { []byte(`{"accessTokenLifetime": 10000000, "idTokenLifetime": 10000000, "refreshTokenIdleExpiration": 10000000, "refreshTokenExpiration": 10000000}`), ), instance.OIDCSettingsAddedEventMapper), }, - reduce: (&OIDCSettingsProjection{}).reduceOIDCSettingsAdded, + reduce: (&oidcSettingsProjection{}).reduceOIDCSettingsAdded, want: wantReduce{ projection: OIDCSettingsProjectionTable, aggregateType: eventstore.AggregateType("instance"), diff --git a/internal/query/projection/org.go b/internal/query/projection/org.go index f13d8c9b15..419d8b46f6 100644 --- a/internal/query/projection/org.go +++ b/internal/query/projection/org.go @@ -25,12 +25,12 @@ const ( OrgColumnDomain = "primary_domain" ) -type OrgProjection struct { +type orgProjection struct { crdb.StatementHandler } -func NewOrgProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OrgProjection { - p := new(OrgProjection) +func newOrgProjection(ctx context.Context, config crdb.StatementHandlerConfig) *orgProjection { + p := new(orgProjection) config.ProjectionName = OrgProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -54,7 +54,7 @@ func NewOrgProjection(ctx context.Context, config crdb.StatementHandlerConfig) * return p } -func (p *OrgProjection) reducers() []handler.AggregateReducer { +func (p *orgProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -84,7 +84,7 @@ func (p *OrgProjection) reducers() []handler.AggregateReducer { } } -func (p *OrgProjection) reduceOrgAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *orgProjection) reduceOrgAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.OrgAddedEventType) @@ -104,7 +104,7 @@ func (p *OrgProjection) reduceOrgAdded(event eventstore.Event) (*handler.Stateme ), nil } -func (p *OrgProjection) reduceOrgChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *orgProjection) reduceOrgChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Bg8oM", "reduce.wrong.event.type %s", org.OrgChangedEventType) @@ -125,7 +125,7 @@ func (p *OrgProjection) reduceOrgChanged(event eventstore.Event) (*handler.State ), nil } -func (p *OrgProjection) reduceOrgDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *orgProjection) reduceOrgDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgDeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-BApK4", "reduce.wrong.event.type %s", org.OrgDeactivatedEventType) @@ -143,7 +143,7 @@ func (p *OrgProjection) reduceOrgDeactivated(event eventstore.Event) (*handler.S ), nil } -func (p *OrgProjection) reduceOrgReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *orgProjection) reduceOrgReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.OrgReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-o37De", "reduce.wrong.event.type %s", org.OrgReactivatedEventType) @@ -161,7 +161,7 @@ func (p *OrgProjection) reduceOrgReactivated(event eventstore.Event) (*handler.S ), nil } -func (p *OrgProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { +func (p *orgProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainPrimarySetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-4TbKT", "reduce.wrong.event.type %s", org.OrgDomainPrimarySetEventType) diff --git a/internal/query/projection/org_domain.go b/internal/query/projection/org_domain.go index 737ebc77e9..2d886d50e2 100644 --- a/internal/query/projection/org_domain.go +++ b/internal/query/projection/org_domain.go @@ -25,12 +25,12 @@ const ( OrgDomainValidationTypeCol = "validation_type" ) -type OrgDomainProjection struct { +type orgDomainProjection struct { crdb.StatementHandler } -func NewOrgDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OrgDomainProjection { - p := new(OrgDomainProjection) +func newOrgDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *orgDomainProjection { + p := new(orgDomainProjection) config.ProjectionName = OrgDomainTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -52,7 +52,7 @@ func NewOrgDomainProjection(ctx context.Context, config crdb.StatementHandlerCon return p } -func (p *OrgDomainProjection) reducers() []handler.AggregateReducer { +func (p *orgDomainProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -82,7 +82,7 @@ func (p *OrgDomainProjection) reducers() []handler.AggregateReducer { } } -func (p *OrgDomainProjection) reduceDomainAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *orgDomainProjection) reduceDomainAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-DM2DI", "reduce.wrong.event.type %s", org.OrgDomainAddedEventType) @@ -103,7 +103,7 @@ func (p *OrgDomainProjection) reduceDomainAdded(event eventstore.Event) (*handle ), nil } -func (p *OrgDomainProjection) reduceDomainVerificationAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *orgDomainProjection) reduceDomainVerificationAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainVerificationAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-EBzyu", "reduce.wrong.event.type %s", org.OrgDomainVerificationAddedEventType) @@ -123,7 +123,7 @@ func (p *OrgDomainProjection) reduceDomainVerificationAdded(event eventstore.Eve ), nil } -func (p *OrgDomainProjection) reduceDomainVerified(event eventstore.Event) (*handler.Statement, error) { +func (p *orgDomainProjection) reduceDomainVerified(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainVerifiedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-3Rvkr", "reduce.wrong.event.type %s", org.OrgDomainVerifiedEventType) @@ -143,7 +143,7 @@ func (p *OrgDomainProjection) reduceDomainVerified(event eventstore.Event) (*han ), nil } -func (p *OrgDomainProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { +func (p *orgDomainProjection) reducePrimaryDomainSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainPrimarySetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-aIuei", "reduce.wrong.event.type %s", org.OrgDomainPrimarySetEventType) @@ -177,7 +177,7 @@ func (p *OrgDomainProjection) reducePrimaryDomainSet(event eventstore.Event) (*h ), nil } -func (p *OrgDomainProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *orgDomainProjection) reduceDomainRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.DomainRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-gh1Mx", "reduce.wrong.event.type %s", org.OrgDomainRemovedEventType) diff --git a/internal/query/projection/org_domain_test.go b/internal/query/projection/org_domain_test.go index bbdcb02d2b..169bb3879d 100644 --- a/internal/query/projection/org_domain_test.go +++ b/internal/query/projection/org_domain_test.go @@ -30,7 +30,7 @@ func TestOrgDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), org.DomainAddedEventMapper), }, - reduce: (&OrgDomainProjection{}).reduceDomainAdded, + reduce: (&orgDomainProjection{}).reduceDomainAdded, want: wantReduce{ projection: OrgDomainTable, aggregateType: eventstore.AggregateType("org"), @@ -65,7 +65,7 @@ func TestOrgDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new", "validationType": 2}`), ), org.DomainVerificationAddedEventMapper), }, - reduce: (&OrgDomainProjection{}).reduceDomainVerificationAdded, + reduce: (&orgDomainProjection{}).reduceDomainVerificationAdded, want: wantReduce{ projection: OrgDomainTable, aggregateType: eventstore.AggregateType("org"), @@ -97,7 +97,7 @@ func TestOrgDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), org.DomainVerifiedEventMapper), }, - reduce: (&OrgDomainProjection{}).reduceDomainVerified, + reduce: (&orgDomainProjection{}).reduceDomainVerified, want: wantReduce{ projection: OrgDomainTable, aggregateType: eventstore.AggregateType("org"), @@ -129,7 +129,7 @@ func TestOrgDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), org.DomainPrimarySetEventMapper), }, - reduce: (&OrgDomainProjection{}).reducePrimaryDomainSet, + reduce: (&orgDomainProjection{}).reducePrimaryDomainSet, want: wantReduce{ projection: OrgDomainTable, aggregateType: eventstore.AggregateType("org"), @@ -172,7 +172,7 @@ func TestOrgDomainProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), org.DomainRemovedEventMapper), }, - reduce: (&OrgDomainProjection{}).reduceDomainRemoved, + reduce: (&orgDomainProjection{}).reduceDomainRemoved, want: wantReduce{ projection: OrgDomainTable, aggregateType: eventstore.AggregateType("org"), diff --git a/internal/query/projection/org_member.go b/internal/query/projection/org_member.go index 6a33398fee..5aac0f95b6 100644 --- a/internal/query/projection/org_member.go +++ b/internal/query/projection/org_member.go @@ -16,12 +16,12 @@ const ( OrgMemberOrgIDCol = "org_id" ) -type OrgMemberProjection struct { +type orgMemberProjection struct { crdb.StatementHandler } -func NewOrgMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OrgMemberProjection { - p := new(OrgMemberProjection) +func newOrgMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *orgMemberProjection { + p := new(orgMemberProjection) config.ProjectionName = OrgMemberProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -35,7 +35,7 @@ func NewOrgMemberProjection(ctx context.Context, config crdb.StatementHandlerCon return p } -func (p *OrgMemberProjection) reducers() []handler.AggregateReducer { +func (p *orgMemberProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -74,7 +74,7 @@ func (p *OrgMemberProjection) reducers() []handler.AggregateReducer { } } -func (p *OrgMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.MemberAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.MemberAddedEventType) @@ -82,7 +82,7 @@ func (p *OrgMemberProjection) reduceAdded(event eventstore.Event) (*handler.Stat return reduceMemberAdded(e.MemberAddedEvent, withMemberCol(OrgMemberOrgIDCol, e.Aggregate().ID)) } -func (p *OrgMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.MemberChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Bg8oM", "reduce.wrong.event.type %s", org.MemberChangedEventType) @@ -90,7 +90,7 @@ func (p *OrgMemberProjection) reduceChanged(event eventstore.Event) (*handler.St return reduceMemberChanged(e.MemberChangedEvent, withMemberCond(OrgMemberOrgIDCol, e.Aggregate().ID)) } -func (p *OrgMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.MemberCascadeRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-4twP2", "reduce.wrong.event.type %s", org.MemberCascadeRemovedEventType) @@ -98,7 +98,7 @@ func (p *OrgMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*han return reduceMemberCascadeRemoved(e.MemberCascadeRemovedEvent, withMemberCond(OrgMemberOrgIDCol, e.Aggregate().ID)) } -func (p *OrgMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*org.MemberRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-avatH", "reduce.wrong.event.type %s", org.MemberRemovedEventType) @@ -109,7 +109,7 @@ func (p *OrgMemberProjection) reduceRemoved(event eventstore.Event) (*handler.St ) } -func (p *OrgMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-eBMqH", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -117,7 +117,7 @@ func (p *OrgMemberProjection) reduceUserRemoved(event eventstore.Event) (*handle return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.Aggregate().ID)) } -func (p *OrgMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *orgMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { //TODO: as soon as org deletion is implemented: // Case: The user has resource owner A and an org has resource owner B // if org B deleted it works diff --git a/internal/query/projection/org_member_test.go b/internal/query/projection/org_member_test.go index 85869cfaad..1a0b7cec17 100644 --- a/internal/query/projection/org_member_test.go +++ b/internal/query/projection/org_member_test.go @@ -35,7 +35,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { }`), ), org.MemberAddedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceAdded, + reduce: (&orgMemberProjection{}).reduceAdded, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -72,7 +72,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { }`), ), org.MemberChangedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceChanged, + reduce: (&orgMemberProjection{}).reduceChanged, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -105,7 +105,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { }`), ), org.MemberCascadeRemovedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceCascadeRemoved, + reduce: (&orgMemberProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -135,7 +135,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { }`), ), org.MemberRemovedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceRemoved, + reduce: (&orgMemberProjection{}).reduceRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -163,7 +163,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceUserRemoved, + reduce: (&orgMemberProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -190,7 +190,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgRemovedEventMapper), }, - reduce: (&OrgMemberProjection{}).reduceOrgRemoved, + reduce: (&orgMemberProjection{}).reduceOrgRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, diff --git a/internal/query/projection/org_test.go b/internal/query/projection/org_test.go index 28559c8b97..a7a3f789ca 100644 --- a/internal/query/projection/org_test.go +++ b/internal/query/projection/org_test.go @@ -30,7 +30,7 @@ func TestOrgProjection_reduces(t *testing.T) { []byte(`{"domain": "domain.new"}`), ), org.DomainPrimarySetEventMapper), }, - reduce: (&OrgProjection{}).reducePrimaryDomainSet, + reduce: (&orgProjection{}).reducePrimaryDomainSet, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), @@ -60,7 +60,7 @@ func TestOrgProjection_reduces(t *testing.T) { nil, ), org.OrgReactivatedEventMapper), }, - reduce: (&OrgProjection{}).reduceOrgReactivated, + reduce: (&orgProjection{}).reduceOrgReactivated, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), @@ -90,7 +90,7 @@ func TestOrgProjection_reduces(t *testing.T) { nil, ), org.OrgDeactivatedEventMapper), }, - reduce: (&OrgProjection{}).reduceOrgDeactivated, + reduce: (&orgProjection{}).reduceOrgDeactivated, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), @@ -120,7 +120,7 @@ func TestOrgProjection_reduces(t *testing.T) { []byte(`{"name": "new name"}`), ), org.OrgChangedEventMapper), }, - reduce: (&OrgProjection{}).reduceOrgChanged, + reduce: (&orgProjection{}).reduceOrgChanged, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), @@ -150,7 +150,7 @@ func TestOrgProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgChangedEventMapper), }, - reduce: (&OrgProjection{}).reduceOrgChanged, + reduce: (&orgProjection{}).reduceOrgChanged, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), @@ -168,7 +168,7 @@ func TestOrgProjection_reduces(t *testing.T) { []byte(`{"name": "name"}`), ), org.OrgAddedEventMapper), }, - reduce: (&OrgProjection{}).reduceOrgAdded, + reduce: (&orgProjection{}).reduceOrgAdded, want: wantReduce{ projection: OrgProjectionTable, aggregateType: eventstore.AggregateType("org"), diff --git a/internal/query/projection/password_age_policy.go b/internal/query/projection/password_age_policy.go index 5a88020c73..affea4eca5 100644 --- a/internal/query/projection/password_age_policy.go +++ b/internal/query/projection/password_age_policy.go @@ -28,12 +28,12 @@ const ( AgePolicyMaxAgeDaysCol = "max_age_days" ) -type PasswordAgeProjection struct { +type passwordAgeProjection struct { crdb.StatementHandler } -func NewPasswordAgeProjection(ctx context.Context, config crdb.StatementHandlerConfig) *PasswordAgeProjection { - p := new(PasswordAgeProjection) +func newPasswordAgeProjection(ctx context.Context, config crdb.StatementHandlerConfig) *passwordAgeProjection { + p := new(passwordAgeProjection) config.ProjectionName = PasswordAgeTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -56,7 +56,7 @@ func NewPasswordAgeProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *PasswordAgeProjection) reducers() []handler.AggregateReducer { +func (p *passwordAgeProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -91,7 +91,7 @@ func (p *PasswordAgeProjection) reducers() []handler.AggregateReducer { } } -func (p *PasswordAgeProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordAgeProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PasswordAgePolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -120,7 +120,7 @@ func (p *PasswordAgeProjection) reduceAdded(event eventstore.Event) (*handler.St }), nil } -func (p *PasswordAgeProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordAgeProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PasswordAgePolicyChangedEvent switch e := event.(type) { case *org.PasswordAgePolicyChangedEvent: @@ -148,7 +148,7 @@ func (p *PasswordAgeProjection) reduceChanged(event eventstore.Event) (*handler. }), nil } -func (p *PasswordAgeProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordAgeProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.PasswordAgePolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-EtHWB", "reduce.wrong.event.type %s", org.PasswordAgePolicyRemovedEventType) diff --git a/internal/query/projection/password_age_policy_test.go b/internal/query/projection/password_age_policy_test.go index 1a2e9074d1..a92c727675 100644 --- a/internal/query/projection/password_age_policy_test.go +++ b/internal/query/projection/password_age_policy_test.go @@ -34,7 +34,7 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }`), ), org.PasswordAgePolicyAddedEventMapper), }, - reduce: (&PasswordAgeProjection{}).reduceAdded, + reduce: (&passwordAgeProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -63,7 +63,7 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&PasswordAgeProjection{}).reduceChanged, + reduce: (&passwordAgeProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.PasswordAgePolicyChangedEventType), @@ -97,7 +97,7 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&PasswordAgeProjection{}).reduceRemoved, + reduce: (&passwordAgeProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.PasswordAgePolicyRemovedEventType), @@ -124,7 +124,7 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&PasswordAgeProjection{}).reduceAdded, + reduce: (&passwordAgeProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.PasswordAgePolicyAddedEventType), @@ -163,7 +163,7 @@ func TestPasswordAgeProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&PasswordAgeProjection{}).reduceChanged, + reduce: (&passwordAgeProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.PasswordAgePolicyChangedEventType), diff --git a/internal/query/projection/password_complexity_policy.go b/internal/query/projection/password_complexity_policy.go index 4cd8ad3939..a31af8e169 100644 --- a/internal/query/projection/password_complexity_policy.go +++ b/internal/query/projection/password_complexity_policy.go @@ -31,12 +31,12 @@ const ( ComplexityPolicyHasNumberCol = "has_number" ) -type PasswordComplexityProjection struct { +type passwordComplexityProjection struct { crdb.StatementHandler } -func NewPasswordComplexityProjection(ctx context.Context, config crdb.StatementHandlerConfig) *PasswordComplexityProjection { - p := new(PasswordComplexityProjection) +func newPasswordComplexityProjection(ctx context.Context, config crdb.StatementHandlerConfig) *passwordComplexityProjection { + p := new(passwordComplexityProjection) config.ProjectionName = PasswordComplexityTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -62,7 +62,7 @@ func NewPasswordComplexityProjection(ctx context.Context, config crdb.StatementH return p } -func (p *PasswordComplexityProjection) reducers() []handler.AggregateReducer { +func (p *passwordComplexityProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -97,7 +97,7 @@ func (p *PasswordComplexityProjection) reducers() []handler.AggregateReducer { } } -func (p *PasswordComplexityProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordComplexityProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PasswordComplexityPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -129,7 +129,7 @@ func (p *PasswordComplexityProjection) reduceAdded(event eventstore.Event) (*han }), nil } -func (p *PasswordComplexityProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordComplexityProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PasswordComplexityPolicyChangedEvent switch e := event.(type) { case *org.PasswordComplexityPolicyChangedEvent: @@ -166,7 +166,7 @@ func (p *PasswordComplexityProjection) reduceChanged(event eventstore.Event) (*h }), nil } -func (p *PasswordComplexityProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *passwordComplexityProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.PasswordComplexityPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-wttCd", "reduce.wrong.event.type %s", org.PasswordComplexityPolicyRemovedEventType) diff --git a/internal/query/projection/password_complexity_policy_test.go b/internal/query/projection/password_complexity_policy_test.go index 317112f025..4d8dddbfeb 100644 --- a/internal/query/projection/password_complexity_policy_test.go +++ b/internal/query/projection/password_complexity_policy_test.go @@ -37,7 +37,7 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }`), ), org.PasswordComplexityPolicyAddedEventMapper), }, - reduce: (&PasswordComplexityProjection{}).reduceAdded, + reduce: (&passwordComplexityProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -69,7 +69,7 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&PasswordComplexityProjection{}).reduceChanged, + reduce: (&passwordComplexityProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.PasswordComplexityPolicyChangedEventType), @@ -109,7 +109,7 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&PasswordComplexityProjection{}).reduceRemoved, + reduce: (&passwordComplexityProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.PasswordComplexityPolicyRemovedEventType), @@ -136,7 +136,7 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&PasswordComplexityProjection{}).reduceAdded, + reduce: (&passwordComplexityProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.PasswordComplexityPolicyAddedEventType), @@ -181,7 +181,7 @@ func TestPasswordComplexityProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&PasswordComplexityProjection{}).reduceChanged, + reduce: (&passwordComplexityProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.PasswordComplexityPolicyChangedEventType), diff --git a/internal/query/projection/privacy_policy.go b/internal/query/projection/privacy_policy.go index 7cd3460fcc..848d73e222 100644 --- a/internal/query/projection/privacy_policy.go +++ b/internal/query/projection/privacy_policy.go @@ -29,12 +29,12 @@ const ( PrivacyPolicyHelpLinkCol = "help_link" ) -type PrivacyPolicyProjection struct { +type privacyPolicyProjection struct { crdb.StatementHandler } -func NewPrivacyPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *PrivacyPolicyProjection { - p := new(PrivacyPolicyProjection) +func newPrivacyPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *privacyPolicyProjection { + p := new(privacyPolicyProjection) config.ProjectionName = PrivacyPolicyTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -58,7 +58,7 @@ func NewPrivacyPolicyProjection(ctx context.Context, config crdb.StatementHandle return p } -func (p *PrivacyPolicyProjection) reducers() []handler.AggregateReducer { +func (p *privacyPolicyProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: org.AggregateType, @@ -93,7 +93,7 @@ func (p *PrivacyPolicyProjection) reducers() []handler.AggregateReducer { } } -func (p *PrivacyPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *privacyPolicyProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PrivacyPolicyAddedEvent var isDefault bool switch e := event.(type) { @@ -123,7 +123,7 @@ func (p *PrivacyPolicyProjection) reduceAdded(event eventstore.Event) (*handler. }), nil } -func (p *PrivacyPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *privacyPolicyProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var policyEvent policy.PrivacyPolicyChangedEvent switch e := event.(type) { case *org.PrivacyPolicyChangedEvent: @@ -154,7 +154,7 @@ func (p *PrivacyPolicyProjection) reduceChanged(event eventstore.Event) (*handle }), nil } -func (p *PrivacyPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *privacyPolicyProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { policyEvent, ok := event.(*org.PrivacyPolicyRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-FvtGO", "reduce.wrong.event.type %s", org.PrivacyPolicyRemovedEventType) diff --git a/internal/query/projection/privacy_policy_test.go b/internal/query/projection/privacy_policy_test.go index 4a28e62aec..c4bb0dc8d1 100644 --- a/internal/query/projection/privacy_policy_test.go +++ b/internal/query/projection/privacy_policy_test.go @@ -35,7 +35,7 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }`), ), org.PrivacyPolicyAddedEventMapper), }, - reduce: (&PrivacyPolicyProjection{}).reduceAdded, + reduce: (&privacyPolicyProjection{}).reduceAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("org"), sequence: 15, @@ -65,7 +65,7 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceChanged", - reduce: (&PrivacyPolicyProjection{}).reduceChanged, + reduce: (&privacyPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(org.PrivacyPolicyChangedEventType), @@ -101,7 +101,7 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, { name: "org.reduceRemoved", - reduce: (&PrivacyPolicyProjection{}).reduceRemoved, + reduce: (&privacyPolicyProjection{}).reduceRemoved, args: args{ event: getEvent(testEvent( repository.EventType(org.PrivacyPolicyRemovedEventType), @@ -128,7 +128,7 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceAdded", - reduce: (&PrivacyPolicyProjection{}).reduceAdded, + reduce: (&privacyPolicyProjection{}).reduceAdded, args: args{ event: getEvent(testEvent( repository.EventType(instance.PrivacyPolicyAddedEventType), @@ -169,7 +169,7 @@ func TestPrivacyPolicyProjection_reduces(t *testing.T) { }, { name: "instance.reduceChanged", - reduce: (&PrivacyPolicyProjection{}).reduceChanged, + reduce: (&privacyPolicyProjection{}).reduceChanged, args: args{ event: getEvent(testEvent( repository.EventType(instance.PrivacyPolicyChangedEventType), diff --git a/internal/query/projection/project.go b/internal/query/projection/project.go index c075e67dea..d24b55a3bf 100644 --- a/internal/query/projection/project.go +++ b/internal/query/projection/project.go @@ -28,12 +28,12 @@ const ( ProjectColumnPrivateLabelingSetting = "private_labeling_setting" ) -type ProjectProjection struct { +type projectProjection struct { crdb.StatementHandler } -func NewProjectProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ProjectProjection { - p := new(ProjectProjection) +func newProjectProjection(ctx context.Context, config crdb.StatementHandlerConfig) *projectProjection { + p := new(projectProjection) config.ProjectionName = ProjectProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -59,7 +59,7 @@ func NewProjectProjection(ctx context.Context, config crdb.StatementHandlerConfi return p } -func (p *ProjectProjection) reducers() []handler.AggregateReducer { +func (p *projectProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -89,7 +89,7 @@ func (p *ProjectProjection) reducers() []handler.AggregateReducer { } } -func (p *ProjectProjection) reduceProjectAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *projectProjection) reduceProjectAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-l000S", "reduce.wrong.event.type %s", project.ProjectAddedType) @@ -113,7 +113,7 @@ func (p *ProjectProjection) reduceProjectAdded(event eventstore.Event) (*handler ), nil } -func (p *ProjectProjection) reduceProjectChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectProjection) reduceProjectChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectChangeEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s00Fs", "reduce.wrong.event.type %s", project.ProjectChangedType) @@ -149,7 +149,7 @@ func (p *ProjectProjection) reduceProjectChanged(event eventstore.Event) (*handl ), nil } -func (p *ProjectProjection) reduceProjectDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *projectProjection) reduceProjectDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectDeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-LLp0f", "reduce.wrong.event.type %s", project.ProjectDeactivatedType) @@ -167,7 +167,7 @@ func (p *ProjectProjection) reduceProjectDeactivated(event eventstore.Event) (*h ), nil } -func (p *ProjectProjection) reduceProjectReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *projectProjection) reduceProjectReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-9J98f", "reduce.wrong.event.type %s", project.ProjectReactivatedType) @@ -185,7 +185,7 @@ func (p *ProjectProjection) reduceProjectReactivated(event eventstore.Event) (*h ), nil } -func (p *ProjectProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-5N9fs", "reduce.wrong.event.type %s", project.ProjectRemovedType) diff --git a/internal/query/projection/project_grant.go b/internal/query/projection/project_grant.go index 7100f6895f..40b2945f9d 100644 --- a/internal/query/projection/project_grant.go +++ b/internal/query/projection/project_grant.go @@ -28,12 +28,12 @@ const ( ProjectGrantColumnRoleKeys = "granted_role_keys" ) -type ProjectGrantProjection struct { +type projectGrantProjection struct { crdb.StatementHandler } -func NewProjectGrantProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ProjectGrantProjection { - p := new(ProjectGrantProjection) +func newProjectGrantProjection(ctx context.Context, config crdb.StatementHandlerConfig) *projectGrantProjection { + p := new(projectGrantProjection) config.ProjectionName = ProjectGrantProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -58,7 +58,7 @@ func NewProjectGrantProjection(ctx context.Context, config crdb.StatementHandler return p } -func (p *ProjectGrantProjection) reducers() []handler.AggregateReducer { +func (p *projectGrantProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -96,7 +96,7 @@ func (p *ProjectGrantProjection) reducers() []handler.AggregateReducer { } } -func (p *ProjectGrantProjection) reduceProjectGrantAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-g92Fg", "reduce.wrong.event.type %s", project.GrantAddedType) @@ -118,7 +118,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantAdded(event eventstore.Event) ), nil } -func (p *ProjectGrantProjection) reduceProjectGrantChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-g0fg4", "reduce.wrong.event.type %s", project.GrantChangedType) @@ -137,7 +137,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantChanged(event eventstore.Even ), nil } -func (p *ProjectGrantProjection) reduceProjectGrantCascadeChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantCascadeChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantCascadeChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ll9Ts", "reduce.wrong.event.type %s", project.GrantCascadeChangedType) @@ -156,7 +156,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantCascadeChanged(event eventsto ), nil } -func (p *ProjectGrantProjection) reduceProjectGrantDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantDeactivateEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-0fj2f", "reduce.wrong.event.type %s", project.GrantDeactivatedType) @@ -175,7 +175,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantDeactivated(event eventstore. ), nil } -func (p *ProjectGrantProjection) reduceProjectGrantReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2M0ve", "reduce.wrong.event.type %s", project.GrantReactivatedType) @@ -194,7 +194,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantReactivated(event eventstore. ), nil } -func (p *ProjectGrantProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-o0w4f", "reduce.wrong.event.type %s", project.GrantRemovedType) @@ -208,7 +208,7 @@ func (p *ProjectGrantProjection) reduceProjectGrantRemoved(event eventstore.Even ), nil } -func (p *ProjectGrantProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-gn9rw", "reduce.wrong.event.type %s", project.ProjectRemovedType) diff --git a/internal/query/projection/project_grant_member.go b/internal/query/projection/project_grant_member.go index ea5e0501c5..27873c3b63 100644 --- a/internal/query/projection/project_grant_member.go +++ b/internal/query/projection/project_grant_member.go @@ -19,12 +19,12 @@ const ( ProjectGrantMemberGrantIDCol = "grant_id" ) -type ProjectGrantMemberProjection struct { +type projectGrantMemberProjection struct { crdb.StatementHandler } -func NewProjectGrantMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ProjectGrantMemberProjection { - p := new(ProjectGrantMemberProjection) +func newProjectGrantMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *projectGrantMemberProjection { + p := new(projectGrantMemberProjection) config.ProjectionName = ProjectGrantMemberProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -42,7 +42,7 @@ func NewProjectGrantMemberProjection(ctx context.Context, config crdb.StatementH return p } -func (p *ProjectGrantMemberProjection) reducers() []handler.AggregateReducer { +func (p *projectGrantMemberProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -94,7 +94,7 @@ func (p *ProjectGrantMemberProjection) reducers() []handler.AggregateReducer { } } -func (p *ProjectGrantMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantMemberAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-0EBQf", "reduce.wrong.event.type %s", project.GrantMemberAddedType) @@ -106,7 +106,7 @@ func (p *ProjectGrantMemberProjection) reduceAdded(event eventstore.Event) (*han ) } -func (p *ProjectGrantMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantMemberChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-YX5Tk", "reduce.wrong.event.type %s", project.GrantMemberChangedType) @@ -118,7 +118,7 @@ func (p *ProjectGrantMemberProjection) reduceChanged(event eventstore.Event) (*h ) } -func (p *ProjectGrantMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantMemberCascadeRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-adnHG", "reduce.wrong.event.type %s", project.GrantMemberCascadeRemovedType) @@ -130,7 +130,7 @@ func (p *ProjectGrantMemberProjection) reduceCascadeRemoved(event eventstore.Eve ) } -func (p *ProjectGrantMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantMemberRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-MGNnA", "reduce.wrong.event.type %s", project.GrantMemberRemovedType) @@ -142,7 +142,7 @@ func (p *ProjectGrantMemberProjection) reduceRemoved(event eventstore.Event) (*h ) } -func (p *ProjectGrantMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-rufJr", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -150,7 +150,7 @@ func (p *ProjectGrantMemberProjection) reduceUserRemoved(event eventstore.Event) return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.Aggregate().ID)) } -func (p *ProjectGrantMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { //TODO: as soon as org deletion is implemented: // Case: The user has resource owner A and project has resource owner B // if org B deleted it works @@ -162,7 +162,7 @@ func (p *ProjectGrantMemberProjection) reduceOrgRemoved(event eventstore.Event) return reduceMemberRemoved(e, withMemberCond(MemberResourceOwner, e.Aggregate().ID)) } -func (p *ProjectGrantMemberProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-JLODy", "reduce.wrong.event.type %s", project.ProjectRemovedType) @@ -170,7 +170,7 @@ func (p *ProjectGrantMemberProjection) reduceProjectRemoved(event eventstore.Eve return reduceMemberRemoved(e, withMemberCond(ProjectGrantMemberProjectIDCol, e.Aggregate().ID)) } -func (p *ProjectGrantMemberProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectGrantMemberProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-D1J9R", "reduce.wrong.event.type %s", project.GrantRemovedType) diff --git a/internal/query/projection/project_grant_member_test.go b/internal/query/projection/project_grant_member_test.go index cc5aa737a8..b3b4bcd826 100644 --- a/internal/query/projection/project_grant_member_test.go +++ b/internal/query/projection/project_grant_member_test.go @@ -37,7 +37,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { }`), ), project.GrantMemberAddedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceAdded, + reduce: (&projectGrantMemberProjection{}).reduceAdded, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -76,7 +76,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { }`), ), project.GrantMemberChangedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceChanged, + reduce: (&projectGrantMemberProjection{}).reduceChanged, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -111,7 +111,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { }`), ), project.GrantMemberCascadeRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceCascadeRemoved, + reduce: (&projectGrantMemberProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -143,7 +143,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { }`), ), project.GrantMemberRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceRemoved, + reduce: (&projectGrantMemberProjection{}).reduceRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -172,7 +172,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceUserRemoved, + reduce: (&projectGrantMemberProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -199,7 +199,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceOrgRemoved, + reduce: (&projectGrantMemberProjection{}).reduceOrgRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -226,7 +226,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), project.ProjectRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceProjectRemoved, + reduce: (&projectGrantMemberProjection{}).reduceProjectRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -253,7 +253,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id"}`), ), project.GrantRemovedEventMapper), }, - reduce: (&ProjectGrantMemberProjection{}).reduceProjectGrantRemoved, + reduce: (&projectGrantMemberProjection{}).reduceProjectGrantRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, diff --git a/internal/query/projection/project_grant_test.go b/internal/query/projection/project_grant_test.go index 0ed1566e57..69ca4bbff4 100644 --- a/internal/query/projection/project_grant_test.go +++ b/internal/query/projection/project_grant_test.go @@ -32,7 +32,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { nil, ), project.ProjectRemovedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectRemoved, + reduce: (&projectGrantProjection{}).reduceProjectRemoved, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -59,7 +59,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id"}`), ), project.GrantRemovedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantRemoved, + reduce: (&projectGrantProjection{}).reduceProjectGrantRemoved, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -87,7 +87,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id"}`), ), project.GrantReactivatedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantReactivated, + reduce: (&projectGrantProjection{}).reduceProjectGrantReactivated, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -118,7 +118,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id"}`), ), project.GrantDeactivateEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantDeactivated, + reduce: (&projectGrantProjection{}).reduceProjectGrantDeactivated, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -149,7 +149,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id", "roleKeys": ["admin", "user"] }`), ), project.GrantChangedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantChanged, + reduce: (&projectGrantProjection{}).reduceProjectGrantChanged, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -180,7 +180,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id", "roleKeys": ["admin", "user"] }`), ), project.GrantCascadeChangedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantCascadeChanged, + reduce: (&projectGrantProjection{}).reduceProjectGrantCascadeChanged, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -211,7 +211,7 @@ func TestProjectGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grant-id", "grantedOrgId": "granted-org-id", "roleKeys": ["admin", "user"] }`), ), project.GrantAddedEventMapper), }, - reduce: (&ProjectGrantProjection{}).reduceProjectGrantAdded, + reduce: (&projectGrantProjection{}).reduceProjectGrantAdded, want: wantReduce{ projection: ProjectGrantProjectionTable, aggregateType: eventstore.AggregateType("project"), diff --git a/internal/query/projection/project_member.go b/internal/query/projection/project_member.go index 96319c8bb0..cb2f01deef 100644 --- a/internal/query/projection/project_member.go +++ b/internal/query/projection/project_member.go @@ -18,12 +18,12 @@ const ( ProjectMemberProjectIDCol = "project_id" ) -type ProjectMemberProjection struct { +type projectMemberProjection struct { crdb.StatementHandler } -func NewProjectMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ProjectMemberProjection { - p := new(ProjectMemberProjection) +func newProjectMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *projectMemberProjection { + p := new(projectMemberProjection) config.ProjectionName = ProjectMemberProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -40,7 +40,7 @@ func NewProjectMemberProjection(ctx context.Context, config crdb.StatementHandle return p } -func (p *ProjectMemberProjection) reducers() []handler.AggregateReducer { +func (p *projectMemberProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -88,7 +88,7 @@ func (p *ProjectMemberProjection) reducers() []handler.AggregateReducer { } } -func (p *ProjectMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.MemberAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-bgx5Q", "reduce.wrong.event.type %s", project.MemberAddedType) @@ -99,7 +99,7 @@ func (p *ProjectMemberProjection) reduceAdded(event eventstore.Event) (*handler. ) } -func (p *ProjectMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.MemberChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-90WJ1", "reduce.wrong.event.type %s", project.MemberChangedType) @@ -110,7 +110,7 @@ func (p *ProjectMemberProjection) reduceChanged(event eventstore.Event) (*handle ) } -func (p *ProjectMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceCascadeRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.MemberCascadeRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-aGd43", "reduce.wrong.event.type %s", project.MemberCascadeRemovedType) @@ -121,7 +121,7 @@ func (p *ProjectMemberProjection) reduceCascadeRemoved(event eventstore.Event) ( ) } -func (p *ProjectMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.MemberRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-eJZPh", "reduce.wrong.event.type %s", project.MemberRemovedType) @@ -132,7 +132,7 @@ func (p *ProjectMemberProjection) reduceRemoved(event eventstore.Event) (*handle ) } -func (p *ProjectMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-aYA60", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -140,7 +140,7 @@ func (p *ProjectMemberProjection) reduceUserRemoved(event eventstore.Event) (*ha return reduceMemberRemoved(e, withMemberCond(MemberUserIDCol, e.Aggregate().ID)) } -func (p *ProjectMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceOrgRemoved(event eventstore.Event) (*handler.Statement, error) { //TODO: as soon as org deletion is implemented: // Case: The user has resource owner A and project has resource owner B // if org B deleted it works @@ -152,7 +152,7 @@ func (p *ProjectMemberProjection) reduceOrgRemoved(event eventstore.Event) (*han return reduceMemberRemoved(e, withMemberCond(MemberResourceOwner, e.Aggregate().ID)) } -func (p *ProjectMemberProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectMemberProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-NGUEL", "reduce.wrong.event.type %s", project.ProjectRemovedType) diff --git a/internal/query/projection/project_member_test.go b/internal/query/projection/project_member_test.go index 3196e337e3..665014a7e3 100644 --- a/internal/query/projection/project_member_test.go +++ b/internal/query/projection/project_member_test.go @@ -36,7 +36,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { }`), ), project.MemberAddedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceAdded, + reduce: (&projectMemberProjection{}).reduceAdded, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -73,7 +73,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { }`), ), project.MemberChangedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceChanged, + reduce: (&projectMemberProjection{}).reduceChanged, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -106,7 +106,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { }`), ), project.MemberCascadeRemovedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceCascadeRemoved, + reduce: (&projectMemberProjection{}).reduceCascadeRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -136,7 +136,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { }`), ), project.MemberRemovedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceRemoved, + reduce: (&projectMemberProjection{}).reduceRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -164,7 +164,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceUserRemoved, + reduce: (&projectMemberProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -191,7 +191,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), org.OrgRemovedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceOrgRemoved, + reduce: (&projectMemberProjection{}).reduceOrgRemoved, want: wantReduce{ aggregateType: org.AggregateType, sequence: 15, @@ -218,7 +218,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) { []byte(`{}`), ), project.ProjectRemovedEventMapper), }, - reduce: (&ProjectMemberProjection{}).reduceProjectRemoved, + reduce: (&projectMemberProjection{}).reduceProjectRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, diff --git a/internal/query/projection/project_role.go b/internal/query/projection/project_role.go index fab707660b..e32a4b58ac 100644 --- a/internal/query/projection/project_role.go +++ b/internal/query/projection/project_role.go @@ -24,12 +24,12 @@ const ( ProjectRoleColumnGroupName = "group_name" ) -type ProjectRoleProjection struct { +type projectRoleProjection struct { crdb.StatementHandler } -func NewProjectRoleProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ProjectRoleProjection { - p := new(ProjectRoleProjection) +func newProjectRoleProjection(ctx context.Context, config crdb.StatementHandlerConfig) *projectRoleProjection { + p := new(projectRoleProjection) config.ProjectionName = ProjectRoleProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -51,7 +51,7 @@ func NewProjectRoleProjection(ctx context.Context, config crdb.StatementHandlerC return p } -func (p *ProjectRoleProjection) reducers() []handler.AggregateReducer { +func (p *projectRoleProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: project.AggregateType, @@ -77,7 +77,7 @@ func (p *ProjectRoleProjection) reducers() []handler.AggregateReducer { } } -func (p *ProjectRoleProjection) reduceProjectRoleAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *projectRoleProjection) reduceProjectRoleAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.RoleAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-g92Fg", "reduce.wrong.event.type %s", project.RoleAddedType) @@ -98,7 +98,7 @@ func (p *ProjectRoleProjection) reduceProjectRoleAdded(event eventstore.Event) ( ), nil } -func (p *ProjectRoleProjection) reduceProjectRoleChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *projectRoleProjection) reduceProjectRoleChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.RoleChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sM0f", "reduce.wrong.event.type %s", project.GrantChangedType) @@ -125,7 +125,7 @@ func (p *ProjectRoleProjection) reduceProjectRoleChanged(event eventstore.Event) ), nil } -func (p *ProjectRoleProjection) reduceProjectRoleRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectRoleProjection) reduceProjectRoleRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.RoleRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-L0fJf", "reduce.wrong.event.type %s", project.GrantRemovedType) @@ -139,7 +139,7 @@ func (p *ProjectRoleProjection) reduceProjectRoleRemoved(event eventstore.Event) ), nil } -func (p *ProjectRoleProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *projectRoleProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.ProjectRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-l0geG", "reduce.wrong.event.type %s", project.ProjectRemovedType) diff --git a/internal/query/projection/project_role_test.go b/internal/query/projection/project_role_test.go index f476535e6a..a2cf0f67e9 100644 --- a/internal/query/projection/project_role_test.go +++ b/internal/query/projection/project_role_test.go @@ -29,7 +29,7 @@ func TestProjectRoleProjection_reduces(t *testing.T) { nil, ), project.ProjectRemovedEventMapper), }, - reduce: (&ProjectRoleProjection{}).reduceProjectRemoved, + reduce: (&projectRoleProjection{}).reduceProjectRemoved, want: wantReduce{ projection: ProjectRoleProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -56,7 +56,7 @@ func TestProjectRoleProjection_reduces(t *testing.T) { []byte(`{"key": "key"}`), ), project.RoleRemovedEventMapper), }, - reduce: (&ProjectRoleProjection{}).reduceProjectRoleRemoved, + reduce: (&projectRoleProjection{}).reduceProjectRoleRemoved, want: wantReduce{ projection: ProjectRoleProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -84,7 +84,7 @@ func TestProjectRoleProjection_reduces(t *testing.T) { []byte(`{"key": "key", "displayName": "New Key", "group": "New Group"}`), ), project.RoleChangedEventMapper), }, - reduce: (&ProjectRoleProjection{}).reduceProjectRoleChanged, + reduce: (&projectRoleProjection{}).reduceProjectRoleChanged, want: wantReduce{ projection: ProjectRoleProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -116,7 +116,7 @@ func TestProjectRoleProjection_reduces(t *testing.T) { []byte(`{}`), ), project.RoleChangedEventMapper), }, - reduce: (&ProjectRoleProjection{}).reduceProjectRoleChanged, + reduce: (&projectRoleProjection{}).reduceProjectRoleChanged, want: wantReduce{ projection: ProjectRoleProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -134,7 +134,7 @@ func TestProjectRoleProjection_reduces(t *testing.T) { []byte(`{"key": "key", "displayName": "Key", "group": "Group"}`), ), project.RoleAddedEventMapper), }, - reduce: (&ProjectRoleProjection{}).reduceProjectRoleAdded, + reduce: (&projectRoleProjection{}).reduceProjectRoleAdded, want: wantReduce{ projection: ProjectRoleProjectionTable, aggregateType: eventstore.AggregateType("project"), diff --git a/internal/query/projection/project_test.go b/internal/query/projection/project_test.go index b04b56c524..6f5e9d9c68 100644 --- a/internal/query/projection/project_test.go +++ b/internal/query/projection/project_test.go @@ -30,7 +30,7 @@ func TestProjectProjection_reduces(t *testing.T) { nil, ), project.ProjectRemovedEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectRemoved, + reduce: (&projectProjection{}).reduceProjectRemoved, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -57,7 +57,7 @@ func TestProjectProjection_reduces(t *testing.T) { nil, ), project.ProjectReactivatedEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectReactivated, + reduce: (&projectProjection{}).reduceProjectReactivated, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -87,7 +87,7 @@ func TestProjectProjection_reduces(t *testing.T) { nil, ), project.ProjectDeactivatedEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectDeactivated, + reduce: (&projectProjection{}).reduceProjectDeactivated, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -117,7 +117,7 @@ func TestProjectProjection_reduces(t *testing.T) { []byte(`{"name": "new name", "projectRoleAssertion": true, "projectRoleCheck": true, "hasProjectCheck": true, "privateLabelingSetting": 1}`), ), project.ProjectChangeEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectChanged, + reduce: (&projectProjection{}).reduceProjectChanged, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -151,7 +151,7 @@ func TestProjectProjection_reduces(t *testing.T) { []byte(`{}`), ), project.ProjectChangeEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectChanged, + reduce: (&projectProjection{}).reduceProjectChanged, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), @@ -169,7 +169,7 @@ func TestProjectProjection_reduces(t *testing.T) { []byte(`{"name": "name", "projectRoleAssertion": true, "projectRoleCheck": true, "hasProjectCheck": true, "privateLabelingSetting": 1}`), ), project.ProjectAddedEventMapper), }, - reduce: (&ProjectProjection{}).reduceProjectAdded, + reduce: (&projectProjection{}).reduceProjectAdded, want: wantReduce{ projection: ProjectProjectionTable, aggregateType: eventstore.AggregateType("project"), diff --git a/internal/query/projection/projection.go b/internal/query/projection/projection.go index ac5246f895..4e377b8628 100644 --- a/internal/query/projection/projection.go +++ b/internal/query/projection/projection.go @@ -17,6 +17,49 @@ const ( FailedEventsTable = "projections.failed_events" ) +var ( + OrgProjection *orgProjection + ActionProjection *actionProjection + FlowProjection *flowProjection + ProjectProjection *projectProjection + PasswordComplexityProjection *passwordComplexityProjection + PasswordAgeProjection *passwordAgeProjection + LockoutPolicyProjection *lockoutPolicyProjection + PrivacyPolicyProjection *privacyPolicyProjection + DomainPolicyProjection *domainPolicyProjection + LabelPolicyProjection *labelPolicyProjection + ProjectGrantProjection *projectGrantProjection + ProjectRoleProjection *projectRoleProjection + OrgDomainProjection *orgDomainProjection + LoginPolicyProjection *loginPolicyProjection + IDPProjection *idpProjection + AppProjection *appProjection + IDPUserLinkProjection *idpUserLinkProjection + IDPLoginPolicyLinkProjection *idpLoginPolicyLinkProjection + MailTemplateProjection *mailTemplateProjection + MessageTextProjection *messageTextProjection + CustomTextProjection *customTextProjection + UserProjection *userProjection + LoginNameProjection *loginNameProjection + OrgMemberProjection *orgMemberProjection + InstanceDomainProjection *instanceDomainProjection + InstanceMemberProjection *instanceMemberProjection + ProjectMemberProjection *projectMemberProjection + ProjectGrantMemberProjection *projectGrantMemberProjection + AuthNKeyProjection *authNKeyProjection + PersonalAccessTokenProjection *personalAccessTokenProjection + UserGrantProjection *userGrantProjection + UserMetadataProjection *userMetadataProjection + UserAuthMethodProjection *userAuthMethodProjection + InstanceProjection *instanceProjection + SecretGeneratorProjection *secretGeneratorProjection + SMTPConfigProjection *smtpConfigProjection + SMSConfigProjection *smsConfigProjection + OIDCSettingsProjection *oidcSettingsProjection + DebugNotificationProviderProjection *debugNotificationProviderProjection + KeyProjection *keyProjection +) + func Start(ctx context.Context, sqlClient *sql.DB, es *eventstore.Eventstore, config Config, keyEncryptionAlgorithm crypto.EncryptionAlgorithm) error { projectionConfig := crdb.StatementHandlerConfig{ ProjectionHandlerConfig: handler.ProjectionHandlerConfig{ @@ -34,46 +77,46 @@ func Start(ctx context.Context, sqlClient *sql.DB, es *eventstore.Eventstore, co BulkLimit: config.BulkLimit, } - NewOrgProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["orgs"])) - NewActionProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["actions"])) - NewFlowProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["flows"])) - NewProjectProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["projects"])) - NewPasswordComplexityProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["password_complexities"])) - 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"])) - 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"])) - NewOrgDomainProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_domains"])) - NewLoginPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_policies"])) - NewIDPProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idps"])) - NewAppProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["apps"])) - NewIDPUserLinkProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idp_user_links"])) - NewIDPLoginPolicyLinkProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idp_login_policy_links"])) - NewMailTemplateProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["mail_templates"])) - NewMessageTextProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["message_texts"])) - NewCustomTextProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["custom_texts"])) - NewUserProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["users"])) - NewLoginNameProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_names"])) - NewOrgMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_members"])) - NewInstanceDomainProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["instance_domains"])) - 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"])) - NewPersonalAccessTokenProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["personal_access_tokens"])) - NewUserGrantProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_grants"])) - NewUserMetadataProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_metadata"])) - NewUserAuthMethodProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_auth_method"])) - NewInstanceProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["instances"])) - NewSecretGeneratorProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["secret_generators"])) - NewSMTPConfigProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["smtp_configs"])) - NewSMSConfigProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["sms_config"])) - NewOIDCSettingsProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["oidc_settings"])) - NewDebugNotificationProviderProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["debug_notification_provider"])) - NewKeyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["keys"]), keyEncryptionAlgorithm) + OrgProjection = newOrgProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["orgs"])) + ActionProjection = newActionProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["actions"])) + FlowProjection = newFlowProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["flows"])) + ProjectProjection = newProjectProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["projects"])) + PasswordComplexityProjection = newPasswordComplexityProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["password_complexities"])) + PasswordAgeProjection = newPasswordAgeProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["password_age_policy"])) + LockoutPolicyProjection = newLockoutPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["lockout_policy"])) + PrivacyPolicyProjection = newPrivacyPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["privacy_policy"])) + DomainPolicyProjection = newDomainPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_iam_policy"])) + LabelPolicyProjection = newLabelPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["label_policy"])) + ProjectGrantProjection = newProjectGrantProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_grants"])) + ProjectRoleProjection = newProjectRoleProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_roles"])) + OrgDomainProjection = newOrgDomainProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_domains"])) + LoginPolicyProjection = newLoginPolicyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_policies"])) + IDPProjection = newIDPProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idps"])) + AppProjection = newAppProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["apps"])) + IDPUserLinkProjection = newIDPUserLinkProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idp_user_links"])) + IDPLoginPolicyLinkProjection = newIDPLoginPolicyLinkProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["idp_login_policy_links"])) + MailTemplateProjection = newMailTemplateProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["mail_templates"])) + MessageTextProjection = newMessageTextProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["message_texts"])) + CustomTextProjection = newCustomTextProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["custom_texts"])) + UserProjection = newUserProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["users"])) + LoginNameProjection = newLoginNameProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_names"])) + OrgMemberProjection = newOrgMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_members"])) + InstanceDomainProjection = newInstanceDomainProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["instance_domains"])) + InstanceMemberProjection = newInstanceMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["iam_members"])) + ProjectMemberProjection = newProjectMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_members"])) + ProjectGrantMemberProjection = newProjectGrantMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_grant_members"])) + AuthNKeyProjection = newAuthNKeyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["authn_keys"])) + PersonalAccessTokenProjection = newPersonalAccessTokenProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["personal_access_tokens"])) + UserGrantProjection = newUserGrantProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_grants"])) + UserMetadataProjection = newUserMetadataProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_metadata"])) + UserAuthMethodProjection = newUserAuthMethodProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["user_auth_method"])) + InstanceProjection = newInstanceProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["instances"])) + SecretGeneratorProjection = newSecretGeneratorProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["secret_generators"])) + SMTPConfigProjection = newSMTPConfigProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["smtp_configs"])) + SMSConfigProjection = newSMSConfigProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["sms_config"])) + OIDCSettingsProjection = newOIDCSettingsProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["oidc_settings"])) + DebugNotificationProviderProjection = newDebugNotificationProviderProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["debug_notification_provider"])) + KeyProjection = newKeyProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["keys"]), keyEncryptionAlgorithm) return nil } diff --git a/internal/query/projection/secret_generator.go b/internal/query/projection/secret_generator.go index cf2b980808..cdcfdbff86 100644 --- a/internal/query/projection/secret_generator.go +++ b/internal/query/projection/secret_generator.go @@ -28,12 +28,12 @@ const ( SecretGeneratorColumnIncludeSymbols = "include_symbols" ) -type SecretGeneratorProjection struct { +type secretGeneratorProjection struct { crdb.StatementHandler } -func NewSecretGeneratorProjection(ctx context.Context, config crdb.StatementHandlerConfig) *SecretGeneratorProjection { - p := new(SecretGeneratorProjection) +func newSecretGeneratorProjection(ctx context.Context, config crdb.StatementHandlerConfig) *secretGeneratorProjection { + p := new(secretGeneratorProjection) config.ProjectionName = SecretGeneratorProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -59,7 +59,7 @@ func NewSecretGeneratorProjection(ctx context.Context, config crdb.StatementHand return p } -func (p *SecretGeneratorProjection) reducers() []handler.AggregateReducer { +func (p *secretGeneratorProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -81,7 +81,7 @@ func (p *SecretGeneratorProjection) reducers() []handler.AggregateReducer { } } -func (p *SecretGeneratorProjection) reduceSecretGeneratorAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *secretGeneratorProjection) reduceSecretGeneratorAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SecretGeneratorAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", instance.SecretGeneratorAddedEventType) @@ -106,7 +106,7 @@ func (p *SecretGeneratorProjection) reduceSecretGeneratorAdded(event eventstore. ), nil } -func (p *SecretGeneratorProjection) reduceSecretGeneratorChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *secretGeneratorProjection) reduceSecretGeneratorChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SecretGeneratorChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s00Fs", "reduce.wrong.event.type %s", instance.SecretGeneratorChangedEventType) @@ -143,7 +143,7 @@ func (p *SecretGeneratorProjection) reduceSecretGeneratorChanged(event eventstor ), nil } -func (p *SecretGeneratorProjection) reduceSecretGeneratorRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *secretGeneratorProjection) reduceSecretGeneratorRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SecretGeneratorRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fmiIf", "reduce.wrong.event.type %s", instance.SecretGeneratorRemovedEventType) diff --git a/internal/query/projection/secret_generator_test.go b/internal/query/projection/secret_generator_test.go index a00a6bf402..347aef392b 100644 --- a/internal/query/projection/secret_generator_test.go +++ b/internal/query/projection/secret_generator_test.go @@ -31,7 +31,7 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { []byte(`{"generatorType": 1}`), ), instance.SecretGeneratorRemovedEventMapper), }, - reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorRemoved, + reduce: (&secretGeneratorProjection{}).reduceSecretGeneratorRemoved, want: wantReduce{ projection: SecretGeneratorProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -59,7 +59,7 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { []byte(`{"generatorType": 1, "length": 4, "expiry": 10000000, "includeLowerLetters": true, "includeUpperLetters": true, "includeDigits": true, "includeSymbols": true}`), ), instance.SecretGeneratorChangedEventMapper), }, - reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorChanged, + reduce: (&secretGeneratorProjection{}).reduceSecretGeneratorChanged, want: wantReduce{ projection: SecretGeneratorProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -95,7 +95,7 @@ func TestSecretGeneratorProjection_reduces(t *testing.T) { []byte(`{"generatorType": 1, "length": 4, "expiry": 10000000, "includeLowerLetters": true, "includeUpperLetters": true, "includeDigits": true, "includeSymbols": true}`), ), instance.SecretGeneratorAddedEventMapper), }, - reduce: (&SecretGeneratorProjection{}).reduceSecretGeneratorAdded, + reduce: (&secretGeneratorProjection{}).reduceSecretGeneratorAdded, want: wantReduce{ projection: SecretGeneratorProjectionTable, aggregateType: eventstore.AggregateType("instance"), diff --git a/internal/query/projection/sms.go b/internal/query/projection/sms.go index 5f60d6cf74..8d1058afba 100644 --- a/internal/query/projection/sms.go +++ b/internal/query/projection/sms.go @@ -32,12 +32,12 @@ const ( SMSTwilioConfigColumnToken = "token" ) -type SMSConfigProjection struct { +type smsConfigProjection struct { crdb.StatementHandler } -func NewSMSConfigProjection(ctx context.Context, config crdb.StatementHandlerConfig) *SMSConfigProjection { - p := new(SMSConfigProjection) +func newSMSConfigProjection(ctx context.Context, config crdb.StatementHandlerConfig) *smsConfigProjection { + p := new(smsConfigProjection) config.ProjectionName = SMSConfigProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewMultiTableCheck( @@ -69,7 +69,7 @@ func NewSMSConfigProjection(ctx context.Context, config crdb.StatementHandlerCon return p } -func (p *SMSConfigProjection) reducers() []handler.AggregateReducer { +func (p *smsConfigProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -103,7 +103,7 @@ func (p *SMSConfigProjection) reducers() []handler.AggregateReducer { } } -func (p *SMSConfigProjection) reduceSMSConfigTwilioAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigTwilioAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigTwilioAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s8efs", "reduce.wrong.event.type %s", instance.SMSConfigTwilioAddedEventType) @@ -136,7 +136,7 @@ func (p *SMSConfigProjection) reduceSMSConfigTwilioAdded(event eventstore.Event) ), nil } -func (p *SMSConfigProjection) reduceSMSConfigTwilioChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigTwilioChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigTwilioChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fi99F", "reduce.wrong.event.type %s", instance.SMSConfigTwilioChangedEventType) @@ -172,7 +172,7 @@ func (p *SMSConfigProjection) reduceSMSConfigTwilioChanged(event eventstore.Even ), nil } -func (p *SMSConfigProjection) reduceSMSConfigTwilioTokenChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigTwilioTokenChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigTwilioTokenChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fi99F", "reduce.wrong.event.type %s", instance.SMSConfigTwilioTokenChangedEventType) @@ -205,7 +205,7 @@ func (p *SMSConfigProjection) reduceSMSConfigTwilioTokenChanged(event eventstore ), nil } -func (p *SMSConfigProjection) reduceSMSConfigActivated(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigActivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigActivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fj9Ef", "reduce.wrong.event.type %s", instance.SMSConfigActivatedEventType) @@ -224,7 +224,7 @@ func (p *SMSConfigProjection) reduceSMSConfigActivated(event eventstore.Event) ( ), nil } -func (p *SMSConfigProjection) reduceSMSConfigDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigDeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-dj9Js", "reduce.wrong.event.type %s", instance.SMSConfigDeactivatedEventType) @@ -243,7 +243,7 @@ func (p *SMSConfigProjection) reduceSMSConfigDeactivated(event eventstore.Event) ), nil } -func (p *SMSConfigProjection) reduceSMSConfigRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *smsConfigProjection) reduceSMSConfigRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMSConfigRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-s9JJf", "reduce.wrong.event.type %s", instance.SMSConfigRemovedEventType) diff --git a/internal/query/projection/sms_test.go b/internal/query/projection/sms_test.go index 4dec8a490b..b9f8304723 100644 --- a/internal/query/projection/sms_test.go +++ b/internal/query/projection/sms_test.go @@ -41,7 +41,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigTwilioAddedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigTwilioAdded, + reduce: (&smsConfigProjection{}).reduceSMSConfigTwilioAdded, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -94,7 +94,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigTwilioChangedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigTwilioChanged, + reduce: (&smsConfigProjection{}).reduceSMSConfigTwilioChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -141,7 +141,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigTwilioTokenChangedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigTwilioTokenChanged, + reduce: (&smsConfigProjection{}).reduceSMSConfigTwilioTokenChanged, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -186,7 +186,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigActivatedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigActivated, + reduce: (&smsConfigProjection{}).reduceSMSConfigActivated, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -219,7 +219,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigDeactivatedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigDeactivated, + reduce: (&smsConfigProjection{}).reduceSMSConfigDeactivated, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, @@ -252,7 +252,7 @@ func TestSMSProjection_reduces(t *testing.T) { }`), ), instance.SMSConfigRemovedEventMapper), }, - reduce: (&SMSConfigProjection{}).reduceSMSConfigRemoved, + reduce: (&smsConfigProjection{}).reduceSMSConfigRemoved, want: wantReduce{ aggregateType: eventstore.AggregateType("instance"), sequence: 15, diff --git a/internal/query/projection/smtp.go b/internal/query/projection/smtp.go index f7caab173c..ce0f03119b 100644 --- a/internal/query/projection/smtp.go +++ b/internal/query/projection/smtp.go @@ -27,12 +27,12 @@ const ( SMTPConfigColumnSMTPPassword = "password" ) -type SMTPConfigProjection struct { +type smtpConfigProjection struct { crdb.StatementHandler } -func NewSMTPConfigProjection(ctx context.Context, config crdb.StatementHandlerConfig) *SMTPConfigProjection { - p := new(SMTPConfigProjection) +func newSMTPConfigProjection(ctx context.Context, config crdb.StatementHandlerConfig) *smtpConfigProjection { + p := new(smtpConfigProjection) config.ProjectionName = SMTPConfigProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -57,7 +57,7 @@ func NewSMTPConfigProjection(ctx context.Context, config crdb.StatementHandlerCo return p } -func (p *SMTPConfigProjection) reducers() []handler.AggregateReducer { +func (p *smtpConfigProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: instance.AggregateType, @@ -79,7 +79,7 @@ func (p *SMTPConfigProjection) reducers() []handler.AggregateReducer { } } -func (p *SMTPConfigProjection) reduceSMTPConfigAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *smtpConfigProjection) reduceSMTPConfigAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMTPConfigAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-sk99F", "reduce.wrong.event.type %s", instance.SMTPConfigAddedEventType) @@ -103,7 +103,7 @@ func (p *SMTPConfigProjection) reduceSMTPConfigAdded(event eventstore.Event) (*h ), nil } -func (p *SMTPConfigProjection) reduceSMTPConfigChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *smtpConfigProjection) reduceSMTPConfigChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMTPConfigChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-wl0wd", "reduce.wrong.event.type %s", instance.SMTPConfigChangedEventType) @@ -137,7 +137,7 @@ func (p *SMTPConfigProjection) reduceSMTPConfigChanged(event eventstore.Event) ( ), nil } -func (p *SMTPConfigProjection) reduceSMTPConfigPasswordChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *smtpConfigProjection) reduceSMTPConfigPasswordChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*instance.SMTPConfigPasswordChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-fk02f", "reduce.wrong.event.type %s", instance.SMTPConfigChangedEventType) diff --git a/internal/query/projection/smtp_test.go b/internal/query/projection/smtp_test.go index 4c1712d8bf..4d04981466 100644 --- a/internal/query/projection/smtp_test.go +++ b/internal/query/projection/smtp_test.go @@ -36,7 +36,7 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { ), ), instance.SMTPConfigChangedEventMapper), }, - reduce: (&SMTPConfigProjection{}).reduceSMTPConfigChanged, + reduce: (&smtpConfigProjection{}).reduceSMTPConfigChanged, want: wantReduce{ projection: SMTPConfigProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -82,7 +82,7 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { }`), ), instance.SMTPConfigAddedEventMapper), }, - reduce: (&SMTPConfigProjection{}).reduceSMTPConfigAdded, + reduce: (&smtpConfigProjection{}).reduceSMTPConfigAdded, want: wantReduce{ projection: SMTPConfigProjectionTable, aggregateType: eventstore.AggregateType("instance"), @@ -126,7 +126,7 @@ func TestSMTPConfigProjection_reduces(t *testing.T) { }`), ), instance.SMTPConfigPasswordChangedEventMapper), }, - reduce: (&SMTPConfigProjection{}).reduceSMTPConfigPasswordChanged, + reduce: (&smtpConfigProjection{}).reduceSMTPConfigPasswordChanged, want: wantReduce{ projection: SMTPConfigProjectionTable, aggregateType: eventstore.AggregateType("instance"), diff --git a/internal/query/projection/user.go b/internal/query/projection/user.go index 39572dc1df..800a21d063 100644 --- a/internal/query/projection/user.go +++ b/internal/query/projection/user.go @@ -12,7 +12,7 @@ import ( "github.com/zitadel/zitadel/internal/repository/user" ) -type UserProjection struct { +type userProjection struct { crdb.StatementHandler } @@ -60,8 +60,8 @@ const ( MachineDescriptionCol = "description" ) -func NewUserProjection(ctx context.Context, config crdb.StatementHandlerConfig) *UserProjection { - p := new(UserProjection) +func newUserProjection(ctx context.Context, config crdb.StatementHandlerConfig) *userProjection { + p := new(userProjection) config.ProjectionName = UserTable config.Reducers = p.reducers() config.InitCheck = crdb.NewMultiTableCheck( @@ -115,7 +115,7 @@ func NewUserProjection(ctx context.Context, config crdb.StatementHandlerConfig) return p } -func (p *UserProjection) reducers() []handler.AggregateReducer { +func (p *userProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -245,7 +245,7 @@ func (p *UserProjection) reducers() []handler.AggregateReducer { } } -func (p *UserProjection) reduceHumanAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Ebynp", "reduce.wrong.event.type %s", user.HumanAddedType) @@ -283,7 +283,7 @@ func (p *UserProjection) reduceHumanAdded(event eventstore.Event) (*handler.Stat ), nil } -func (p *UserProjection) reduceHumanRegistered(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanRegistered(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanRegisteredEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-xE53M", "reduce.wrong.event.type %s", user.HumanRegisteredType) @@ -321,7 +321,7 @@ func (p *UserProjection) reduceHumanRegistered(event eventstore.Event) (*handler ), nil } -func (p *UserProjection) reduceHumanInitCodeAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanInitCodeAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanInitialCodeAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dvgws", "reduce.wrong.event.type %s", user.HumanInitialCodeAddedType) @@ -338,7 +338,7 @@ func (p *UserProjection) reduceHumanInitCodeAdded(event eventstore.Event) (*hand ), nil } -func (p *UserProjection) reduceHumanInitCodeSucceeded(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanInitCodeSucceeded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanInitializedCheckSucceededEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dfvwq", "reduce.wrong.event.type %s", user.HumanInitializedCheckSucceededType) @@ -355,7 +355,7 @@ func (p *UserProjection) reduceHumanInitCodeSucceeded(event eventstore.Event) (* ), nil } -func (p *UserProjection) reduceUserLocked(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserLocked(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserLockedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-exyBF", "reduce.wrong.event.type %s", user.UserLockedType) @@ -375,7 +375,7 @@ func (p *UserProjection) reduceUserLocked(event eventstore.Event) (*handler.Stat ), nil } -func (p *UserProjection) reduceUserUnlocked(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserUnlocked(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserUnlockedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-JIyRl", "reduce.wrong.event.type %s", user.UserUnlockedType) @@ -395,7 +395,7 @@ func (p *UserProjection) reduceUserUnlocked(event eventstore.Event) (*handler.St ), nil } -func (p *UserProjection) reduceUserDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserDeactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserDeactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-6BNjj", "reduce.wrong.event.type %s", user.UserDeactivatedType) @@ -415,7 +415,7 @@ func (p *UserProjection) reduceUserDeactivated(event eventstore.Event) (*handler ), nil } -func (p *UserProjection) reduceUserReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserReactivated(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserReactivatedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-IoF6j", "reduce.wrong.event.type %s", user.UserReactivatedType) @@ -435,7 +435,7 @@ func (p *UserProjection) reduceUserReactivated(event eventstore.Event) (*handler ), nil } -func (p *UserProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-BQB2t", "reduce.wrong.event.type %s", user.UserRemovedType) @@ -450,7 +450,7 @@ func (p *UserProjection) reduceUserRemoved(event eventstore.Event) (*handler.Sta ), nil } -func (p *UserProjection) reduceUserNameChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceUserNameChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UsernameChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QNKyV", "reduce.wrong.event.type %s", user.UserUserNameChangedType) @@ -470,7 +470,7 @@ func (p *UserProjection) reduceUserNameChanged(event eventstore.Event) (*handler ), nil } -func (p *UserProjection) reduceHumanProfileChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanProfileChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanProfileChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-769v4", "reduce.wrong.event.type %s", user.HumanProfileChangedType) @@ -523,7 +523,7 @@ func (p *UserProjection) reduceHumanProfileChanged(event eventstore.Event) (*han ), nil } -func (p *UserProjection) reduceHumanPhoneChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanPhoneChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanPhoneChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-xOGIA", "reduce.wrong.event.type %s", user.HumanPhoneChangedType) @@ -555,7 +555,7 @@ func (p *UserProjection) reduceHumanPhoneChanged(event eventstore.Event) (*handl ), nil } -func (p *UserProjection) reduceHumanPhoneRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanPhoneRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanPhoneRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-JI4S1", "reduce.wrong.event.type %s", user.HumanPhoneRemovedType) @@ -587,7 +587,7 @@ func (p *UserProjection) reduceHumanPhoneRemoved(event eventstore.Event) (*handl ), nil } -func (p *UserProjection) reduceHumanPhoneVerified(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanPhoneVerified(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanPhoneVerifiedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-LBnqG", "reduce.wrong.event.type %s", user.HumanPhoneVerifiedType) @@ -618,7 +618,7 @@ func (p *UserProjection) reduceHumanPhoneVerified(event eventstore.Event) (*hand ), nil } -func (p *UserProjection) reduceHumanEmailChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanEmailChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanEmailChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-KwiHa", "reduce.wrong.event.type %s", user.HumanEmailChangedType) @@ -650,7 +650,7 @@ func (p *UserProjection) reduceHumanEmailChanged(event eventstore.Event) (*handl ), nil } -func (p *UserProjection) reduceHumanEmailVerified(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanEmailVerified(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanEmailVerifiedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-JzcDq", "reduce.wrong.event.type %s", user.HumanEmailVerifiedType) @@ -681,7 +681,7 @@ func (p *UserProjection) reduceHumanEmailVerified(event eventstore.Event) (*hand ), nil } -func (p *UserProjection) reduceHumanAvatarAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanAvatarAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanAvatarAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-eDEdt", "reduce.wrong.event.type %s", user.HumanAvatarAddedType) @@ -712,7 +712,7 @@ func (p *UserProjection) reduceHumanAvatarAdded(event eventstore.Event) (*handle ), nil } -func (p *UserProjection) reduceHumanAvatarRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceHumanAvatarRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.HumanAvatarRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-KhETX", "reduce.wrong.event.type %s", user.HumanAvatarRemovedType) @@ -743,7 +743,7 @@ func (p *UserProjection) reduceHumanAvatarRemoved(event eventstore.Event) (*hand ), nil } -func (p *UserProjection) reduceMachineAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceMachineAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.MachineAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-q7ier", "reduce.wrong.event.type %s", user.MachineAddedEventType) @@ -776,7 +776,7 @@ func (p *UserProjection) reduceMachineAdded(event eventstore.Event) (*handler.St ), nil } -func (p *UserProjection) reduceMachineChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userProjection) reduceMachineChanged(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.MachineChangedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-qYHvj", "reduce.wrong.event.type %s", user.MachineChangedEventType) diff --git a/internal/query/projection/user_auth_method.go b/internal/query/projection/user_auth_method.go index 333530538e..7e69734e73 100644 --- a/internal/query/projection/user_auth_method.go +++ b/internal/query/projection/user_auth_method.go @@ -26,12 +26,12 @@ const ( UserAuthMethodNameCol = "name" ) -type UserAuthMethodProjection struct { +type userAuthMethodProjection struct { crdb.StatementHandler } -func NewUserAuthMethodProjection(ctx context.Context, config crdb.StatementHandlerConfig) *UserAuthMethodProjection { - p := new(UserAuthMethodProjection) +func newUserAuthMethodProjection(ctx context.Context, config crdb.StatementHandlerConfig) *userAuthMethodProjection { + p := new(userAuthMethodProjection) config.ProjectionName = UserAuthMethodTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -55,7 +55,7 @@ func NewUserAuthMethodProjection(ctx context.Context, config crdb.StatementHandl return p } -func (p *UserAuthMethodProjection) reducers() []handler.AggregateReducer { +func (p *userAuthMethodProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -101,7 +101,7 @@ func (p *UserAuthMethodProjection) reducers() []handler.AggregateReducer { } } -func (p *UserAuthMethodProjection) reduceInitAuthMethod(event eventstore.Event) (*handler.Statement, error) { +func (p *userAuthMethodProjection) reduceInitAuthMethod(event eventstore.Event) (*handler.Statement, error) { tokenID := "" var methodType domain.UserAuthMethodType switch e := event.(type) { @@ -134,7 +134,7 @@ func (p *UserAuthMethodProjection) reduceInitAuthMethod(event eventstore.Event) ), nil } -func (p *UserAuthMethodProjection) reduceActivateEvent(event eventstore.Event) (*handler.Statement, error) { +func (p *userAuthMethodProjection) reduceActivateEvent(event eventstore.Event) (*handler.Statement, error) { tokenID := "" name := "" var methodType domain.UserAuthMethodType @@ -172,7 +172,7 @@ func (p *UserAuthMethodProjection) reduceActivateEvent(event eventstore.Event) ( ), nil } -func (p *UserAuthMethodProjection) reduceRemoveAuthMethod(event eventstore.Event) (*handler.Statement, error) { +func (p *userAuthMethodProjection) reduceRemoveAuthMethod(event eventstore.Event) (*handler.Statement, error) { var tokenID string var methodType domain.UserAuthMethodType switch e := event.(type) { diff --git a/internal/query/projection/user_auth_method_test.go b/internal/query/projection/user_auth_method_test.go index e731427c88..c5055b65c6 100644 --- a/internal/query/projection/user_auth_method_test.go +++ b/internal/query/projection/user_auth_method_test.go @@ -32,7 +32,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanPasswordlessAddedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceInitAuthMethod, + reduce: (&userAuthMethodProjection{}).reduceInitAuthMethod, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -70,7 +70,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanU2FAddedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceInitAuthMethod, + reduce: (&userAuthMethodProjection{}).reduceInitAuthMethod, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -107,7 +107,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanOTPAddedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceInitAuthMethod, + reduce: (&userAuthMethodProjection{}).reduceInitAuthMethod, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -146,7 +146,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanPasswordlessVerifiedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceActivateEvent, + reduce: (&userAuthMethodProjection{}).reduceActivateEvent, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -183,7 +183,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanU2FVerifiedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceActivateEvent, + reduce: (&userAuthMethodProjection{}).reduceActivateEvent, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -218,7 +218,7 @@ func TestUserAuthMethodProjection_reduces(t *testing.T) { }`), ), user.HumanOTPVerifiedEventMapper), }, - reduce: (&UserAuthMethodProjection{}).reduceActivateEvent, + reduce: (&userAuthMethodProjection{}).reduceActivateEvent, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, diff --git a/internal/query/projection/user_grant.go b/internal/query/projection/user_grant.go index dc10d71d01..4a54bae0f5 100644 --- a/internal/query/projection/user_grant.go +++ b/internal/query/projection/user_grant.go @@ -31,12 +31,12 @@ const ( UserGrantRoles = "roles" ) -type UserGrantProjection struct { +type userGrantProjection struct { crdb.StatementHandler } -func NewUserGrantProjection(ctx context.Context, config crdb.StatementHandlerConfig) *UserGrantProjection { - p := new(UserGrantProjection) +func newUserGrantProjection(ctx context.Context, config crdb.StatementHandlerConfig) *userGrantProjection { + p := new(userGrantProjection) config.ProjectionName = UserGrantProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -63,7 +63,7 @@ func NewUserGrantProjection(ctx context.Context, config crdb.StatementHandlerCon return p } -func (p *UserGrantProjection) reducers() []handler.AggregateReducer { +func (p *userGrantProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: usergrant.AggregateType, @@ -135,7 +135,7 @@ func (p *UserGrantProjection) reducers() []handler.AggregateReducer { } } -func (p *UserGrantProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*usergrant.UserGrantAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-MQHVB", "reduce.wrong.event.type %s", usergrant.UserGrantAddedType) @@ -158,7 +158,7 @@ func (p *UserGrantProjection) reduceAdded(event eventstore.Event) (*handler.Stat ), nil } -func (p *UserGrantProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceChanged(event eventstore.Event) (*handler.Statement, error) { var roles pq.StringArray switch e := event.(type) { @@ -183,7 +183,7 @@ func (p *UserGrantProjection) reduceChanged(event eventstore.Event) (*handler.St ), nil } -func (p *UserGrantProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceRemoved(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { case *usergrant.UserGrantRemovedEvent, *usergrant.UserGrantCascadeRemovedEvent: // ok @@ -199,7 +199,7 @@ func (p *UserGrantProjection) reduceRemoved(event eventstore.Event) (*handler.St ), nil } -func (p *UserGrantProjection) reduceDeactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceDeactivated(event eventstore.Event) (*handler.Statement, error) { if _, ok := event.(*usergrant.UserGrantDeactivatedEvent); !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-oP7Gm", "reduce.wrong.event.type %s", usergrant.UserGrantDeactivatedType) } @@ -217,7 +217,7 @@ func (p *UserGrantProjection) reduceDeactivated(event eventstore.Event) (*handle ), nil } -func (p *UserGrantProjection) reduceReactivated(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceReactivated(event eventstore.Event) (*handler.Statement, error) { if _, ok := event.(*usergrant.UserGrantDeactivatedEvent); !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-DGsKh", "reduce.wrong.event.type %s", usergrant.UserGrantReactivatedType) } @@ -235,7 +235,7 @@ func (p *UserGrantProjection) reduceReactivated(event eventstore.Event) (*handle ), nil } -func (p *UserGrantProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { if _, ok := event.(*user.UserRemovedEvent); !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-Bner2a", "reduce.wrong.event.type %s", user.UserRemovedType) } @@ -248,7 +248,7 @@ func (p *UserGrantProjection) reduceUserRemoved(event eventstore.Event) (*handle ), nil } -func (p *UserGrantProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceProjectRemoved(event eventstore.Event) (*handler.Statement, error) { if _, ok := event.(*project.ProjectRemovedEvent); !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-Bne2a", "reduce.wrong.event.type %s", project.ProjectRemovedType) } @@ -261,7 +261,7 @@ func (p *UserGrantProjection) reduceProjectRemoved(event eventstore.Event) (*han ), nil } -func (p *UserGrantProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceProjectGrantRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.GrantRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-dGr2a", "reduce.wrong.event.type %s", project.GrantRemovedType) @@ -275,7 +275,7 @@ func (p *UserGrantProjection) reduceProjectGrantRemoved(event eventstore.Event) ), nil } -func (p *UserGrantProjection) reduceRoleRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceRoleRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*project.RoleRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-dswg2", "reduce.wrong.event.type %s", project.RoleRemovedType) @@ -292,7 +292,7 @@ func (p *UserGrantProjection) reduceRoleRemoved(event eventstore.Event) (*handle ), nil } -func (p *UserGrantProjection) reduceProjectGrantChanged(event eventstore.Event) (*handler.Statement, error) { +func (p *userGrantProjection) reduceProjectGrantChanged(event eventstore.Event) (*handler.Statement, error) { var grantID string var keys []string switch e := event.(type) { diff --git a/internal/query/projection/user_grant_test.go b/internal/query/projection/user_grant_test.go index be9c5c3d4d..dc76075868 100644 --- a/internal/query/projection/user_grant_test.go +++ b/internal/query/projection/user_grant_test.go @@ -38,7 +38,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { }`), ), usergrant.UserGrantAddedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceAdded, + reduce: (&userGrantProjection{}).reduceAdded, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -77,7 +77,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { }`), ), usergrant.UserGrantChangedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceChanged, + reduce: (&userGrantProjection{}).reduceChanged, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -109,7 +109,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { }`), ), usergrant.UserGrantCascadeChangedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceChanged, + reduce: (&userGrantProjection{}).reduceChanged, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -139,7 +139,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), usergrant.UserGrantRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceRemoved, + reduce: (&userGrantProjection{}).reduceRemoved, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -166,7 +166,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), usergrant.UserGrantCascadeRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceRemoved, + reduce: (&userGrantProjection{}).reduceRemoved, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -193,7 +193,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), usergrant.UserGrantDeactivatedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceDeactivated, + reduce: (&userGrantProjection{}).reduceDeactivated, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -223,7 +223,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), usergrant.UserGrantDeactivatedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceReactivated, + reduce: (&userGrantProjection{}).reduceReactivated, want: wantReduce{ aggregateType: usergrant.AggregateType, sequence: 15, @@ -253,7 +253,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), user.UserRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceUserRemoved, + reduce: (&userGrantProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -280,7 +280,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { nil, ), project.ProjectRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceProjectRemoved, + reduce: (&userGrantProjection{}).reduceProjectRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -307,7 +307,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grantID"}`), ), project.GrantRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceProjectGrantRemoved, + reduce: (&userGrantProjection{}).reduceProjectGrantRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -334,7 +334,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { []byte(`{"key": "key"}`), ), project.RoleRemovedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceRoleRemoved, + reduce: (&userGrantProjection{}).reduceRoleRemoved, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, @@ -362,7 +362,7 @@ func TestUserGrantProjection_reduces(t *testing.T) { []byte(`{"grantId": "grantID", "roleKeys": ["key"]}`), ), project.GrantChangedEventMapper), }, - reduce: (&UserGrantProjection{}).reduceProjectGrantChanged, + reduce: (&userGrantProjection{}).reduceProjectGrantChanged, want: wantReduce{ aggregateType: project.AggregateType, sequence: 15, diff --git a/internal/query/projection/user_metadata.go b/internal/query/projection/user_metadata.go index be2d01d0cd..95fcffb8a9 100644 --- a/internal/query/projection/user_metadata.go +++ b/internal/query/projection/user_metadata.go @@ -23,12 +23,12 @@ const ( UserMetadataColumnValue = "value" ) -type UserMetadataProjection struct { +type userMetadataProjection struct { crdb.StatementHandler } -func NewUserMetadataProjection(ctx context.Context, config crdb.StatementHandlerConfig) *UserMetadataProjection { - p := new(UserMetadataProjection) +func newUserMetadataProjection(ctx context.Context, config crdb.StatementHandlerConfig) *userMetadataProjection { + p := new(userMetadataProjection) config.ProjectionName = UserMetadataProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -51,7 +51,7 @@ func NewUserMetadataProjection(ctx context.Context, config crdb.StatementHandler return p } -func (p *UserMetadataProjection) reducers() []handler.AggregateReducer { +func (p *userMetadataProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -77,7 +77,7 @@ func (p *UserMetadataProjection) reducers() []handler.AggregateReducer { } } -func (p *UserMetadataProjection) reduceMetadataSet(event eventstore.Event) (*handler.Statement, error) { +func (p *userMetadataProjection) reduceMetadataSet(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.MetadataSetEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Ghn52", "reduce.wrong.event.type %s", user.MetadataSetType) @@ -97,7 +97,7 @@ func (p *UserMetadataProjection) reduceMetadataSet(event eventstore.Event) (*han ), nil } -func (p *UserMetadataProjection) reduceMetadataRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *userMetadataProjection) reduceMetadataRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.MetadataRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Bm542", "reduce.wrong.event.type %s", user.MetadataRemovedType) @@ -111,7 +111,7 @@ func (p *UserMetadataProjection) reduceMetadataRemoved(event eventstore.Event) ( ), nil } -func (p *UserMetadataProjection) reduceMetadataRemovedAll(event eventstore.Event) (*handler.Statement, error) { +func (p *userMetadataProjection) reduceMetadataRemovedAll(event eventstore.Event) (*handler.Statement, error) { switch event.(type) { case *user.MetadataRemovedAllEvent, *user.UserRemovedEvent: diff --git a/internal/query/projection/user_metadata_test.go b/internal/query/projection/user_metadata_test.go index 793d88816b..8871424976 100644 --- a/internal/query/projection/user_metadata_test.go +++ b/internal/query/projection/user_metadata_test.go @@ -32,7 +32,7 @@ func TestUserMetadataProjection_reduces(t *testing.T) { }`), ), user.MetadataSetEventMapper), }, - reduce: (&UserMetadataProjection{}).reduceMetadataSet, + reduce: (&userMetadataProjection{}).reduceMetadataSet, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -68,7 +68,7 @@ func TestUserMetadataProjection_reduces(t *testing.T) { }`), ), user.MetadataRemovedEventMapper), }, - reduce: (&UserMetadataProjection{}).reduceMetadataRemoved, + reduce: (&userMetadataProjection{}).reduceMetadataRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -96,7 +96,7 @@ func TestUserMetadataProjection_reduces(t *testing.T) { nil, ), user.MetadataRemovedAllEventMapper), }, - reduce: (&UserMetadataProjection{}).reduceMetadataRemovedAll, + reduce: (&userMetadataProjection{}).reduceMetadataRemovedAll, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -123,7 +123,7 @@ func TestUserMetadataProjection_reduces(t *testing.T) { nil, ), user.UserRemovedEventMapper), }, - reduce: (&UserMetadataProjection{}).reduceMetadataRemovedAll, + reduce: (&userMetadataProjection{}).reduceMetadataRemovedAll, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, diff --git a/internal/query/projection/user_personal_access_token.go b/internal/query/projection/user_personal_access_token.go index b575d4e5e2..981689dc4e 100644 --- a/internal/query/projection/user_personal_access_token.go +++ b/internal/query/projection/user_personal_access_token.go @@ -26,12 +26,12 @@ const ( PersonalAccessTokenColumnScopes = "scopes" ) -type PersonalAccessTokenProjection struct { +type personalAccessTokenProjection struct { crdb.StatementHandler } -func NewPersonalAccessTokenProjection(ctx context.Context, config crdb.StatementHandlerConfig) *PersonalAccessTokenProjection { - p := new(PersonalAccessTokenProjection) +func newPersonalAccessTokenProjection(ctx context.Context, config crdb.StatementHandlerConfig) *personalAccessTokenProjection { + p := new(personalAccessTokenProjection) config.ProjectionName = PersonalAccessTokenProjectionTable config.Reducers = p.reducers() config.InitCheck = crdb.NewTableCheck( @@ -56,7 +56,7 @@ func NewPersonalAccessTokenProjection(ctx context.Context, config crdb.Statement return p } -func (p *PersonalAccessTokenProjection) reducers() []handler.AggregateReducer { +func (p *personalAccessTokenProjection) reducers() []handler.AggregateReducer { return []handler.AggregateReducer{ { Aggregate: user.AggregateType, @@ -78,7 +78,7 @@ func (p *PersonalAccessTokenProjection) reducers() []handler.AggregateReducer { } } -func (p *PersonalAccessTokenProjection) reducePersonalAccessTokenAdded(event eventstore.Event) (*handler.Statement, error) { +func (p *personalAccessTokenProjection) reducePersonalAccessTokenAdded(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.PersonalAccessTokenAddedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-DVgf7", "reduce.wrong.event.type %s", user.PersonalAccessTokenAddedType) @@ -99,7 +99,7 @@ func (p *PersonalAccessTokenProjection) reducePersonalAccessTokenAdded(event eve ), nil } -func (p *PersonalAccessTokenProjection) reducePersonalAccessTokenRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *personalAccessTokenProjection) reducePersonalAccessTokenRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.PersonalAccessTokenRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-g7u3F", "reduce.wrong.event.type %s", user.PersonalAccessTokenRemovedType) @@ -112,7 +112,7 @@ func (p *PersonalAccessTokenProjection) reducePersonalAccessTokenRemoved(event e ), nil } -func (p *PersonalAccessTokenProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { +func (p *personalAccessTokenProjection) reduceUserRemoved(event eventstore.Event) (*handler.Statement, error) { e, ok := event.(*user.UserRemovedEvent) if !ok { return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dff3h", "reduce.wrong.event.type %s", user.UserRemovedType) diff --git a/internal/query/projection/user_personal_access_token_test.go b/internal/query/projection/user_personal_access_token_test.go index ba14f7496b..a7f78fdc75 100644 --- a/internal/query/projection/user_personal_access_token_test.go +++ b/internal/query/projection/user_personal_access_token_test.go @@ -32,7 +32,7 @@ func TestPersonalAccessTokenProjection_reduces(t *testing.T) { []byte(`{"tokenId": "tokenID", "expiration": "9999-12-31T23:59:59Z", "scopes": ["openid"]}`), ), user.PersonalAccessTokenAddedEventMapper), }, - reduce: (&PersonalAccessTokenProjection{}).reducePersonalAccessTokenAdded, + reduce: (&personalAccessTokenProjection{}).reducePersonalAccessTokenAdded, want: wantReduce{ projection: PersonalAccessTokenProjectionTable, aggregateType: eventstore.AggregateType("user"), @@ -67,7 +67,7 @@ func TestPersonalAccessTokenProjection_reduces(t *testing.T) { []byte(`{"tokenId": "tokenID"}`), ), user.PersonalAccessTokenRemovedEventMapper), }, - reduce: (&PersonalAccessTokenProjection{}).reducePersonalAccessTokenRemoved, + reduce: (&personalAccessTokenProjection{}).reducePersonalAccessTokenRemoved, want: wantReduce{ projection: PersonalAccessTokenProjectionTable, aggregateType: eventstore.AggregateType("user"), @@ -94,7 +94,7 @@ func TestPersonalAccessTokenProjection_reduces(t *testing.T) { nil, ), user.UserRemovedEventMapper), }, - reduce: (&PersonalAccessTokenProjection{}).reduceUserRemoved, + reduce: (&personalAccessTokenProjection{}).reduceUserRemoved, want: wantReduce{ projection: PersonalAccessTokenProjectionTable, aggregateType: eventstore.AggregateType("user"), diff --git a/internal/query/projection/user_test.go b/internal/query/projection/user_test.go index efa0a6565c..f65da31458 100644 --- a/internal/query/projection/user_test.go +++ b/internal/query/projection/user_test.go @@ -41,7 +41,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanAdded, + reduce: (&userProjection{}).reduceHumanAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -101,7 +101,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanAdded, + reduce: (&userProjection{}).reduceHumanAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -156,7 +156,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanAdded, + reduce: (&userProjection{}).reduceHumanAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -216,7 +216,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanRegisteredEventMapper), }, - reduce: (&UserProjection{}).reduceHumanRegistered, + reduce: (&userProjection{}).reduceHumanRegistered, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -276,7 +276,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanRegisteredEventMapper), }, - reduce: (&UserProjection{}).reduceHumanRegistered, + reduce: (&userProjection{}).reduceHumanRegistered, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -331,7 +331,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanRegisteredEventMapper), }, - reduce: (&UserProjection{}).reduceHumanRegistered, + reduce: (&userProjection{}).reduceHumanRegistered, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -381,7 +381,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanInitialCodeAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanInitCodeAdded, + reduce: (&userProjection{}).reduceHumanInitCodeAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -410,7 +410,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanInitialCodeAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanInitCodeAdded, + reduce: (&userProjection{}).reduceHumanInitCodeAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -439,7 +439,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanInitializedCheckSucceededEventMapper), }, - reduce: (&UserProjection{}).reduceHumanInitCodeSucceeded, + reduce: (&userProjection{}).reduceHumanInitCodeSucceeded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -468,7 +468,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanInitializedCheckSucceededEventMapper), }, - reduce: (&UserProjection{}).reduceHumanInitCodeSucceeded, + reduce: (&userProjection{}).reduceHumanInitCodeSucceeded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -497,7 +497,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserLockedEventMapper), }, - reduce: (&UserProjection{}).reduceUserLocked, + reduce: (&userProjection{}).reduceUserLocked, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -528,7 +528,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserUnlockedEventMapper), }, - reduce: (&UserProjection{}).reduceUserUnlocked, + reduce: (&userProjection{}).reduceUserUnlocked, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -559,7 +559,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserDeactivatedEventMapper), }, - reduce: (&UserProjection{}).reduceUserDeactivated, + reduce: (&userProjection{}).reduceUserDeactivated, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -590,7 +590,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserReactivatedEventMapper), }, - reduce: (&UserProjection{}).reduceUserReactivated, + reduce: (&userProjection{}).reduceUserReactivated, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -621,7 +621,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.UserRemovedEventMapper), }, - reduce: (&UserProjection{}).reduceUserRemoved, + reduce: (&userProjection{}).reduceUserRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -651,7 +651,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.UsernameChangedEventMapper), }, - reduce: (&UserProjection{}).reduceUserNameChanged, + reduce: (&userProjection{}).reduceUserNameChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -689,7 +689,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanProfileChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanProfileChanged, + reduce: (&userProjection{}).reduceHumanProfileChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -739,7 +739,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanProfileChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanProfileChanged, + reduce: (&userProjection{}).reduceHumanProfileChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -784,7 +784,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanPhoneChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneChanged, + reduce: (&userProjection{}).reduceHumanPhoneChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -825,7 +825,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanPhoneChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneChanged, + reduce: (&userProjection{}).reduceHumanPhoneChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -864,7 +864,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanPhoneRemovedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneRemoved, + reduce: (&userProjection{}).reduceHumanPhoneRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -903,7 +903,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanPhoneRemovedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneRemoved, + reduce: (&userProjection{}).reduceHumanPhoneRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -942,7 +942,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanPhoneVerifiedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneVerified, + reduce: (&userProjection{}).reduceHumanPhoneVerified, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -980,7 +980,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanPhoneVerifiedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanPhoneVerified, + reduce: (&userProjection{}).reduceHumanPhoneVerified, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1020,7 +1020,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanEmailChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanEmailChanged, + reduce: (&userProjection{}).reduceHumanEmailChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1061,7 +1061,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanEmailChangedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanEmailChanged, + reduce: (&userProjection{}).reduceHumanEmailChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1100,7 +1100,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanEmailVerifiedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanEmailVerified, + reduce: (&userProjection{}).reduceHumanEmailVerified, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1138,7 +1138,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanEmailVerifiedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanEmailVerified, + reduce: (&userProjection{}).reduceHumanEmailVerified, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1178,7 +1178,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.HumanAvatarAddedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanAvatarAdded, + reduce: (&userProjection{}).reduceHumanAvatarAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1216,7 +1216,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.HumanAvatarRemovedEventMapper), }, - reduce: (&UserProjection{}).reduceHumanAvatarRemoved, + reduce: (&userProjection{}).reduceHumanAvatarRemoved, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1257,7 +1257,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.MachineAddedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineAdded, + reduce: (&userProjection{}).reduceMachineAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1305,7 +1305,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.MachineAddedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineAdded, + reduce: (&userProjection{}).reduceMachineAdded, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1352,7 +1352,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.MachineChangedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineChanged, + reduce: (&userProjection{}).reduceMachineChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1393,7 +1393,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.MachineChangedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineChanged, + reduce: (&userProjection{}).reduceMachineChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1433,7 +1433,7 @@ func TestUserProjection_reduces(t *testing.T) { }`), ), user.MachineChangedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineChanged, + reduce: (&userProjection{}).reduceMachineChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, @@ -1471,7 +1471,7 @@ func TestUserProjection_reduces(t *testing.T) { []byte(`{}`), ), user.MachineChangedEventMapper), }, - reduce: (&UserProjection{}).reduceMachineChanged, + reduce: (&userProjection{}).reduceMachineChanged, want: wantReduce{ aggregateType: user.AggregateType, sequence: 15, diff --git a/internal/query/user.go b/internal/query/user.go index 65f9a29bb3..1fe93b61ca 100644 --- a/internal/query/user.go +++ b/internal/query/user.go @@ -237,7 +237,11 @@ var ( } ) -func (q *Queries) GetUserByID(ctx context.Context, userID string, queries ...SearchQuery) (*User, error) { +func (q *Queries) GetUserByID(ctx context.Context, shouldTriggered bool, userID string, queries ...SearchQuery) (*User, error) { + if shouldTriggered { + projection.UserProjection.TriggerBulk(ctx) + } + instanceID := authz.GetInstance(ctx).InstanceID() query, scan := prepareUserQuery(instanceID) for _, q := range queries { diff --git a/internal/query/user_auth_method.go b/internal/query/user_auth_method.go index cacf174a3f..e9c0c08d50 100644 --- a/internal/query/user_auth_method.go +++ b/internal/query/user_auth_method.go @@ -3,17 +3,14 @@ package query import ( "context" "database/sql" - errs "errors" "time" sq "github.com/Masterminds/squirrel" "github.com/zitadel/zitadel/internal/api/authz" - - "github.com/zitadel/zitadel/internal/query/projection" - "github.com/zitadel/zitadel/internal/domain" "github.com/zitadel/zitadel/internal/errors" + "github.com/zitadel/zitadel/internal/query/projection" ) var ( @@ -84,23 +81,6 @@ type UserAuthMethodSearchQueries struct { Queries []SearchQuery } -func (q *Queries) UserAuthMethodByIDs(ctx context.Context, userID, tokenID, resourceOwner string, methodType domain.UserAuthMethodType) (*AuthMethod, error) { - stmt, scan := prepareUserAuthMethodQuery() - query, args, err := stmt.Where(sq.Eq{ - UserAuthMethodColumnUserID.identifier(): userID, - UserAuthMethodColumnTokenID.identifier(): tokenID, - UserAuthMethodColumnResourceOwner.identifier(): resourceOwner, - UserAuthMethodColumnMethodType.identifier(): methodType, - UserAuthMethodColumnInstanceID.identifier(): authz.GetInstance(ctx).InstanceID(), - }).ToSql() - if err != nil { - return nil, errors.ThrowInternal(err, "QUERY-2m00Q", "Errors.Query.SQLStatment") - } - - row := q.client.QueryRowContext(ctx, query, args...) - return scan(row) -} - func (q *Queries) SearchUserAuthMethods(ctx context.Context, queries *UserAuthMethodSearchQueries) (userAuthMethods *AuthMethods, err error) { query, scan := prepareUserAuthMethodsQuery() stmt, args, err := queries.toQuery(query). @@ -213,41 +193,6 @@ func (q *UserAuthMethodSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectB return query } -func prepareUserAuthMethodQuery() (sq.SelectBuilder, func(*sql.Row) (*AuthMethod, error)) { - return sq.Select( - UserAuthMethodColumnTokenID.identifier(), - UserAuthMethodColumnCreationDate.identifier(), - UserAuthMethodColumnChangeDate.identifier(), - UserAuthMethodColumnResourceOwner.identifier(), - UserAuthMethodColumnUserID.identifier(), - UserAuthMethodColumnSequence.identifier(), - UserAuthMethodColumnName.identifier(), - UserAuthMethodColumnState.identifier(), - UserAuthMethodColumnMethodType.identifier()). - From(userAuthMethodTable.identifier()).PlaceholderFormat(sq.Dollar), - func(row *sql.Row) (*AuthMethod, error) { - authMethod := new(AuthMethod) - err := row.Scan( - &authMethod.TokenID, - &authMethod.CreationDate, - &authMethod.ChangeDate, - &authMethod.ResourceOwner, - &authMethod.UserID, - &authMethod.Sequence, - &authMethod.Name, - &authMethod.State, - &authMethod.Type, - ) - if err != nil { - if errs.Is(err, sql.ErrNoRows) { - return nil, errors.ThrowNotFound(err, "QUERY-dniiF", "Errors.AuthMethod.NotFound") - } - return nil, errors.ThrowInternal(err, "QUERY-3n9Fs", "Errors.Internal") - } - return authMethod, nil - } -} - func prepareUserAuthMethodsQuery() (sq.SelectBuilder, func(*sql.Rows) (*AuthMethods, error)) { return sq.Select( UserAuthMethodColumnTokenID.identifier(), diff --git a/internal/query/user_auth_method_test.go b/internal/query/user_auth_method_test.go index 228dcbf4ee..050e9dfc6f 100644 --- a/internal/query/user_auth_method_test.go +++ b/internal/query/user_auth_method_test.go @@ -9,7 +9,6 @@ import ( "testing" "github.com/zitadel/zitadel/internal/domain" - errs "github.com/zitadel/zitadel/internal/errors" ) func Test_UserAuthMethodPrepares(t *testing.T) { @@ -218,110 +217,6 @@ func Test_UserAuthMethodPrepares(t *testing.T) { }, object: nil, }, - { - name: "prepareUserAuthMethodQuery no result", - prepare: prepareUserAuthMethodQuery, - want: want{ - sqlExpectations: mockQueries( - `SELECT projections.user_auth_methods.token_id,`+ - ` projections.user_auth_methods.creation_date,`+ - ` projections.user_auth_methods.change_date,`+ - ` projections.user_auth_methods.resource_owner,`+ - ` projections.user_auth_methods.user_id,`+ - ` projections.user_auth_methods.sequence,`+ - ` projections.user_auth_methods.name,`+ - ` projections.user_auth_methods.state,`+ - ` projections.user_auth_methods.method_type`+ - ` FROM projections.user_auth_methods`, - nil, - nil, - ), - err: func(err error) (error, bool) { - if !errs.IsNotFound(err) { - return fmt.Errorf("err should be zitadel.NotFoundError got: %w", err), false - } - return nil, true - }, - }, - object: (*AuthMethod)(nil), - }, - { - name: "prepareUserAuthMethodQuery found", - prepare: prepareUserAuthMethodQuery, - want: want{ - sqlExpectations: mockQuery( - regexp.QuoteMeta(`SELECT projections.user_auth_methods.token_id,`+ - ` projections.user_auth_methods.creation_date,`+ - ` projections.user_auth_methods.change_date,`+ - ` projections.user_auth_methods.resource_owner,`+ - ` projections.user_auth_methods.user_id,`+ - ` projections.user_auth_methods.sequence,`+ - ` projections.user_auth_methods.name,`+ - ` projections.user_auth_methods.state,`+ - ` projections.user_auth_methods.method_type`+ - ` FROM projections.user_auth_methods`), - []string{ - "token_id", - "creation_date", - "change_date", - "resource_owner", - "user_id", - "sequence", - "name", - "state", - "method_type", - }, - []driver.Value{ - "token_id", - testNow, - testNow, - "ro", - "user_id", - uint64(20211108), - "name", - domain.MFAStateReady, - domain.UserAuthMethodTypeU2F, - }, - ), - }, - object: &AuthMethod{ - TokenID: "token_id", - CreationDate: testNow, - ChangeDate: testNow, - ResourceOwner: "ro", - UserID: "user_id", - Sequence: 20211108, - Name: "name", - State: domain.MFAStateReady, - Type: domain.UserAuthMethodTypeU2F, - }, - }, - { - name: "prepareUserAuthMethodQuery sql err", - prepare: prepareUserAuthMethodQuery, - want: want{ - sqlExpectations: mockQueryErr( - regexp.QuoteMeta(`SELECT projections.user_auth_methods.token_id,`+ - ` projections.user_auth_methods.creation_date,`+ - ` projections.user_auth_methods.change_date,`+ - ` projections.user_auth_methods.resource_owner,`+ - ` projections.user_auth_methods.user_id,`+ - ` projections.user_auth_methods.sequence,`+ - ` projections.user_auth_methods.name,`+ - ` projections.user_auth_methods.state,`+ - ` projections.user_auth_methods.method_type`+ - ` FROM projections.user_auth_methods`), - sql.ErrConnDone, - ), - err: func(err error) (error, bool) { - if !errors.Is(err, sql.ErrConnDone) { - return fmt.Errorf("err should be sql.ErrConnDone got: %w", err), false - } - return nil, true - }, - }, - object: nil, - }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/internal/query/user_grant.go b/internal/query/user_grant.go index 7b635fa8d1..69cd293e69 100644 --- a/internal/query/user_grant.go +++ b/internal/query/user_grant.go @@ -10,7 +10,6 @@ import ( "github.com/lib/pq" "github.com/zitadel/zitadel/internal/api/authz" - "github.com/zitadel/zitadel/internal/domain" "github.com/zitadel/zitadel/internal/errors" "github.com/zitadel/zitadel/internal/query/projection" @@ -192,7 +191,11 @@ var ( } ) -func (q *Queries) UserGrant(ctx context.Context, queries ...SearchQuery) (*UserGrant, error) { +func (q *Queries) UserGrant(ctx context.Context, shouldTriggerBulk bool, queries ...SearchQuery) (*UserGrant, error) { + if shouldTriggerBulk { + projection.UserGrantProjection.TriggerBulk(ctx) + } + query, scan := prepareUserGrantQuery() for _, q := range queries { query = q.toQuery(query) diff --git a/internal/query/user_metadata.go b/internal/query/user_metadata.go index dca74db480..473a449f2d 100644 --- a/internal/query/user_metadata.go +++ b/internal/query/user_metadata.go @@ -71,7 +71,11 @@ var ( } ) -func (q *Queries) GetUserMetadataByKey(ctx context.Context, userID, key string, queries ...SearchQuery) (*UserMetadata, error) { +func (q *Queries) GetUserMetadataByKey(ctx context.Context, shouldTriggerBulk bool, userID, key string, queries ...SearchQuery) (*UserMetadata, error) { + if shouldTriggerBulk { + projection.UserMetadataProjection.TriggerBulk(ctx) + } + query, scan := prepareUserMetadataQuery() for _, q := range queries { query = q.toQuery(query) @@ -90,7 +94,11 @@ func (q *Queries) GetUserMetadataByKey(ctx context.Context, userID, key string, return scan(row) } -func (q *Queries) SearchUserMetadata(ctx context.Context, userID string, queries *UserMetadataSearchQueries) (*UserMetadataList, error) { +func (q *Queries) SearchUserMetadata(ctx context.Context, shouldTriggerBulk bool, userID string, queries *UserMetadataSearchQueries) (*UserMetadataList, error) { + if shouldTriggerBulk { + projection.UserMetadataProjection.TriggerBulk(ctx) + } + query, scan := prepareUserMetadataListQuery() stmt, args, err := queries.toQuery(query).Where( sq.Eq{ diff --git a/internal/query/user_personal_access_token.go b/internal/query/user_personal_access_token.go index d1e610d799..ec1ea7d9d8 100644 --- a/internal/query/user_personal_access_token.go +++ b/internal/query/user_personal_access_token.go @@ -80,7 +80,11 @@ type PersonalAccessTokenSearchQueries struct { Queries []SearchQuery } -func (q *Queries) PersonalAccessTokenByID(ctx context.Context, id string, queries ...SearchQuery) (*PersonalAccessToken, error) { +func (q *Queries) PersonalAccessTokenByID(ctx context.Context, shouldTriggerBulk bool, id string, queries ...SearchQuery) (*PersonalAccessToken, error) { + if shouldTriggerBulk { + projection.PersonalAccessTokenProjection.TriggerBulk(ctx) + } + query, scan := preparePersonalAccessTokenQuery() for _, q := range queries { query = q.toQuery(query)