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 <livio.a@gmail.com>
Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
Silvan 2022-06-14 07:51:00 +02:00 committed by GitHub
parent 5c805c48db
commit dd2f31683c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
146 changed files with 1097 additions and 1239 deletions

View File

@ -3,6 +3,7 @@ module.exports = {
{name: 'main'}, {name: 'main'},
{name: '1.x.x', range: '1.x.x', channel: '1.x.x'}, {name: '1.x.x', range: '1.x.x', channel: '1.x.x'},
{name: 'v2-alpha', prerelease: true}, {name: 'v2-alpha', prerelease: true},
{name: 'update-projection-on-query', prerelease: true},
], ],
plugins: [ plugins: [
"@semantic-release/commit-analyzer" "@semantic-release/commit-analyzer"

View File

@ -31,7 +31,7 @@ type API struct {
type health interface { type health interface {
Health(ctx context.Context) error 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 { func New(port uint16, router *mux.Router, queries *query.Queries, verifier *internal_authz.TokenVerifier, authZ internal_authz.Config, externalSecure bool, http2HostName, http1HostName string) *API {

View File

@ -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) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -11,7 +11,7 @@ import (
) )
func (s *Server) GetIDPByID(ctx context.Context, req *admin_pb.GetIDPByIDRequest) (*admin_pb.GetIDPByIDResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -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) { 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 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -9,7 +9,7 @@ import (
) )
func (s *Server) GetPasswordAgePolicy(ctx context.Context, req *admin_pb.GetPasswordAgePolicyRequest) (*admin_pb.GetPasswordAgePolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -9,7 +9,7 @@ import (
) )
func (s *Server) GetPasswordComplexityPolicy(ctx context.Context, _ *admin_pb.GetPasswordComplexityPolicyRequest) (*admin_pb.GetPasswordComplexityPolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -9,7 +9,7 @@ import (
) )
func (s *Server) GetPrivacyPolicy(ctx context.Context, _ *admin_pb.GetPrivacyPolicyRequest) (*admin_pb.GetPrivacyPolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -9,7 +9,7 @@ import (
) )
func (s *Server) GetMyPasswordComplexityPolicy(ctx context.Context, _ *auth_pb.GetMyPasswordComplexityPolicyRequest) (*auth_pb.GetMyPasswordComplexityPolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -34,7 +34,7 @@ func (s *Server) ListMyProjectPermissions(ctx context.Context, _ *auth_pb.ListMy
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -16,7 +16,7 @@ import (
) )
func (s *Server) GetMyUser(ctx context.Context, _ *auth_pb.GetMyUserRequest) (*auth_pb.GetMyUserResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }
@ -70,7 +70,7 @@ func (s *Server) ListMyMetadata(ctx context.Context, req *auth_pb.ListMyMetadata
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -7,13 +7,13 @@ import (
) )
func (s *Server) GetIAM(ctx context.Context, _ *mgmt_pb.GetIAMRequest) (*mgmt_pb.GetIAMResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }
return &mgmt_pb.GetIAMResponse{ return &mgmt_pb.GetIAMResponse{
GlobalOrgId: iam.DefaultOrgID, GlobalOrgId: instance.DefaultOrgID,
DefaultOrgId: iam.DefaultOrgID, IamProjectId: instance.IAMProjectID,
IamProjectId: iam.IAMProjectID, DefaultOrgId: instance.DefaultOrgID,
}, nil }, nil
} }

View File

@ -11,7 +11,7 @@ import (
) )
func (s *Server) GetOrgIDPByID(ctx context.Context, req *mgmt_pb.GetOrgIDPByIDRequest) (*mgmt_pb.GetOrgIDPByIDResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -16,7 +16,7 @@ import (
) )
func (s *Server) GetMyOrg(ctx context.Context, req *mgmt_pb.GetMyOrgRequest) (*mgmt_pb.GetMyOrgResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err 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{ return &mgmt_pb.ListOrgMemberRolesResponse{
Result: roles, Result: roles,
}, nil }, nil

View File

@ -10,7 +10,7 @@ import (
) )
func (s *Server) GetLockoutPolicy(ctx context.Context, req *mgmt_pb.GetLockoutPolicyRequest) (*mgmt_pb.GetLockoutPolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -14,7 +14,7 @@ import (
) )
func (s *Server) GetLoginPolicy(ctx context.Context, req *mgmt_pb.GetLoginPolicyRequest) (*mgmt_pb.GetLoginPolicyResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -10,7 +10,7 @@ import (
) )
func (s *Server) GetPasswordAgePolicy(ctx context.Context, req *mgmt_pb.GetPasswordAgePolicyRequest) (*mgmt_pb.GetPasswordAgePolicyResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -10,7 +10,7 @@ import (
) )
func (s *Server) GetPasswordComplexityPolicy(ctx context.Context, req *mgmt_pb.GetPasswordComplexityPolicyRequest) (*mgmt_pb.GetPasswordComplexityPolicyResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -10,7 +10,7 @@ import (
) )
func (s *Server) GetPrivacyPolicy(ctx context.Context, _ *mgmt_pb.GetPrivacyPolicyRequest) (*mgmt_pb.GetPrivacyPolicyResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -13,7 +13,7 @@ import (
) )
func (s *Server) GetProjectByID(ctx context.Context, req *mgmt_pb.GetProjectByIDRequest) (*mgmt_pb.GetProjectByIDResponse, error) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }
return &mgmt_pb.GetGrantedProjectByIDResponse{ return &mgmt_pb.GetGrantedProjectByIDResponse{
GrantedProject: project_grpc.GrantedProjectViewToPb(project), GrantedProject: project_grpc.GrantedProjectViewToPb(grant),
}, nil }, nil
} }
@ -187,7 +187,7 @@ func (s *Server) ListProjectRoles(ctx context.Context, req *mgmt_pb.ListProjectR
if err != nil { if err != nil {
return nil, err return nil, err
} }
roles, err := s.query.SearchProjectRoles(ctx, queries) roles, err := s.query.SearchProjectRoles(ctx, true, queries)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -14,7 +14,7 @@ import (
) )
func (s *Server) GetAppByID(ctx context.Context, req *mgmt_pb.GetAppByIDRequest) (*mgmt_pb.GetAppByIDResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }
@ -204,7 +204,7 @@ func (s *Server) GetAppKey(ctx context.Context, req *mgmt_pb.GetAppKeyRequest) (
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -13,7 +13,7 @@ import (
) )
func (s *Server) GetProjectGrantByID(ctx context.Context, req *mgmt_pb.GetProjectGrantByIDRequest) (*mgmt_pb.GetProjectGrantByIDResponse, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -30,7 +30,7 @@ func (s *Server) GetUserByID(ctx context.Context, req *mgmt_pb.GetUserByIDReques
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err 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) { func (s *Server) IsUserUnique(ctx context.Context, req *mgmt_pb.IsUserUniqueRequest) (*mgmt_pb.IsUserUniqueResponse, error) {
orgID := authz.GetCtxData(ctx).OrgID orgID := authz.GetCtxData(ctx).OrgID
policy, err := s.query.DomainPolicyByOrg(ctx, orgID) policy, err := s.query.DomainPolicyByOrg(ctx, true, orgID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -111,7 +111,7 @@ func (s *Server) ListUserMetadata(ctx context.Context, req *mgmt_pb.ListUserMeta
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }
@ -126,7 +126,7 @@ func (s *Server) GetUserMetadata(ctx context.Context, req *mgmt_pb.GetUserMetada
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }
@ -704,7 +704,7 @@ func (s *Server) GetMachineKeyByIDs(ctx context.Context, req *mgmt_pb.GetMachine
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }
@ -767,7 +767,7 @@ func (s *Server) GetPersonalAccessTokenByIDs(ctx context.Context, req *mgmt_pb.G
if err != nil { if err != nil {
return nil, err 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -19,7 +19,7 @@ func (s *Server) GetUserGrantByID(ctx context.Context, req *mgmt_pb.GetUserGrant
if err != nil { if err != nil {
return nil, err return nil, err
} }
grant, err := s.query.UserGrant(ctx, idQuery, ownerQuery) grant, err := s.query.UserGrant(ctx, true, idQuery, ownerQuery)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -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) { func (s *Server) GetInstance(ctx context.Context, req *system_pb.GetInstanceRequest) (*system_pb.GetInstanceResponse, error) {
ctx = authz.WithInstanceID(ctx, req.InstanceId) ctx = authz.WithInstanceID(ctx, req.InstanceId)
instance, err := s.query.Instance(ctx) instance, err := s.query.Instance(ctx, true)
if err != nil { if err != nil {
return nil, err 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) { 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) ctx = authz.WithInstanceID(ctx, req.InstanceId)
instance, err := s.query.Instance(ctx) instance, err := s.query.Instance(ctx, true)
if err != nil { if err != nil {
return nil, err return nil, err
} }
ctx = authz.WithInstance(ctx, instance) ctx = authz.WithInstance(ctx, instance)
details, err := s.command.AddInstanceDomain(ctx, req.Domain) details, err := s.command.AddInstanceDomain(ctx, req.Domain)
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -201,7 +201,7 @@ func (o *OPStorage) assertProjectRoleScopes(ctx context.Context, clientID string
if err != nil { if err != nil {
return nil, errors.ThrowPreconditionFailed(nil, "OIDC-AEG4d", "Errors.Internal") 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 { if err != nil {
return nil, errors.ThrowPreconditionFailed(nil, "OIDC-w4wIn", "Errors.Internal") 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 { if err != nil {
return nil, errors.ThrowInternal(err, "OIDC-Cyc78", "Errors.Internal") 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 { if err != nil {
return nil, err return nil, err
} }
@ -232,7 +232,7 @@ func (o *OPStorage) assertClientScopesForPAT(ctx context.Context, token *model.T
if err != nil { if err != nil {
return errors.ThrowInternal(err, "OIDC-Cyc78", "Errors.Internal") 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 { if err != nil {
return err return err
} }

View File

@ -43,7 +43,7 @@ func (o *OPStorage) GetClientByClientID(ctx context.Context, id string) (_ op.Cl
if err != nil { if err != nil {
return nil, errors.ThrowInternal(err, "OIDC-mPxqP", "Errors.Internal") 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err 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) { func (o *OPStorage) setUserinfo(ctx context.Context, userInfo oidc.UserInfoSetter, userID, applicationID string, scopes []string) (err error) {
ctx, span := tracing.NewSpan(ctx) ctx, span := tracing.NewSpan(ctx)
defer func() { span.EndWithError(err) }() defer func() { span.EndWithError(err) }()
user, err := o.query.GetUserByID(ctx, userID) user, err := o.query.GetUserByID(ctx, true, userID)
if err != nil { if err != nil {
return err 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) { 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 { if err != nil {
return nil, err 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) { 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 { if err != nil {
return nil, err return nil, err
} }
resourceOwner, err := o.query.OrgByID(ctx, user.ResourceOwner) resourceOwner, err := o.query.OrgByID(ctx, true, user.ResourceOwner)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -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) { 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 { if err != nil {
return nil, "", nil return nil, "", nil
} }

View File

@ -15,7 +15,7 @@ func (l *Login) getOrgDomainPolicy(r *http.Request, orgID string) (*query.Domain
if orgID == "" { if orgID == "" {
return l.query.DefaultDomainPolicy(r.Context()) 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) { 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 == "" { if orgID == "" {
return l.query.DefaultLoginPolicy(r.Context()) return l.query.DefaultLoginPolicy(r.Context())
} }
return l.query.LoginPolicyByID(r.Context(), orgID) return l.query.LoginPolicyByID(r.Context(), false, orgID)
} }

View File

@ -369,7 +369,7 @@ func (l *Login) getBaseData(r *http.Request, authReq *domain.AuthRequest, title
if labelPolicy != nil { if labelPolicy != nil {
baseData.LabelPolicy = labelPolicy.ToDomain() baseData.LabelPolicy = labelPolicy.ToDomain()
} }
policy, err := l.query.DefaultPrivacyPolicy(r.Context()) policy, err := l.query.DefaultPrivacyPolicy(r.Context(), false)
if err != nil { if err != nil {
return baseData return baseData
} }
@ -498,7 +498,7 @@ func (l *Login) getOrgPrimaryDomain(r *http.Request, authReq *domain.AuthRequest
if authReq != nil && authReq.RequestedPrimaryDomain != "" { if authReq != nil && authReq.RequestedPrimaryDomain != "" {
return 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 { if err != nil {
logging.New().WithError(err).Error("cannot get default org") logging.New().WithError(err).Error("cannot get default org")
return "" return ""

View File

@ -59,7 +59,7 @@ type labelPolicyProvider interface {
} }
type privacyPolicyProvider interface { type privacyPolicyProvider interface {
PrivacyPolicyByOrg(context.Context, string) (*query.PrivacyPolicy, error) PrivacyPolicyByOrg(context.Context, bool, string) (*query.PrivacyPolicy, error)
} }
type userSessionViewProvider interface { type userSessionViewProvider interface {
@ -71,11 +71,11 @@ type userViewProvider interface {
} }
type loginPolicyViewProvider interface { type loginPolicyViewProvider interface {
LoginPolicyByID(context.Context, string) (*query.LoginPolicy, error) LoginPolicyByID(context.Context, bool, string) (*query.LoginPolicy, error)
} }
type lockoutPolicyViewProvider interface { type lockoutPolicyViewProvider interface {
LockoutPolicyByOrg(context.Context, string) (*query.LockoutPolicy, error) LockoutPolicyByOrg(context.Context, bool, string) (*query.LockoutPolicy, error)
} }
type idpProviderViewProvider interface { type idpProviderViewProvider interface {
@ -91,7 +91,7 @@ type userCommandProvider interface {
} }
type orgViewProvider 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) 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) { 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 { if err != nil {
return nil, nil, err 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) { 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) { if errors.IsNotFound(err) {
return new(domain.PrivacyPolicy), nil 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) { 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 { if err != nil {
return nil, err 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) { if !(user.State == user_model.UserStateActive || user.State == user_model.UserStateInitial) {
return nil, errors.ThrowPreconditionFailed(nil, "EVENT-FJ262", "Errors.User.NotActive") 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -128,7 +128,7 @@ type mockLoginPolicy struct {
policy *query.LoginPolicy 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 return m.policy, nil
} }
@ -136,7 +136,7 @@ type mockLockoutPolicy struct {
policy *query.LockoutPolicy 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 return m.policy, nil
} }
@ -164,7 +164,7 @@ type mockViewOrg struct {
State domain.OrgState 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{ return &query.Org{
State: m.State, State: m.State,
}, nil }, nil
@ -178,7 +178,7 @@ func (m *mockViewOrg) OrgByDomainGlobal(context.Context, string) (*query.Org, er
type mockViewErrOrg struct{} 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") return nil, errors.ThrowInternal(nil, "id", "internal error")
} }

View File

@ -31,7 +31,7 @@ func (repo *OrgRepository) GetIDPConfigByID(ctx context.Context, idpConfigID str
} }
func (repo *OrgRepository) GetMyPasswordComplexityPolicy(ctx context.Context) (*iam_model.PasswordComplexityPolicyView, error) { 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -208,9 +208,9 @@ func (i *IDPProvider) OnSuccess() error {
} }
func (i *IDPProvider) getOrgIDPConfig(instanceID, aggregateID, idpConfigID string) (*query2.IDP, 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) { 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)
} }

View File

@ -197,9 +197,9 @@ func (i *ExternalIDP) OnSuccess() error {
} }
func (i *ExternalIDP) getOrgIDPConfig(instanceID, aggregateID, idpConfigID string) (*query2.IDP, 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) { 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)
} }

View File

@ -10,6 +10,7 @@ import (
"github.com/zitadel/zitadel/internal/errors" "github.com/zitadel/zitadel/internal/errors"
"github.com/zitadel/zitadel/internal/eventstore" "github.com/zitadel/zitadel/internal/eventstore"
"github.com/zitadel/zitadel/internal/eventstore/handler" "github.com/zitadel/zitadel/internal/eventstore/handler"
"github.com/zitadel/zitadel/internal/telemetry/tracing"
) )
var ( var (
@ -62,7 +63,6 @@ func NewStatementHandler(
} }
h := StatementHandler{ h := StatementHandler{
ProjectionHandler: handler.NewProjectionHandler(config.ProjectionHandlerConfig),
client: config.Client, client: config.Client,
sequenceTable: config.SequenceTable, sequenceTable: config.SequenceTable,
maxFailureCount: config.MaxFailureCount, maxFailureCount: config.MaxFailureCount,
@ -75,11 +75,12 @@ func NewStatementHandler(
bulkLimit: config.BulkLimit, bulkLimit: config.BulkLimit,
Locker: NewLocker(config.Client, config.LockTable, config.ProjectionHandlerConfig.ProjectionName), 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) err := h.Init(ctx, config.InitCheck)
logging.OnError(err).Fatal("unable to initialize projections") logging.OnError(err).Fatal("unable to initialize projections")
go h.ProjectionHandler.Process( go h.Process(
ctx, ctx,
h.reduce, h.reduce,
h.Update, h.Update,
@ -88,11 +89,20 @@ func NewStatementHandler(
h.SearchQuery, h.SearchQuery,
) )
h.ProjectionHandler.Handler.Subscribe(h.aggregates...) h.Subscribe(h.aggregates...)
return h 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) { func (h *StatementHandler) SearchQuery(ctx context.Context) (*eventstore.SearchQueryBuilder, uint64, error) {
sequences, err := h.currentSequences(ctx, h.client.QueryContext) sequences, err := h.currentSequences(ctx, h.client.QueryContext)
if err != nil { if err != nil {

View File

@ -694,15 +694,19 @@ func TestProjectionHandler_fetchPreviousStmts(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
h := &StatementHandler{ h := &StatementHandler{
ProjectionHandler: handler.NewProjectionHandler(handler.ProjectionHandlerConfig{
HandlerConfig: handler.HandlerConfig{
Eventstore: tt.fields.eventstore,
},
ProjectionName: "my_projection",
RequeueEvery: 0,
}),
aggregates: tt.fields.aggregates, 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) stmts, err := h.fetchPreviousStmts(tt.args.ctx, nil, tt.args.stmtSeq, "", tt.args.sequences, tt.args.reduce)
if !tt.want.isErr(err) { if !tt.want.isErr(err) {
t.Errorf("ProjectionHandler.prepareBulkStmts() error = %v", err) t.Errorf("ProjectionHandler.prepareBulkStmts() error = %v", err)

View File

@ -42,6 +42,9 @@ type ProjectionHandler struct {
requeueAfter time.Duration requeueAfter time.Duration
shouldBulk *time.Timer shouldBulk *time.Timer
bulkMu sync.Mutex
bulkLocked bool
execBulk executeBulk
retryFailedAfter time.Duration retryFailedAfter time.Duration
shouldPush *time.Timer shouldPush *time.Timer
@ -53,7 +56,12 @@ type ProjectionHandler struct {
stmts []*Statement stmts []*Statement
} }
func NewProjectionHandler(config ProjectionHandlerConfig) *ProjectionHandler { func NewProjectionHandler(
config ProjectionHandlerConfig,
reduce Reduce,
update Update,
query SearchQuery,
) *ProjectionHandler {
h := &ProjectionHandler{ h := &ProjectionHandler{
Handler: NewHandler(config.HandlerConfig), Handler: NewHandler(config.HandlerConfig),
ProjectionName: config.ProjectionName, ProjectionName: config.ProjectionName,
@ -64,6 +72,8 @@ func NewProjectionHandler(config ProjectionHandlerConfig) *ProjectionHandler {
retryFailedAfter: config.RetryFailedAfter, retryFailedAfter: config.RetryFailedAfter,
} }
h.execBulk = h.prepareExecuteBulk(query, reduce, update)
//unitialized timer //unitialized timer
//https://github.com/golang/go/issues/12721 //https://github.com/golang/go/issues/12721
<-h.shouldPush.C <-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") logging.WithFields("projection", h.ProjectionName, "cause", cause, "stack", string(debug.Stack())).Error("projection handler paniced")
}() }()
execBulk := h.prepareExecuteBulk(query, reduce, update)
for { for {
select { select {
case <-ctx.Done(): case <-ctx.Done():
@ -122,15 +131,19 @@ func (h *ProjectionHandler) Process(
} }
h.shutdown() h.shutdown()
return return
case event := <-h.Handler.EventQueue: case event := <-h.EventQueue:
if err := h.processEvent(ctx, event, reduce); err != nil { if err := h.processEvent(ctx, event, reduce); err != nil {
logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed") logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed")
continue continue
} }
h.triggerShouldPush(0) h.triggerShouldPush(0)
case <-h.shouldBulk.C: case <-h.shouldBulk.C:
h.bulk(ctx, lock, execBulk, unlock) h.bulkMu.Lock()
h.bulkLocked = true
h.bulk(ctx, lock, unlock)
h.ResetShouldBulk() h.ResetShouldBulk()
h.bulkLocked = false
h.bulkMu.Unlock()
default: default:
//lower prio select with push //lower prio select with push
select { select {
@ -140,15 +153,19 @@ func (h *ProjectionHandler) Process(
} }
h.shutdown() h.shutdown()
return return
case event := <-h.Handler.EventQueue: case event := <-h.EventQueue:
if err := h.processEvent(ctx, event, reduce); err != nil { if err := h.processEvent(ctx, event, reduce); err != nil {
logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed") logging.WithFields("projection", h.ProjectionName).WithError(err).Warn("process failed")
continue continue
} }
h.triggerShouldPush(0) h.triggerShouldPush(0)
case <-h.shouldBulk.C: case <-h.shouldBulk.C:
h.bulk(ctx, lock, execBulk, unlock) h.bulkMu.Lock()
h.bulkLocked = true
h.bulk(ctx, lock, unlock)
h.ResetShouldBulk() h.ResetShouldBulk()
h.bulkLocked = false
h.bulkMu.Unlock()
case <-h.shouldPush.C: case <-h.shouldPush.C:
h.push(ctx, update, reduce) h.push(ctx, update, reduce)
h.ResetShouldBulk() h.ResetShouldBulk()
@ -176,10 +193,38 @@ func (h *ProjectionHandler) processEvent(
return nil 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( func (h *ProjectionHandler) bulk(
ctx context.Context, ctx context.Context,
lock Lock, lock Lock,
executeBulk executeBulk,
unlock Unlock, unlock Unlock,
) error { ) error {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(ctx)
@ -193,7 +238,7 @@ func (h *ProjectionHandler) bulk(
} }
go h.cancelOnErr(ctx, errs, cancel) go h.cancelOnErr(ctx, errs, cancel)
execErr := executeBulk(ctx) execErr := h.execBulk(ctx)
logging.WithFields("projection", h.ProjectionName).OnError(execErr).Warn("unable to execute") logging.WithFields("projection", h.ProjectionName).OnError(execErr).Warn("unable to execute")
unlockErr := unlock(systemID) unlockErr := unlock(systemID)

View File

@ -8,6 +8,7 @@ import (
"testing" "testing"
"time" "time"
"github.com/golang/mock/gomock"
"github.com/zitadel/zitadel/internal/eventstore" "github.com/zitadel/zitadel/internal/eventstore"
"github.com/zitadel/zitadel/internal/eventstore/repository" "github.com/zitadel/zitadel/internal/eventstore/repository"
es_repo_mock "github.com/zitadel/zitadel/internal/eventstore/repository/mock" es_repo_mock "github.com/zitadel/zitadel/internal/eventstore/repository/mock"
@ -126,7 +127,11 @@ func TestProjectionHandler_processEvent(t *testing.T) {
}, },
ProjectionName: "", ProjectionName: "",
RequeueEvery: -1, RequeueEvery: -1,
}) },
nil,
nil,
nil,
)
h.stmts = tt.fields.stmts h.stmts = tt.fields.stmts
h.pushSet = tt.fields.pushSet h.pushSet = tt.fields.pushSet
h.shouldPush = tt.fields.shouldPush h.shouldPush = tt.fields.shouldPush
@ -408,7 +413,11 @@ func TestProjectionHandler_push(t *testing.T) {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
h := NewProjectionHandler(ProjectionHandlerConfig{ h := NewProjectionHandler(ProjectionHandlerConfig{
HandlerConfig: HandlerConfig{}, HandlerConfig: HandlerConfig{},
}) },
nil,
nil,
nil,
)
h.stmts = tt.fields.stmts h.stmts = tt.fields.stmts
h.pushSet = tt.fields.pushSet h.pushSet = tt.fields.pushSet
if tt.args.previousLock > 0 { if tt.args.previousLock > 0 {
@ -655,8 +664,13 @@ func TestProjectionHandler_bulk(t *testing.T) {
HandlerConfig: HandlerConfig{}, HandlerConfig: HandlerConfig{},
ProjectionName: "", ProjectionName: "",
RequeueEvery: -1, 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) { if !tt.res.isErr(err) {
t.Errorf("unexpected error %v", err) t.Errorf("unexpected error %v", err)
} }
@ -873,6 +887,26 @@ type executeBulkMock struct {
canceled chan bool 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 { func (m *executeBulkMock) executeBulk() executeBulk {
return func(ctx context.Context) error { return func(ctx context.Context) error {
m.callCount++ m.callCount++

View File

@ -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() stmt, scan := prepareAppQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.Eq{ sq.Eq{
@ -223,22 +227,6 @@ func (q *Queries) AppByProjectAndAppID(ctx context.Context, projectID, appID str
return scan(row) 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) { func (q *Queries) ProjectIDFromOIDCClientID(ctx context.Context, appID string) (string, error) {
stmt, scan := prepareProjectIDByAppQuery() stmt, scan := prepareProjectIDByAppQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(

View File

@ -122,7 +122,11 @@ func (q *Queries) SearchAuthNKeys(ctx context.Context, queries *AuthNKeySearchQu
return authNKeys, err 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() query, scan := prepareAuthNKeyQuery()
for _, q := range queries { for _, q := range queries {
query = q.toQuery(query) query = q.toQuery(query)

View File

@ -99,7 +99,7 @@ func (q *Queries) changes(ctx context.Context, query func(query *eventstore.Sear
ModifierName: event.EditorUser(), ModifierName: event.EditorUser(),
ModifierLoginName: event.EditorUser(), ModifierLoginName: event.EditorUser(),
} }
editor, _ := q.GetUserByID(ctx, change.ModifierId) editor, _ := q.GetUserByID(ctx, false, change.ModifierId)
if editor != nil { if editor != nil {
change.ModifierLoginName = editor.PreferredLoginName change.ModifierLoginName = editor.PreferredLoginName
change.ModifierResourceOwner = editor.ResourceOwner change.ModifierResourceOwner = editor.ResourceOwner

View File

@ -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() stmt, scan := prepareDomainPolicyQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{

View File

@ -180,7 +180,11 @@ var (
) )
//IDPByIDAndResourceOwner searches for the requested id in the context of the resource owner and IAM //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() stmt, scan := prepareIDPByIDQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{

View File

@ -157,7 +157,11 @@ func (q *Queries) SearchInstances(ctx context.Context, queries *InstanceSearchQu
return instances, err 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()) stmt, scan := prepareInstanceDomainQuery(authz.GetInstance(ctx).RequestedDomain())
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
InstanceColumnID.identifier(): authz.GetInstance(ctx).InstanceID(), 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 { func (q *Queries) GetDefaultLanguage(ctx context.Context) language.Tag {
instance, err := q.Instance(ctx) instance, err := q.Instance(ctx, false)
if err != nil { if err != nil {
return language.Und return language.Und
} }

View File

@ -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() stmt, scan := prepareLockoutPolicyQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{

View File

@ -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() query, scan := prepareLoginPolicyQuery()
stmt, args, err := query.Where( stmt, args, err := query.Where(
sq.And{ sq.And{

View File

@ -32,15 +32,15 @@ func (q *Queries) GetOrgMemberRoles(isGlobal bool) []string {
} }
func (q *Queries) GetProjectMemberRoles(ctx context.Context) ([]string, error) { func (q *Queries) GetProjectMemberRoles(ctx context.Context) ([]string, error) {
iam, err := q.Instance(ctx) instance, err := q.Instance(ctx, false)
if err != nil { if err != nil {
return nil, err return nil, err
} }
roles := make([]string, 0) roles := make([]string, 0)
global := authz.GetCtxData(ctx).OrgID == iam.DefaultOrgID defaultOrg := authz.GetCtxData(ctx).OrgID == instance.DefaultOrgID
for _, roleMap := range q.zitadelRoles { for _, roleMap := range q.zitadelRoles {
if strings.HasPrefix(roleMap.Role, "PROJECT") && !strings.HasPrefix(roleMap.Role, "PROJECT_GRANT") { 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 continue
} }
roles = append(roles, roleMap.Role) roles = append(roles, roleMap.Role)

View File

@ -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) { func (q *Queries) DefaultMessageText(ctx context.Context) (*MessageText, error) {
stmt, scan := prepareMessageTextQuery() stmt, scan := prepareMessageTextQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{

View File

@ -86,7 +86,11 @@ func (q *OrgSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuilder {
return query 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() stmt, scan := prepareOrgQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
OrgColumnID.identifier(): id, 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) { func (q *Queries) ExistsOrg(ctx context.Context, id string) (err error) {
_, err = q.OrgByID(ctx, id) _, err = q.OrgByID(ctx, true, id)
return err return err
} }
func (q *Queries) SearchOrgs(ctx context.Context, queries *OrgSearchQueries) (orgs *Orgs, err error) { func (q *Queries) SearchOrgs(ctx context.Context, queries *OrgSearchQueries) (orgs *Orgs, err error) {
query, scan := prepareOrgsQuery() query, scan := prepareOrgsQuery()
stmt, args, err := queries.toQuery(query). stmt, args, err := queries.toQuery(query).

View File

@ -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() stmt, scan := preparePasswordAgePolicyQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{
@ -100,7 +104,11 @@ func (q *Queries) PasswordAgePolicyByOrg(ctx context.Context, orgID string) (*Pa
return scan(row) 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() stmt, scan := preparePasswordAgePolicyQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
PasswordAgeColID.identifier(): authz.GetInstance(ctx).InstanceID(), PasswordAgeColID.identifier(): authz.GetInstance(ctx).InstanceID(),

View File

@ -31,7 +31,11 @@ type PasswordComplexityPolicy struct {
IsDefault bool 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() stmt, scan := preparePasswordComplexityPolicyQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{
@ -57,7 +61,11 @@ func (q *Queries) PasswordComplexityPolicyByOrg(ctx context.Context, orgID strin
return scan(row) 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() stmt, scan := preparePasswordComplexityPolicyQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
PasswordComplexityColID.identifier(): authz.GetInstance(ctx).InstanceID(), PasswordComplexityColID.identifier(): authz.GetInstance(ctx).InstanceID(),

View File

@ -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() stmt, scan := preparePrivacyPolicyQuery()
query, args, err := stmt.Where( query, args, err := stmt.Where(
sq.And{ sq.And{
@ -105,7 +109,11 @@ func (q *Queries) PrivacyPolicyByOrg(ctx context.Context, orgID string) (*Privac
return scan(row) 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() stmt, scan := preparePrivacyPolicyQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
PrivacyColID.identifier(): authz.GetInstance(ctx).InstanceID(), PrivacyColID.identifier(): authz.GetInstance(ctx).InstanceID(),

View File

@ -94,7 +94,11 @@ type ProjectSearchQueries struct {
Queries []SearchQuery 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() stmt, scan := prepareProjectQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
ProjectColumnID.identifier(): id, ProjectColumnID.identifier(): id,
@ -108,11 +112,6 @@ func (q *Queries) ProjectByID(ctx context.Context, id string) (*Project, error)
return scan(row) 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) { func (q *Queries) SearchProjects(ctx context.Context, queries *ProjectSearchQueries) (projects *Projects, err error) {
query, scan := prepareProjectsQuery() query, scan := prepareProjectsQuery()
stmt, args, err := queries.toQuery(query). stmt, args, err := queries.toQuery(query).

View File

@ -101,7 +101,11 @@ type ProjectGrantSearchQueries struct {
Queries []SearchQuery 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() stmt, scan := prepareProjectGrantQuery()
query, args, err := stmt.Where(sq.Eq{ query, args, err := stmt.Where(sq.Eq{
ProjectGrantColumnGrantID.identifier(): id, ProjectGrantColumnGrantID.identifier(): id,
@ -130,11 +134,6 @@ func (q *Queries) ProjectGrantByIDAndGrantedOrg(ctx context.Context, id, granted
return scan(row) 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) { func (q *Queries) SearchProjectGrants(ctx context.Context, queries *ProjectGrantSearchQueries) (projects *ProjectGrants, err error) {
query, scan := prepareProjectGrantsQuery() query, scan := prepareProjectGrantsQuery()
stmt, args, err := queries.toQuery(query). stmt, args, err := queries.toQuery(query).

View File

@ -3,7 +3,6 @@ package query
import ( import (
"context" "context"
"database/sql" "database/sql"
errs "errors"
"time" "time"
sq "github.com/Masterminds/squirrel" sq "github.com/Masterminds/squirrel"
@ -77,28 +76,11 @@ type ProjectRoleSearchQueries struct {
Queries []SearchQuery Queries []SearchQuery
} }
func (q *Queries) ProjectRoleByID(ctx context.Context, projectID, key string) (*ProjectRole, error) { func (q *Queries) SearchProjectRoles(ctx context.Context, shouldTriggerBulk bool, queries *ProjectRoleSearchQueries) (projects *ProjectRoles, err error) {
stmt, scan := prepareProjectRoleQuery() if shouldTriggerBulk {
query, args, err := stmt. projection.ProjectRoleProjection.TriggerBulk(ctx)
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")
} }
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() query, scan := prepareProjectRolesQuery()
stmt, args, err := queries.toQuery(query). stmt, args, err := queries.toQuery(query).
Where(sq.Eq{ Where(sq.Eq{
@ -213,39 +195,6 @@ func (q *ProjectRoleSearchQueries) toQuery(query sq.SelectBuilder) sq.SelectBuil
return query 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)) { func prepareProjectRolesQuery() (sq.SelectBuilder, func(*sql.Rows) (*ProjectRoles, error)) {
return sq.Select( return sq.Select(
ProjectRoleColumnProjectID.identifier(), ProjectRoleColumnProjectID.identifier(),

View File

@ -7,8 +7,6 @@ import (
"fmt" "fmt"
"regexp" "regexp"
"testing" "testing"
errs "github.com/zitadel/zitadel/internal/errors"
) )
func Test_ProjectRolePrepares(t *testing.T) { func Test_ProjectRolePrepares(t *testing.T) {
@ -205,104 +203,6 @@ func Test_ProjectRolePrepares(t *testing.T) {
}, },
object: nil, 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 { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {

View File

@ -26,12 +26,12 @@ const (
ActionAllowedToFailCol = "allowed_to_fail" ActionAllowedToFailCol = "allowed_to_fail"
) )
type ActionProjection struct { type actionProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewActionProjection(ctx context.Context, config crdb.StatementHandlerConfig) *ActionProjection { func newActionProjection(ctx context.Context, config crdb.StatementHandlerConfig) *actionProjection {
p := new(ActionProjection) p := new(actionProjection)
config.ProjectionName = ActionTable config.ProjectionName = ActionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -56,7 +56,7 @@ func NewActionProjection(ctx context.Context, config crdb.StatementHandlerConfig
return p return p
} }
func (p *ActionProjection) reducers() []handler.AggregateReducer { func (p *actionProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: action.AggregateType, 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) e, ok := event.(*action.AddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dff21", "reduce.wrong.event.type% s", action.AddedEventType) 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 ), 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) e, ok := event.(*action.ChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Gg43d", "reduce.wrong.event.type %s", action.ChangedEventType) 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 ), 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) e, ok := event.(*action.DeactivatedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Fgh32", "reduce.wrong.event.type %s", action.DeactivatedEventType) 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 ), 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) e, ok := event.(*action.ReactivatedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-hwdqa", "reduce.wrong.event.type% s", action.ReactivatedEventType) 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 ), 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) e, ok := event.(*action.RemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dgh2d", "reduce.wrong.event.type% s", action.RemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dgh2d", "reduce.wrong.event.type% s", action.RemovedEventType)

View File

@ -31,7 +31,7 @@ func TestActionProjection_reduces(t *testing.T) {
[]byte(`{"name": "name", "script":"name(){}","timeout": 3000000000, "allowedToFail": true}`), []byte(`{"name": "name", "script":"name(){}","timeout": 3000000000, "allowedToFail": true}`),
), action.AddedEventMapper), ), action.AddedEventMapper),
}, },
reduce: (&ActionProjection{}).reduceActionAdded, reduce: (&actionProjection{}).reduceActionAdded,
want: wantReduce{ want: wantReduce{
projection: ActionTable, projection: ActionTable,
aggregateType: eventstore.AggregateType("action"), aggregateType: eventstore.AggregateType("action"),
@ -68,7 +68,7 @@ func TestActionProjection_reduces(t *testing.T) {
[]byte(`{"name": "name2", "script":"name2(){}"}`), []byte(`{"name": "name2", "script":"name2(){}"}`),
), action.ChangedEventMapper), ), action.ChangedEventMapper),
}, },
reduce: (&ActionProjection{}).reduceActionChanged, reduce: (&actionProjection{}).reduceActionChanged,
want: wantReduce{ want: wantReduce{
projection: ActionTable, projection: ActionTable,
aggregateType: eventstore.AggregateType("action"), aggregateType: eventstore.AggregateType("action"),
@ -99,7 +99,7 @@ func TestActionProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), action.DeactivatedEventMapper), ), action.DeactivatedEventMapper),
}, },
reduce: (&ActionProjection{}).reduceActionDeactivated, reduce: (&actionProjection{}).reduceActionDeactivated,
want: wantReduce{ want: wantReduce{
projection: ActionTable, projection: ActionTable,
aggregateType: eventstore.AggregateType("action"), aggregateType: eventstore.AggregateType("action"),
@ -129,7 +129,7 @@ func TestActionProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), action.ReactivatedEventMapper), ), action.ReactivatedEventMapper),
}, },
reduce: (&ActionProjection{}).reduceActionReactivated, reduce: (&actionProjection{}).reduceActionReactivated,
want: wantReduce{ want: wantReduce{
projection: ActionTable, projection: ActionTable,
aggregateType: eventstore.AggregateType("action"), aggregateType: eventstore.AggregateType("action"),
@ -159,7 +159,7 @@ func TestActionProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), action.RemovedEventMapper), ), action.RemovedEventMapper),
}, },
reduce: (&ActionProjection{}).reduceActionRemoved, reduce: (&actionProjection{}).reduceActionRemoved,
want: wantReduce{ want: wantReduce{
projection: ActionTable, projection: ActionTable,
aggregateType: eventstore.AggregateType("action"), aggregateType: eventstore.AggregateType("action"),

View File

@ -56,12 +56,12 @@ const (
AppOIDCConfigColumnAdditionalOrigins = "additional_origins" AppOIDCConfigColumnAdditionalOrigins = "additional_origins"
) )
type AppProjection struct { type appProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) *AppProjection { func newAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) *appProjection {
p := new(AppProjection) p := new(appProjection)
config.ProjectionName = AppProjectionTable config.ProjectionName = AppProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewMultiTableCheck( config.InitCheck = crdb.NewMultiTableCheck(
@ -122,7 +122,7 @@ func NewAppProjection(ctx context.Context, config crdb.StatementHandlerConfig) *
return p return p
} }
func (p *AppProjection) reducers() []handler.AggregateReducer { func (p *appProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: project.AggregateType, 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) e, ok := event.(*project.ApplicationAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-1xYE6", "reduce.wrong.event.type %s", project.ApplicationAddedType) 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 ), 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) e, ok := event.(*project.ApplicationChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ZJ8JA", "reduce.wrong.event.type %s", project.ApplicationChangedType) 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 ), 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) e, ok := event.(*project.ApplicationDeactivatedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-MVWxZ", "reduce.wrong.event.type %s", project.ApplicationDeactivatedType) 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 ), 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) e, ok := event.(*project.ApplicationReactivatedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-D0HZO", "reduce.wrong.event.type %s", project.ApplicationReactivatedType) 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 ), 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) e, ok := event.(*project.ApplicationRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Y99aq", "reduce.wrong.event.type %s", project.ApplicationRemovedType) 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 ), 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) e, ok := event.(*project.ProjectRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-DlUlO", "reduce.wrong.event.type %s", project.ProjectRemovedType) 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 ), 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) e, ok := event.(*project.APIConfigAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Y99aq", "reduce.wrong.event.type %s", project.APIConfigAddedType) 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 ), 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) e, ok := event.(*project.APIConfigChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-vnZKi", "reduce.wrong.event.type %s", project.APIConfigChangedType) 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 ), 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) e, ok := event.(*project.APIConfigSecretChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ttb0I", "reduce.wrong.event.type %s", project.APIConfigSecretChangedType) 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 ), 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) e, ok := event.(*project.OIDCConfigAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigAddedType) 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 ), 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) e, ok := event.(*project.OIDCConfigChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigChangedType) 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 ), 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) e, ok := event.(*project.OIDCConfigSecretChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigSecretChangedType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-GNHU1", "reduce.wrong.event.type %s", project.OIDCConfigSecretChangedType)

View File

@ -36,7 +36,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.ApplicationAddedEventMapper), ), project.ApplicationAddedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAppAdded, reduce: (&appProjection{}).reduceAppAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -74,7 +74,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.ApplicationChangedEventMapper), ), project.ApplicationChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAppChanged, reduce: (&appProjection{}).reduceAppChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -107,7 +107,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.ApplicationDeactivatedEventMapper), ), project.ApplicationDeactivatedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAppDeactivated, reduce: (&appProjection{}).reduceAppDeactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -140,7 +140,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.ApplicationReactivatedEventMapper), ), project.ApplicationReactivatedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAppReactivated, reduce: (&appProjection{}).reduceAppReactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -173,7 +173,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.ApplicationRemovedEventMapper), ), project.ApplicationRemovedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAppRemoved, reduce: (&appProjection{}).reduceAppRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -201,7 +201,7 @@ func TestAppProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), project.ProjectRemovedEventMapper), ), project.ProjectRemovedEventMapper),
}, },
reduce: (&AppProjection{}).reduceProjectRemoved, reduce: (&appProjection{}).reduceProjectRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -234,7 +234,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.APIConfigAddedEventMapper), ), project.APIConfigAddedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAPIConfigAdded, reduce: (&appProjection{}).reduceAPIConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -279,7 +279,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.APIConfigChangedEventMapper), ), project.APIConfigChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAPIConfigChanged, reduce: (&appProjection{}).reduceAPIConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -320,7 +320,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.APIConfigChangedEventMapper), ), project.APIConfigChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAPIConfigChanged, reduce: (&appProjection{}).reduceAPIConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -343,7 +343,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.APIConfigSecretChangedEventMapper), ), project.APIConfigSecretChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceAPIConfigSecretChanged, reduce: (&appProjection{}).reduceAPIConfigSecretChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -399,7 +399,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.OIDCConfigAddedEventMapper), ), project.OIDCConfigAddedEventMapper),
}, },
reduce: (&AppProjection{}).reduceOIDCConfigAdded, reduce: (&appProjection{}).reduceOIDCConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -468,7 +468,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.OIDCConfigChangedEventMapper), ), project.OIDCConfigChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceOIDCConfigChanged, reduce: (&appProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -521,7 +521,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.OIDCConfigChangedEventMapper), ), project.OIDCConfigChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceOIDCConfigChanged, reduce: (&appProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,
@ -544,7 +544,7 @@ func TestAppProjection_reduces(t *testing.T) {
}`), }`),
), project.OIDCConfigSecretChangedEventMapper), ), project.OIDCConfigSecretChangedEventMapper),
}, },
reduce: (&AppProjection{}).reduceOIDCConfigSecretChanged, reduce: (&appProjection{}).reduceOIDCConfigSecretChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
sequence: 15, sequence: 15,

View File

@ -29,12 +29,12 @@ const (
AuthNKeyEnabledCol = "enabled" AuthNKeyEnabledCol = "enabled"
) )
type AuthNKeyProjection struct { type authNKeyProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *AuthNKeyProjection { func newAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *authNKeyProjection {
p := new(AuthNKeyProjection) p := new(authNKeyProjection)
config.ProjectionName = AuthNKeyTable config.ProjectionName = AuthNKeyTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -61,7 +61,7 @@ func NewAuthNKeyProjection(ctx context.Context, config crdb.StatementHandlerConf
return p return p
} }
func (p *AuthNKeyProjection) reducers() []handler.AggregateReducer { func (p *authNKeyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: project.AggregateType, 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 { var authNKeyEvent struct {
eventstore.BaseEvent eventstore.BaseEvent
keyID string keyID string
@ -162,7 +162,7 @@ func (p *AuthNKeyProjection) reduceAuthNKeyAdded(event eventstore.Event) (*handl
), nil ), 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 appID string
var enabled bool var enabled bool
switch e := event.(type) { switch e := event.(type) {
@ -188,7 +188,7 @@ func (p *AuthNKeyProjection) reduceAuthNKeyEnabledChanged(event eventstore.Event
), nil ), 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 var condition handler.Condition
switch e := event.(type) { switch e := event.(type) {
case *project.ApplicationKeyRemovedEvent: case *project.ApplicationKeyRemovedEvent:

View File

@ -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"}`), []byte(`{"applicationId": "appId", "clientId":"clientId","keyId": "keyId", "type": 1, "expirationDate": "2021-11-30T15:00:00Z", "publicKey": "cHVibGljS2V5"}`),
), project.ApplicationKeyAddedEventMapper), ), project.ApplicationKeyAddedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyAdded, reduce: (&authNKeyProjection{}).reduceAuthNKeyAdded,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), 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"}`), []byte(`{"keyId": "keyId", "type": 1, "expirationDate": "2021-11-30T15:00:00Z", "publicKey": "cHVibGljS2V5"}`),
), user.MachineKeyAddedEventMapper), ), user.MachineKeyAddedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyAdded, reduce: (&authNKeyProjection{}).reduceAuthNKeyAdded,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("user"), aggregateType: eventstore.AggregateType("user"),
@ -105,7 +105,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"keyId": "keyId"}`), []byte(`{"keyId": "keyId"}`),
), project.ApplicationKeyRemovedEventMapper), ), project.ApplicationKeyRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -132,7 +132,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId"}`), []byte(`{"appId": "appId"}`),
), project.APIConfigChangedEventMapper), ), project.APIConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -152,7 +152,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId", "authMethodType": 0}`), []byte(`{"appId": "appId", "authMethodType": 0}`),
), project.APIConfigChangedEventMapper), ), project.APIConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -180,7 +180,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId", "authMethodType": 1}`), []byte(`{"appId": "appId", "authMethodType": 1}`),
), project.APIConfigChangedEventMapper), ), project.APIConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -208,7 +208,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"keyId": "keyId"}`), []byte(`{"keyId": "keyId"}`),
), user.MachineKeyRemovedEventMapper), ), user.MachineKeyRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("user"), aggregateType: eventstore.AggregateType("user"),
@ -235,7 +235,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId"}`), []byte(`{"appId": "appId"}`),
), project.OIDCConfigChangedEventMapper), ), project.OIDCConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -255,7 +255,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId", "authMethodType": 0}`), []byte(`{"appId": "appId", "authMethodType": 0}`),
), project.OIDCConfigChangedEventMapper), ), project.OIDCConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -283,7 +283,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId", "authMethodType": 3}`), []byte(`{"appId": "appId", "authMethodType": 3}`),
), project.OIDCConfigChangedEventMapper), ), project.OIDCConfigChangedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyEnabledChanged, reduce: (&authNKeyProjection{}).reduceAuthNKeyEnabledChanged,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -311,7 +311,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"keyId": "keyId"}`), []byte(`{"keyId": "keyId"}`),
), project.ApplicationKeyRemovedEventMapper), ), project.ApplicationKeyRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -338,7 +338,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"appId": "appId"}`), []byte(`{"appId": "appId"}`),
), project.ApplicationRemovedEventMapper), ), project.ApplicationRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -365,7 +365,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
nil, nil,
), project.ProjectRemovedEventMapper), ), project.ProjectRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("project"), aggregateType: eventstore.AggregateType("project"),
@ -392,7 +392,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"keyId": "keyId"}`), []byte(`{"keyId": "keyId"}`),
), user.MachineKeyRemovedEventMapper), ), user.MachineKeyRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("user"), aggregateType: eventstore.AggregateType("user"),
@ -419,7 +419,7 @@ func TestAuthNKeyProjection_reduces(t *testing.T) {
[]byte(`{"keyId": "keyId"}`), []byte(`{"keyId": "keyId"}`),
), user.UserRemovedEventMapper), ), user.UserRemovedEventMapper),
}, },
reduce: (&AuthNKeyProjection{}).reduceAuthNKeyRemoved, reduce: (&authNKeyProjection{}).reduceAuthNKeyRemoved,
want: wantReduce{ want: wantReduce{
projection: AuthNKeyTable, projection: AuthNKeyTable,
aggregateType: eventstore.AggregateType("user"), aggregateType: eventstore.AggregateType("user"),

View File

@ -27,12 +27,12 @@ const (
CustomTextTextCol = "text" CustomTextTextCol = "text"
) )
type CustomTextProjection struct { type customTextProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewCustomTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *CustomTextProjection { func newCustomTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *customTextProjection {
p := new(CustomTextProjection) p := new(customTextProjection)
config.ProjectionName = CustomTextTable config.ProjectionName = CustomTextTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -55,7 +55,7 @@ func NewCustomTextProjection(ctx context.Context, config crdb.StatementHandlerCo
return p return p
} }
func (p *CustomTextProjection) reducers() []handler.AggregateReducer { func (p *customTextProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 customTextEvent policy.CustomTextSetEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -123,7 +123,7 @@ func (p *CustomTextProjection) reduceSet(event eventstore.Event) (*handler.State
}), nil }), 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 var customTextEvent policy.CustomTextRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.CustomTextRemovedEvent: case *org.CustomTextRemovedEvent:
@ -143,7 +143,7 @@ func (p *CustomTextProjection) reduceRemoved(event eventstore.Event) (*handler.S
}), nil }), 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 var customTextEvent policy.CustomTextTemplateRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.CustomTextTemplateRemovedEvent: case *org.CustomTextTemplateRemovedEvent:

View File

@ -35,7 +35,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&CustomTextProjection{}).reduceSet, reduce: (&customTextProjection{}).reduceSet,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -64,7 +64,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceRemoved", name: "org.reduceRemoved",
reduce: (&CustomTextProjection{}).reduceRemoved, reduce: (&customTextProjection{}).reduceRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.CustomTextRemovedEventType), repository.EventType(org.CustomTextRemovedEventType),
@ -98,7 +98,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceTemplateRemoved", name: "org.reduceTemplateRemoved",
reduce: (&CustomTextProjection{}).reduceTemplateRemoved, reduce: (&customTextProjection{}).reduceTemplateRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.CustomTextTemplateRemovedEventType), repository.EventType(org.CustomTextTemplateRemovedEventType),
@ -131,7 +131,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "iam.reduceAdded", name: "iam.reduceAdded",
reduce: (&CustomTextProjection{}).reduceSet, reduce: (&customTextProjection{}).reduceSet,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.CustomTextSetEventType), repository.EventType(instance.CustomTextSetEventType),
@ -172,7 +172,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "iam.reduceRemoved", name: "iam.reduceRemoved",
reduce: (&CustomTextProjection{}).reduceRemoved, reduce: (&customTextProjection{}).reduceRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.CustomTextTemplateRemovedEventType), repository.EventType(instance.CustomTextTemplateRemovedEventType),
@ -206,7 +206,7 @@ func TestCustomTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "iam.reduceTemplateRemoved", name: "iam.reduceTemplateRemoved",
reduce: (&CustomTextProjection{}).reduceTemplateRemoved, reduce: (&customTextProjection{}).reduceTemplateRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.CustomTextTemplateRemovedEventType), repository.EventType(instance.CustomTextTemplateRemovedEventType),

View File

@ -27,12 +27,12 @@ const (
DebugNotificationProviderCompactCol = "compact" DebugNotificationProviderCompactCol = "compact"
) )
type DebugNotificationProviderProjection struct { type debugNotificationProviderProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewDebugNotificationProviderProjection(ctx context.Context, config crdb.StatementHandlerConfig) *DebugNotificationProviderProjection { func newDebugNotificationProviderProjection(ctx context.Context, config crdb.StatementHandlerConfig) *debugNotificationProviderProjection {
p := &DebugNotificationProviderProjection{} p := &debugNotificationProviderProjection{}
config.ProjectionName = DebugNotificationProviderTable config.ProjectionName = DebugNotificationProviderTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -54,7 +54,7 @@ func NewDebugNotificationProviderProjection(ctx context.Context, config crdb.Sta
return p return p
} }
func (p *DebugNotificationProviderProjection) reducers() []handler.AggregateReducer { func (p *debugNotificationProviderProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: instance.AggregateType, 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 providerEvent settings.DebugNotificationProviderAddedEvent
var providerType domain.NotificationProviderType var providerType domain.NotificationProviderType
switch e := event.(type) { switch e := event.(type) {
@ -115,7 +115,7 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderAdd
}), nil }), 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 providerEvent settings.DebugNotificationProviderChangedEvent
var providerType domain.NotificationProviderType var providerType domain.NotificationProviderType
switch e := event.(type) { switch e := event.(type) {
@ -147,7 +147,7 @@ func (p *DebugNotificationProviderProjection) reduceDebugNotificationProviderCha
), nil ), 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 providerEvent settings.DebugNotificationProviderRemovedEvent
var providerType domain.NotificationProviderType var providerType domain.NotificationProviderType
switch e := event.(type) { switch e := event.(type) {

View File

@ -23,7 +23,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}{ }{
{ {
name: "instance.reduceNotificationProviderFileAdded", name: "instance.reduceNotificationProviderFileAdded",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderFileAddedEventType), repository.EventType(instance.DebugNotificationProviderFileAddedEventType),
@ -60,7 +60,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceNotificationProviderFileChanged", name: "instance.reduceNotificationProviderFileChanged",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderFileChangedEventType), repository.EventType(instance.DebugNotificationProviderFileChangedEventType),
@ -93,7 +93,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceNotificationProviderFileRemoved", name: "instance.reduceNotificationProviderFileRemoved",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderFileRemovedEventType), repository.EventType(instance.DebugNotificationProviderFileRemovedEventType),
@ -121,7 +121,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceNotificationProviderLogAdded", name: "instance.reduceNotificationProviderLogAdded",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderLogAddedEventType), repository.EventType(instance.DebugNotificationProviderLogAddedEventType),
@ -158,7 +158,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceNotificationProviderLogChanged", name: "instance.reduceNotificationProviderLogChanged",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderLogChangedEventType), repository.EventType(instance.DebugNotificationProviderLogChangedEventType),
@ -191,7 +191,7 @@ func TestDebugNotificationProviderProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceNotificationProviderLogRemoved", name: "instance.reduceNotificationProviderLogRemoved",
reduce: (&DebugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved, reduce: (&debugNotificationProviderProjection{}).reduceDebugNotificationProviderRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DebugNotificationProviderLogRemovedEventType), repository.EventType(instance.DebugNotificationProviderLogRemovedEventType),

View File

@ -29,12 +29,12 @@ const (
DomainPolicyInstanceIDCol = "instance_id" DomainPolicyInstanceIDCol = "instance_id"
) )
type DomainPolicyProjection struct { type domainPolicyProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewDomainPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *DomainPolicyProjection { func newDomainPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *domainPolicyProjection {
p := new(DomainPolicyProjection) p := new(domainPolicyProjection)
config.ProjectionName = DomainPolicyTable config.ProjectionName = DomainPolicyTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -58,7 +58,7 @@ func NewDomainPolicyProjection(ctx context.Context, config crdb.StatementHandler
return p return p
} }
func (p *DomainPolicyProjection) reducers() []handler.AggregateReducer { func (p *domainPolicyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 policyEvent policy.DomainPolicyAddedEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -123,7 +123,7 @@ func (p *DomainPolicyProjection) reduceAdded(event eventstore.Event) (*handler.S
}), nil }), 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 var policyEvent policy.DomainPolicyChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.DomainPolicyChangedEvent: case *org.DomainPolicyChangedEvent:
@ -154,7 +154,7 @@ func (p *DomainPolicyProjection) reduceChanged(event eventstore.Event) (*handler
}), nil }), 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) policyEvent, ok := event.(*org.DomainPolicyRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-JAENd", "reduce.wrong.event.type %s", org.DomainPolicyRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-JAENd", "reduce.wrong.event.type %s", org.DomainPolicyRemovedEventType)

View File

@ -35,7 +35,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainPolicyAddedEventMapper), ), org.DomainPolicyAddedEventMapper),
}, },
reduce: (&DomainPolicyProjection{}).reduceAdded, reduce: (&domainPolicyProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -65,7 +65,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceChanged", name: "org.reduceChanged",
reduce: (&DomainPolicyProjection{}).reduceChanged, reduce: (&domainPolicyProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.DomainPolicyChangedEventType), repository.EventType(org.DomainPolicyChangedEventType),
@ -101,7 +101,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceRemoved", name: "org.reduceRemoved",
reduce: (&DomainPolicyProjection{}).reduceRemoved, reduce: (&domainPolicyProjection{}).reduceRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.DomainPolicyRemovedEventType), repository.EventType(org.DomainPolicyRemovedEventType),
@ -128,7 +128,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceAdded", name: "instance.reduceAdded",
reduce: (&DomainPolicyProjection{}).reduceAdded, reduce: (&domainPolicyProjection{}).reduceAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DomainPolicyAddedEventType), repository.EventType(instance.DomainPolicyAddedEventType),
@ -169,7 +169,7 @@ func TestDomainPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceChanged", name: "instance.reduceChanged",
reduce: (&DomainPolicyProjection{}).reduceChanged, reduce: (&domainPolicyProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.DomainPolicyChangedEventType), repository.EventType(instance.DomainPolicyChangedEventType),

View File

@ -22,12 +22,12 @@ const (
FlowActionIDCol = "action_id" FlowActionIDCol = "action_id"
) )
type FlowProjection struct { type flowProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig) *FlowProjection { func newFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig) *flowProjection {
p := new(FlowProjection) p := new(flowProjection)
config.ProjectionName = FlowTriggerTable config.ProjectionName = FlowTriggerTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -48,7 +48,7 @@ func NewFlowProjection(ctx context.Context, config crdb.StatementHandlerConfig)
return p return p
} }
func (p *FlowProjection) reducers() []handler.AggregateReducer { func (p *flowProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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) e, ok := event.(*org.TriggerActionsSetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.TriggerActionsSetEventType) 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 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) e, ok := event.(*org.FlowClearedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.FlowClearedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uYq4r", "reduce.wrong.event.type %s", org.FlowClearedEventType)

View File

@ -30,7 +30,7 @@ func TestFlowProjection_reduces(t *testing.T) {
[]byte(`{"flowType": 1, "triggerType": 1, "actionIDs": ["id1", "id2"]}`), []byte(`{"flowType": 1, "triggerType": 1, "actionIDs": ["id1", "id2"]}`),
), org.TriggerActionsSetEventMapper), ), org.TriggerActionsSetEventMapper),
}, },
reduce: (&FlowProjection{}).reduceTriggerActionsSetEventType, reduce: (&flowProjection{}).reduceTriggerActionsSetEventType,
want: wantReduce{ want: wantReduce{
projection: FlowTriggerTable, projection: FlowTriggerTable,
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
@ -85,7 +85,7 @@ func TestFlowProjection_reduces(t *testing.T) {
[]byte(`{"flowType": 1}`), []byte(`{"flowType": 1}`),
), org.FlowClearedEventMapper), ), org.FlowClearedEventMapper),
}, },
reduce: (&FlowProjection{}).reduceFlowClearedEventType, reduce: (&flowProjection{}).reduceFlowClearedEventType,
want: wantReduce{ want: wantReduce{
projection: FlowTriggerTable, projection: FlowTriggerTable,
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),

View File

@ -55,12 +55,12 @@ const (
JWTConfigEndpointCol = "endpoint" JWTConfigEndpointCol = "endpoint"
) )
type IDPProjection struct { type idpProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPProjection { func newIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpProjection {
p := new(IDPProjection) p := new(idpProjection)
config.ProjectionName = IDPTable config.ProjectionName = IDPTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewMultiTableCheck( config.InitCheck = crdb.NewMultiTableCheck(
@ -115,7 +115,7 @@ func NewIDPProjection(ctx context.Context, config crdb.StatementHandlerConfig) *
return p return p
} }
func (p *IDPProjection) reducers() []handler.AggregateReducer { func (p *idpProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: instance.AggregateType, 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 idpEvent idpconfig.IDPConfigAddedEvent
var idpOwnerType domain.IdentityProviderType var idpOwnerType domain.IdentityProviderType
switch e := event.(type) { switch e := event.(type) {
@ -234,7 +234,7 @@ func (p *IDPProjection) reduceIDPAdded(event eventstore.Event) (*handler.Stateme
), nil ), 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 var idpEvent idpconfig.IDPConfigChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPConfigChangedEvent: case *org.IDPConfigChangedEvent:
@ -274,7 +274,7 @@ func (p *IDPProjection) reduceIDPChanged(event eventstore.Event) (*handler.State
), nil ), 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 var idpEvent idpconfig.IDPConfigDeactivatedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPConfigDeactivatedEvent: case *org.IDPConfigDeactivatedEvent:
@ -299,7 +299,7 @@ func (p *IDPProjection) reduceIDPDeactivated(event eventstore.Event) (*handler.S
), nil ), 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 var idpEvent idpconfig.IDPConfigReactivatedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPConfigReactivatedEvent: case *org.IDPConfigReactivatedEvent:
@ -324,7 +324,7 @@ func (p *IDPProjection) reduceIDPReactivated(event eventstore.Event) (*handler.S
), nil ), 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 var idpEvent idpconfig.IDPConfigRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPConfigRemovedEvent: case *org.IDPConfigRemovedEvent:
@ -344,7 +344,7 @@ func (p *IDPProjection) reduceIDPRemoved(event eventstore.Event) (*handler.State
), nil ), 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 var idpEvent idpconfig.OIDCConfigAddedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPOIDCConfigAddedEvent: case *org.IDPOIDCConfigAddedEvent:
@ -385,7 +385,7 @@ func (p *IDPProjection) reduceOIDCConfigAdded(event eventstore.Event) (*handler.
), nil ), 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 var idpEvent idpconfig.OIDCConfigChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPOIDCConfigChangedEvent: case *org.IDPOIDCConfigChangedEvent:
@ -449,7 +449,7 @@ func (p *IDPProjection) reduceOIDCConfigChanged(event eventstore.Event) (*handle
), nil ), 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 var idpEvent idpconfig.JWTConfigAddedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPJWTConfigAddedEvent: case *org.IDPJWTConfigAddedEvent:
@ -487,7 +487,7 @@ func (p *IDPProjection) reduceJWTConfigAdded(event eventstore.Event) (*handler.S
), nil ), 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 var idpEvent idpconfig.JWTConfigChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.IDPJWTConfigChangedEvent: case *org.IDPJWTConfigChangedEvent:

View File

@ -26,12 +26,12 @@ const (
IDPLoginPolicyLinkProviderTypeCol = "provider_type" IDPLoginPolicyLinkProviderTypeCol = "provider_type"
) )
type IDPLoginPolicyLinkProjection struct { type idpLoginPolicyLinkProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPLoginPolicyLinkProjection { func newIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpLoginPolicyLinkProjection {
p := new(IDPLoginPolicyLinkProjection) p := new(idpLoginPolicyLinkProjection)
config.ProjectionName = IDPLoginPolicyLinkTable config.ProjectionName = IDPLoginPolicyLinkTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -53,7 +53,7 @@ func NewIDPLoginPolicyLinkProjection(ctx context.Context, config crdb.StatementH
return p return p
} }
func (p *IDPLoginPolicyLinkProjection) reducers() []handler.AggregateReducer { func (p *idpLoginPolicyLinkProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 ( var (
idp policy.IdentityProviderAddedEvent idp policy.IdentityProviderAddedEvent
providerType domain.IdentityProviderType providerType domain.IdentityProviderType
@ -135,7 +135,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceAdded(event eventstore.Event) (*han
), nil ), 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 var idp policy.IdentityProviderRemovedEvent
switch e := event.(type) { switch e := event.(type) {
@ -155,7 +155,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceRemoved(event eventstore.Event) (*h
), nil ), 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 var idp policy.IdentityProviderCascadeRemovedEvent
switch e := event.(type) { switch e := event.(type) {
@ -175,7 +175,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceCascadeRemoved(event eventstore.Eve
), nil ), nil
} }
func (p *IDPLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *idpLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) {
var idpID string var idpID string
switch e := event.(type) { switch e := event.(type) {
@ -195,7 +195,7 @@ func (p *IDPLoginPolicyLinkProjection) reduceIDPConfigRemoved(event eventstore.E
), nil ), 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) e, ok := event.(*org.OrgRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QSoSe", "reduce.wrong.event.type %s", org.OrgRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QSoSe", "reduce.wrong.event.type %s", org.OrgRemovedEventType)

View File

@ -34,7 +34,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), instance.IdentityProviderAddedEventMapper), ), instance.IdentityProviderAddedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceAdded, reduce: (&idpLoginPolicyLinkProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -71,7 +71,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), instance.IdentityProviderRemovedEventMapper), ), instance.IdentityProviderRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -102,7 +102,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), instance.IdentityProviderCascadeRemovedEventMapper), ), instance.IdentityProviderCascadeRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceCascadeRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceCascadeRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -133,7 +133,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), org.IdentityProviderAddedEventMapper), ), org.IdentityProviderAddedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceAdded, reduce: (&idpLoginPolicyLinkProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -170,7 +170,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), org.IdentityProviderRemovedEventMapper), ), org.IdentityProviderRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -201,7 +201,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), org.IdentityProviderCascadeRemovedEventMapper), ), org.IdentityProviderCascadeRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceCascadeRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceCascadeRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -229,7 +229,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), org.OrgRemovedEventMapper), ), org.OrgRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceOrgRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceOrgRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -258,7 +258,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigRemovedEventMapper), ), org.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceIDPConfigRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -288,7 +288,7 @@ func TestIDPLoginPolicyLinkProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigRemovedEventMapper), ), instance.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPLoginPolicyLinkProjection{}).reduceIDPConfigRemoved, reduce: (&idpLoginPolicyLinkProjection{}).reduceIDPConfigRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,

View File

@ -39,7 +39,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigAddedEventMapper), ), instance.IDPConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPAdded, reduce: (&idpProjection{}).reduceIDPAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -81,7 +81,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigChangedEventMapper), ), instance.IDPConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPChanged, reduce: (&idpProjection{}).reduceIDPChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -116,7 +116,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigDeactivatedEventMapper), ), instance.IDPConfigDeactivatedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPDeactivated, reduce: (&idpProjection{}).reduceIDPDeactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -149,7 +149,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigReactivatedEventMapper), ), instance.IDPConfigReactivatedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPReactivated, reduce: (&idpProjection{}).reduceIDPReactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -182,7 +182,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigRemovedEventMapper), ), instance.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPRemoved, reduce: (&idpProjection{}).reduceIDPRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -224,7 +224,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPOIDCConfigAddedEventMapper), ), instance.IDPOIDCConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigAdded, reduce: (&idpProjection{}).reduceOIDCConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -284,7 +284,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPOIDCConfigChangedEventMapper), ), instance.IDPOIDCConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigChanged, reduce: (&idpProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -329,7 +329,7 @@ func TestIDPProjection_reduces(t *testing.T) {
[]byte("{}"), []byte("{}"),
), instance.IDPOIDCConfigChangedEventMapper), ), instance.IDPOIDCConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigChanged, reduce: (&idpProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -355,7 +355,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPJWTConfigAddedEventMapper), ), instance.IDPJWTConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigAdded, reduce: (&idpProjection{}).reduceJWTConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -403,7 +403,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPJWTConfigChangedEventMapper), ), instance.IDPJWTConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigChanged, reduce: (&idpProjection{}).reduceJWTConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -444,7 +444,7 @@ func TestIDPProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), instance.IDPJWTConfigChangedEventMapper), ), instance.IDPJWTConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigChanged, reduce: (&idpProjection{}).reduceJWTConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -470,7 +470,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigAddedEventMapper), ), org.IDPConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPAdded, reduce: (&idpProjection{}).reduceIDPAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -512,7 +512,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigChangedEventMapper), ), org.IDPConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPChanged, reduce: (&idpProjection{}).reduceIDPChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -547,7 +547,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigDeactivatedEventMapper), ), org.IDPConfigDeactivatedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPDeactivated, reduce: (&idpProjection{}).reduceIDPDeactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -580,7 +580,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigReactivatedEventMapper), ), org.IDPConfigReactivatedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPReactivated, reduce: (&idpProjection{}).reduceIDPReactivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -613,7 +613,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigRemovedEventMapper), ), org.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceIDPRemoved, reduce: (&idpProjection{}).reduceIDPRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -655,7 +655,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPOIDCConfigAddedEventMapper), ), org.IDPOIDCConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigAdded, reduce: (&idpProjection{}).reduceOIDCConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -715,7 +715,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPOIDCConfigChangedEventMapper), ), org.IDPOIDCConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigChanged, reduce: (&idpProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -760,7 +760,7 @@ func TestIDPProjection_reduces(t *testing.T) {
[]byte("{}"), []byte("{}"),
), org.IDPOIDCConfigChangedEventMapper), ), org.IDPOIDCConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceOIDCConfigChanged, reduce: (&idpProjection{}).reduceOIDCConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -786,7 +786,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPJWTConfigAddedEventMapper), ), org.IDPJWTConfigAddedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigAdded, reduce: (&idpProjection{}).reduceJWTConfigAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -834,7 +834,7 @@ func TestIDPProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPJWTConfigChangedEventMapper), ), org.IDPJWTConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigChanged, reduce: (&idpProjection{}).reduceJWTConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -875,7 +875,7 @@ func TestIDPProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), org.IDPJWTConfigChangedEventMapper), ), org.IDPJWTConfigChangedEventMapper),
}, },
reduce: (&IDPProjection{}).reduceJWTConfigChanged, reduce: (&idpProjection{}).reduceJWTConfigChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,

View File

@ -25,12 +25,12 @@ const (
IDPUserLinkDisplayNameCol = "display_name" IDPUserLinkDisplayNameCol = "display_name"
) )
type IDPUserLinkProjection struct { type idpUserLinkProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *IDPUserLinkProjection { func newIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerConfig) *idpUserLinkProjection {
p := new(IDPUserLinkProjection) p := new(idpUserLinkProjection)
config.ProjectionName = IDPUserLinkTable config.ProjectionName = IDPUserLinkTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -53,7 +53,7 @@ func NewIDPUserLinkProjection(ctx context.Context, config crdb.StatementHandlerC
return p return p
} }
func (p *IDPUserLinkProjection) reducers() []handler.AggregateReducer { func (p *idpUserLinkProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: user.AggregateType, 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) e, ok := event.(*user.UserIDPLinkAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-DpmXq", "reduce.wrong.event.type %s", user.UserIDPLinkAddedType) 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 ), 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) e, ok := event.(*user.UserIDPLinkRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AZmfJ", "reduce.wrong.event.type %s", user.UserIDPLinkRemovedType) 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 ), 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) e, ok := event.(*user.UserIDPLinkCascadeRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-jQpv9", "reduce.wrong.event.type %s", user.UserIDPLinkCascadeRemovedType) 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 ), 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) e, ok := event.(*org.OrgRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AZmfJ", "reduce.wrong.event.type %s", org.OrgRemovedEventType) 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 ), 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) e, ok := event.(*user.UserRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-uwlWE", "reduce.wrong.event.type %s", user.UserRemovedType) 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 ), nil
} }
func (p *IDPUserLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *idpUserLinkProjection) reduceIDPConfigRemoved(event eventstore.Event) (*handler.Statement, error) {
var idpID string var idpID string
switch e := event.(type) { switch e := event.(type) {

View File

@ -35,7 +35,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
}`), }`),
), user.UserIDPLinkAddedEventMapper), ), user.UserIDPLinkAddedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceAdded, reduce: (&idpUserLinkProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -73,7 +73,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
}`), }`),
), user.UserIDPLinkRemovedEventMapper), ), user.UserIDPLinkRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceRemoved, reduce: (&idpUserLinkProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -105,7 +105,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
}`), }`),
), user.UserIDPLinkCascadeRemovedEventMapper), ), user.UserIDPLinkCascadeRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceCascadeRemoved, reduce: (&idpUserLinkProjection{}).reduceCascadeRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -134,7 +134,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), org.OrgRemovedEventMapper), ), org.OrgRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceOrgRemoved, reduce: (&idpUserLinkProjection{}).reduceOrgRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -161,7 +161,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), user.UserRemovedEventMapper), ), user.UserRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceUserRemoved, reduce: (&idpUserLinkProjection{}).reduceUserRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -190,7 +190,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
}`), }`),
), org.IDPConfigRemovedEventMapper), ), org.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceIDPConfigRemoved, reduce: (&idpUserLinkProjection{}).reduceIDPConfigRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: org.AggregateType, aggregateType: org.AggregateType,
sequence: 15, sequence: 15,
@ -220,7 +220,7 @@ func TestIDPUserLinkProjection_reduces(t *testing.T) {
}`), }`),
), instance.IDPConfigRemovedEventMapper), ), instance.IDPConfigRemovedEventMapper),
}, },
reduce: (&IDPUserLinkProjection{}).reduceIDPConfigRemoved, reduce: (&idpUserLinkProjection{}).reduceIDPConfigRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,

View File

@ -25,12 +25,12 @@ const (
InstanceColumnDefaultLanguage = "default_language" InstanceColumnDefaultLanguage = "default_language"
) )
type InstanceProjection struct { type instanceProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewInstanceProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceProjection { func newInstanceProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceProjection {
p := new(InstanceProjection) p := new(instanceProjection)
config.ProjectionName = InstanceProjectionTable config.ProjectionName = InstanceProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -53,7 +53,7 @@ func NewInstanceProjection(ctx context.Context, config crdb.StatementHandlerConf
return p return p
} }
func (p *InstanceProjection) reducers() []handler.AggregateReducer { func (p *instanceProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: instance.AggregateType, 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) e, ok := event.(*instance.InstanceAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-29nlS", "reduce.wrong.event.type %s", instance.InstanceAddedEventType) 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 ), 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) e, ok := event.(*instance.DefaultOrgSetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-2n9f2", "reduce.wrong.event.type %s", instance.DefaultOrgSetEventType) 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 ), 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) e, ok := event.(*instance.ProjectSetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", instance.ProjectSetEventType) 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 ), 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) e, ok := event.(*instance.ConsoleSetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dgf11", "reduce.wrong.event.type %s", instance.ConsoleSetEventType) 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 ), 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) e, ok := event.(*instance.DefaultLanguageSetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", instance.DefaultLanguageSetEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-30o0e", "reduce.wrong.event.type %s", instance.DefaultLanguageSetEventType)

View File

@ -22,12 +22,12 @@ const (
InstanceDomainIsPrimaryCol = "is_primary" InstanceDomainIsPrimaryCol = "is_primary"
) )
type InstanceDomainProjection struct { type instanceDomainProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewInstanceDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceDomainProjection { func newInstanceDomainProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceDomainProjection {
p := new(InstanceDomainProjection) p := new(instanceDomainProjection)
config.ProjectionName = InstanceDomainTable config.ProjectionName = InstanceDomainTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -47,7 +47,7 @@ func NewInstanceDomainProjection(ctx context.Context, config crdb.StatementHandl
return p return p
} }
func (p *InstanceDomainProjection) reducers() []handler.AggregateReducer { func (p *instanceDomainProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: instance.AggregateType, 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) e, ok := event.(*instance.DomainAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-38nNf", "reduce.wrong.event.type %s", instance.InstanceDomainAddedEventType) 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 ), 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) e, ok := event.(*instance.DomainPrimarySetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-f8nlw", "reduce.wrong.event.type %s", instance.InstanceDomainPrimarySetEventType) 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 ), 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) e, ok := event.(*instance.DomainRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-388Nk", "reduce.wrong.event.type %s", instance.InstanceDomainRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-388Nk", "reduce.wrong.event.type %s", instance.InstanceDomainRemovedEventType)

View File

@ -29,7 +29,7 @@ func TestInstanceDomainProjection_reduces(t *testing.T) {
[]byte(`{"domain": "domain.new", "generated": true}`), []byte(`{"domain": "domain.new", "generated": true}`),
), instance.DomainAddedEventMapper), ), instance.DomainAddedEventMapper),
}, },
reduce: (&InstanceDomainProjection{}).reduceDomainAdded, reduce: (&instanceDomainProjection{}).reduceDomainAdded,
want: wantReduce{ want: wantReduce{
projection: InstanceDomainTable, projection: InstanceDomainTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
@ -62,7 +62,7 @@ func TestInstanceDomainProjection_reduces(t *testing.T) {
[]byte(`{"domain": "domain.new"}`), []byte(`{"domain": "domain.new"}`),
), instance.DomainRemovedEventMapper), ), instance.DomainRemovedEventMapper),
}, },
reduce: (&InstanceDomainProjection{}).reduceDomainRemoved, reduce: (&instanceDomainProjection{}).reduceDomainRemoved,
want: wantReduce{ want: wantReduce{
projection: InstanceDomainTable, projection: InstanceDomainTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),

View File

@ -17,12 +17,12 @@ const (
InstanceMemberIAMIDCol = "id" InstanceMemberIAMIDCol = "id"
) )
type InstanceMemberProjection struct { type instanceMemberProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewInstanceMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *InstanceMemberProjection { func newInstanceMemberProjection(ctx context.Context, config crdb.StatementHandlerConfig) *instanceMemberProjection {
p := new(InstanceMemberProjection) p := new(instanceMemberProjection)
config.ProjectionName = InstanceMemberProjectionTable config.ProjectionName = InstanceMemberProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -37,7 +37,7 @@ func NewInstanceMemberProjection(ctx context.Context, config crdb.StatementHandl
return p return p
} }
func (p *InstanceMemberProjection) reducers() []handler.AggregateReducer { func (p *instanceMemberProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: instance.AggregateType, 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) e, ok := event.(*instance.MemberAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-pGNCu", "reduce.wrong.event.type %s", instance.MemberAddedEventType) 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)) 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) e, ok := event.(*instance.MemberChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-5WQcZ", "reduce.wrong.event.type %s", instance.MemberChangedEventType) 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) 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) e, ok := event.(*instance.MemberCascadeRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-Dmdf2", "reduce.wrong.event.type %s", instance.MemberCascadeRemovedEventType) 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) 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) e, ok := event.(*instance.MemberRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-exVqy", "reduce.wrong.event.type %s", instance.MemberRemovedEventType) 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)) 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) e, ok := event.(*user.UserRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-mkDHF", "reduce.wrong.event.type %s", user.UserRemovedType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-mkDHF", "reduce.wrong.event.type %s", user.UserRemovedType)

View File

@ -35,7 +35,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) {
}`), }`),
), instance.MemberAddedEventMapper), ), instance.MemberAddedEventMapper),
}, },
reduce: (&InstanceMemberProjection{}).reduceAdded, reduce: (&instanceMemberProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -72,7 +72,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) {
}`), }`),
), instance.MemberChangedEventMapper), ), instance.MemberChangedEventMapper),
}, },
reduce: (&InstanceMemberProjection{}).reduceChanged, reduce: (&instanceMemberProjection{}).reduceChanged,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -104,7 +104,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) {
}`), }`),
), instance.MemberCascadeRemovedEventMapper), ), instance.MemberCascadeRemovedEventMapper),
}, },
reduce: (&InstanceMemberProjection{}).reduceCascadeRemoved, reduce: (&instanceMemberProjection{}).reduceCascadeRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -133,7 +133,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) {
}`), }`),
), instance.MemberRemovedEventMapper), ), instance.MemberRemovedEventMapper),
}, },
reduce: (&InstanceMemberProjection{}).reduceRemoved, reduce: (&instanceMemberProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: instance.AggregateType, aggregateType: instance.AggregateType,
sequence: 15, sequence: 15,
@ -160,7 +160,7 @@ func TestInstanceMemberProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), user.UserRemovedEventMapper), ), user.UserRemovedEventMapper),
}, },
reduce: (&InstanceMemberProjection{}).reduceUserRemoved, reduce: (&instanceMemberProjection{}).reduceUserRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,

View File

@ -28,7 +28,7 @@ func TestInstanceProjection_reduces(t *testing.T) {
[]byte(`{"name": "Name"}`), []byte(`{"name": "Name"}`),
), instance.InstanceAddedEventMapper), ), instance.InstanceAddedEventMapper),
}, },
reduce: (&InstanceProjection{}).reduceInstanceAdded, reduce: (&instanceProjection{}).reduceInstanceAdded,
want: wantReduce{ want: wantReduce{
projection: InstanceProjectionTable, projection: InstanceProjectionTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
@ -59,7 +59,7 @@ func TestInstanceProjection_reduces(t *testing.T) {
[]byte(`{"orgId": "orgid"}`), []byte(`{"orgId": "orgid"}`),
), instance.DefaultOrgSetMapper), ), instance.DefaultOrgSetMapper),
}, },
reduce: (&InstanceProjection{}).reduceDefaultOrgSet, reduce: (&instanceProjection{}).reduceDefaultOrgSet,
want: wantReduce{ want: wantReduce{
projection: InstanceProjectionTable, projection: InstanceProjectionTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
@ -89,7 +89,7 @@ func TestInstanceProjection_reduces(t *testing.T) {
[]byte(`{"iamProjectId": "project-id"}`), []byte(`{"iamProjectId": "project-id"}`),
), instance.ProjectSetMapper), ), instance.ProjectSetMapper),
}, },
reduce: (&InstanceProjection{}).reduceIAMProjectSet, reduce: (&instanceProjection{}).reduceIAMProjectSet,
want: wantReduce{ want: wantReduce{
projection: InstanceProjectionTable, projection: InstanceProjectionTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
@ -119,7 +119,7 @@ func TestInstanceProjection_reduces(t *testing.T) {
[]byte(`{"language": "en"}`), []byte(`{"language": "en"}`),
), instance.DefaultLanguageSetMapper), ), instance.DefaultLanguageSetMapper),
}, },
reduce: (&InstanceProjection{}).reduceDefaultLanguageSet, reduce: (&instanceProjection{}).reduceDefaultLanguageSet,
want: wantReduce{ want: wantReduce{
projection: InstanceProjectionTable, projection: InstanceProjectionTable,
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),

View File

@ -39,13 +39,13 @@ const (
KeyPublicColumnKey = "key" KeyPublicColumnKey = "key"
) )
type KeyProjection struct { type keyProjection struct {
crdb.StatementHandler crdb.StatementHandler
encryptionAlgorithm crypto.EncryptionAlgorithm encryptionAlgorithm crypto.EncryptionAlgorithm
} }
func NewKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, keyEncryptionAlgorithm crypto.EncryptionAlgorithm) *KeyProjection { func newKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, keyEncryptionAlgorithm crypto.EncryptionAlgorithm) *keyProjection {
p := new(KeyProjection) p := new(keyProjection)
config.ProjectionName = KeyProjectionTable config.ProjectionName = KeyProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewMultiTableCheck( config.InitCheck = crdb.NewMultiTableCheck(
@ -89,7 +89,7 @@ func NewKeyProjection(ctx context.Context, config crdb.StatementHandlerConfig, k
return p return p
} }
func (p *KeyProjection) reducers() []handler.AggregateReducer { func (p *keyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: keypair.AggregateType, 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) e, ok := event.(*keypair.AddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-SAbr2", "reduce.wrong.event.type %s", keypair.AddedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-SAbr2", "reduce.wrong.event.type %s", keypair.AddedEventType)

View File

@ -34,7 +34,7 @@ func TestKeyProjection_reduces(t *testing.T) {
keypairAddedEventData(time.Now().Add(time.Hour)), keypairAddedEventData(time.Now().Add(time.Hour)),
), keypair.AddedEventMapper), ), keypair.AddedEventMapper),
}, },
reduce: (&KeyProjection{encryptionAlgorithm: crypto.CreateMockEncryptionAlg(gomock.NewController(t))}).reduceKeyPairAdded, reduce: (&keyProjection{encryptionAlgorithm: crypto.CreateMockEncryptionAlg(gomock.NewController(t))}).reduceKeyPairAdded,
want: wantReduce{ want: wantReduce{
projection: KeyProjectionTable, projection: KeyProjectionTable,
aggregateType: eventstore.AggregateType("key_pair"), aggregateType: eventstore.AggregateType("key_pair"),
@ -91,7 +91,7 @@ func TestKeyProjection_reduces(t *testing.T) {
keypairAddedEventData(time.Now().Add(-time.Hour)), keypairAddedEventData(time.Now().Add(-time.Hour)),
), keypair.AddedEventMapper), ), keypair.AddedEventMapper),
}, },
reduce: (&KeyProjection{}).reduceKeyPairAdded, reduce: (&keyProjection{}).reduceKeyPairAdded,
want: wantReduce{ want: wantReduce{
projection: KeyProjectionTable, projection: KeyProjectionTable,
aggregateType: eventstore.AggregateType("key_pair"), aggregateType: eventstore.AggregateType("key_pair"),

View File

@ -44,12 +44,12 @@ const (
LabelPolicyDarkIconURLCol = "dark_icon_url" LabelPolicyDarkIconURLCol = "dark_icon_url"
) )
type LabelPolicyProjection struct { type labelPolicyProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LabelPolicyProjection { func newLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *labelPolicyProjection {
p := new(LabelPolicyProjection) p := new(labelPolicyProjection)
config.ProjectionName = LabelPolicyTable config.ProjectionName = LabelPolicyTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -86,7 +86,7 @@ func NewLabelPolicyProjection(ctx context.Context, config crdb.StatementHandlerC
return p return p
} }
func (p *LabelPolicyProjection) reducers() []handler.AggregateReducer { func (p *labelPolicyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 policyEvent policy.LabelPolicyAddedEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -255,7 +255,7 @@ func (p *LabelPolicyProjection) reduceAdded(event eventstore.Event) (*handler.St
}), nil }), 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 var policyEvent policy.LabelPolicyChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.LabelPolicyChangedEvent: case *org.LabelPolicyChangedEvent:
@ -311,7 +311,7 @@ func (p *LabelPolicyProjection) reduceChanged(event eventstore.Event) (*handler.
}), nil }), 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) policyEvent, ok := event.(*org.LabelPolicyRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-ATMBz", "reduce.wrong.event.type %s", org.LabelPolicyRemovedEventType) 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 }), nil
} }
func (p *LabelPolicyProjection) reduceActivated(event eventstore.Event) (*handler.Statement, error) { func (p *labelPolicyProjection) reduceActivated(event eventstore.Event) (*handler.Statement, error) {
switch event.(type) { switch event.(type) {
case *org.LabelPolicyActivatedEvent, *instance.LabelPolicyActivatedEvent: case *org.LabelPolicyActivatedEvent, *instance.LabelPolicyActivatedEvent:
// everything ok // everything ok
@ -365,7 +365,7 @@ func (p *LabelPolicyProjection) reduceActivated(event eventstore.Event) (*handle
}), nil }), 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 var storeKey handler.Column
switch e := event.(type) { switch e := event.(type) {
case *org.LabelPolicyLogoAddedEvent: case *org.LabelPolicyLogoAddedEvent:
@ -393,7 +393,7 @@ func (p *LabelPolicyProjection) reduceLogoAdded(event eventstore.Event) (*handle
}), nil }), nil
} }
func (p *LabelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *labelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*handler.Statement, error) {
var col string var col string
switch event.(type) { switch event.(type) {
case *org.LabelPolicyLogoRemovedEvent: case *org.LabelPolicyLogoRemovedEvent:
@ -421,7 +421,7 @@ func (p *LabelPolicyProjection) reduceLogoRemoved(event eventstore.Event) (*hand
}), nil }), 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 var storeKey handler.Column
switch e := event.(type) { switch e := event.(type) {
case *org.LabelPolicyIconAddedEvent: case *org.LabelPolicyIconAddedEvent:
@ -449,7 +449,7 @@ func (p *LabelPolicyProjection) reduceIconAdded(event eventstore.Event) (*handle
}), nil }), nil
} }
func (p *LabelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *labelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*handler.Statement, error) {
var col string var col string
switch event.(type) { switch event.(type) {
case *org.LabelPolicyIconRemovedEvent: case *org.LabelPolicyIconRemovedEvent:
@ -477,7 +477,7 @@ func (p *LabelPolicyProjection) reduceIconRemoved(event eventstore.Event) (*hand
}), nil }), 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 var storeKey handler.Column
switch e := event.(type) { switch e := event.(type) {
case *org.LabelPolicyFontAddedEvent: case *org.LabelPolicyFontAddedEvent:
@ -501,7 +501,7 @@ func (p *LabelPolicyProjection) reduceFontAdded(event eventstore.Event) (*handle
}), nil }), nil
} }
func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *labelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*handler.Statement, error) {
var col string var col string
switch event.(type) { switch event.(type) {
case *org.LabelPolicyFontRemovedEvent: case *org.LabelPolicyFontRemovedEvent:
@ -525,7 +525,7 @@ func (p *LabelPolicyProjection) reduceFontRemoved(event eventstore.Event) (*hand
}), nil }), nil
} }
func (p *LabelPolicyProjection) reduceAssetsRemoved(event eventstore.Event) (*handler.Statement, error) { func (p *labelPolicyProjection) reduceAssetsRemoved(event eventstore.Event) (*handler.Statement, error) {
switch event.(type) { switch event.(type) {
case *org.LabelPolicyAssetsRemovedEvent, *instance.LabelPolicyAssetsRemovedEvent: case *org.LabelPolicyAssetsRemovedEvent, *instance.LabelPolicyAssetsRemovedEvent:
//ok //ok

View File

@ -31,7 +31,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`),
), org.LabelPolicyAddedEventMapper), ), org.LabelPolicyAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceAdded, reduce: (&labelPolicyProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -76,7 +76,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`),
), org.LabelPolicyChangedEventMapper), ), org.LabelPolicyChangedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceChanged, reduce: (&labelPolicyProjection{}).reduceChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -110,7 +110,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil, nil,
), org.LabelPolicyRemovedEventMapper), ), org.LabelPolicyRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceRemoved, reduce: (&labelPolicyProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -137,7 +137,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil, nil,
), org.LabelPolicyActivatedEventMapper), ), org.LabelPolicyActivatedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceActivated, reduce: (&labelPolicyProjection{}).reduceActivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -169,7 +169,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), org.LabelPolicyLogoAddedEventMapper), ), org.LabelPolicyLogoAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoAdded, reduce: (&labelPolicyProjection{}).reduceLogoAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -200,7 +200,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), org.LabelPolicyLogoDarkAddedEventMapper), ), org.LabelPolicyLogoDarkAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoAdded, reduce: (&labelPolicyProjection{}).reduceLogoAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -231,7 +231,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), org.LabelPolicyIconAddedEventMapper), ), org.LabelPolicyIconAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconAdded, reduce: (&labelPolicyProjection{}).reduceIconAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -262,7 +262,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), org.LabelPolicyIconDarkAddedEventMapper), ), org.LabelPolicyIconDarkAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconAdded, reduce: (&labelPolicyProjection{}).reduceIconAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -293,7 +293,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), org.LabelPolicyLogoRemovedEventMapper), ), org.LabelPolicyLogoRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, reduce: (&labelPolicyProjection{}).reduceLogoRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -324,7 +324,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), org.LabelPolicyLogoDarkRemovedEventMapper), ), org.LabelPolicyLogoDarkRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, reduce: (&labelPolicyProjection{}).reduceLogoRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -355,7 +355,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), org.LabelPolicyIconRemovedEventMapper), ), org.LabelPolicyIconRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconRemoved, reduce: (&labelPolicyProjection{}).reduceIconRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -386,7 +386,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), org.LabelPolicyIconDarkRemovedEventMapper), ), org.LabelPolicyIconDarkRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconRemoved, reduce: (&labelPolicyProjection{}).reduceIconRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -417,7 +417,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/font.ttf"}`), []byte(`{"storeKey": "/path/to/font.ttf"}`),
), org.LabelPolicyFontAddedEventMapper), ), org.LabelPolicyFontAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceFontAdded, reduce: (&labelPolicyProjection{}).reduceFontAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -448,7 +448,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/font.ttf"}`), []byte(`{"storeKey": "/path/to/font.ttf"}`),
), org.LabelPolicyFontRemovedEventMapper), ), org.LabelPolicyFontRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceFontRemoved, reduce: (&labelPolicyProjection{}).reduceFontRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -479,7 +479,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil, nil,
), org.LabelPolicyAssetsRemovedEventMapper), ), org.LabelPolicyAssetsRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceAssetsRemoved, reduce: (&labelPolicyProjection{}).reduceAssetsRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -514,7 +514,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`), []byte(`{"backgroundColor": "#141735", "fontColor": "#ffffff", "primaryColor": "#5282c1", "warnColor": "#ff3b5b"}`),
), instance.LabelPolicyAddedEventMapper), ), instance.LabelPolicyAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceAdded, reduce: (&labelPolicyProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, 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}`), []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), ), instance.LabelPolicyChangedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceChanged, reduce: (&labelPolicyProjection{}).reduceChanged,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -600,7 +600,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil, nil,
), instance.LabelPolicyActivatedEventMapper), ), instance.LabelPolicyActivatedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceActivated, reduce: (&labelPolicyProjection{}).reduceActivated,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -632,7 +632,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), instance.LabelPolicyLogoAddedEventMapper), ), instance.LabelPolicyLogoAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoAdded, reduce: (&labelPolicyProjection{}).reduceLogoAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -663,7 +663,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), instance.LabelPolicyLogoDarkAddedEventMapper), ), instance.LabelPolicyLogoDarkAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoAdded, reduce: (&labelPolicyProjection{}).reduceLogoAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -694,7 +694,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), instance.LabelPolicyIconAddedEventMapper), ), instance.LabelPolicyIconAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconAdded, reduce: (&labelPolicyProjection{}).reduceIconAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -725,7 +725,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), instance.LabelPolicyIconDarkAddedEventMapper), ), instance.LabelPolicyIconDarkAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconAdded, reduce: (&labelPolicyProjection{}).reduceIconAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -756,7 +756,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), instance.LabelPolicyLogoRemovedEventMapper), ), instance.LabelPolicyLogoRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, reduce: (&labelPolicyProjection{}).reduceLogoRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -787,7 +787,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/logo.png"}`), []byte(`{"storeKey": "/path/to/logo.png"}`),
), instance.LabelPolicyLogoDarkRemovedEventMapper), ), instance.LabelPolicyLogoDarkRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceLogoRemoved, reduce: (&labelPolicyProjection{}).reduceLogoRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -818,7 +818,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), instance.LabelPolicyIconRemovedEventMapper), ), instance.LabelPolicyIconRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconRemoved, reduce: (&labelPolicyProjection{}).reduceIconRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -849,7 +849,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/icon.png"}`), []byte(`{"storeKey": "/path/to/icon.png"}`),
), instance.LabelPolicyIconDarkRemovedEventMapper), ), instance.LabelPolicyIconDarkRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceIconRemoved, reduce: (&labelPolicyProjection{}).reduceIconRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -880,7 +880,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/font.ttf"}`), []byte(`{"storeKey": "/path/to/font.ttf"}`),
), instance.LabelPolicyFontAddedEventMapper), ), instance.LabelPolicyFontAddedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceFontAdded, reduce: (&labelPolicyProjection{}).reduceFontAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -911,7 +911,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
[]byte(`{"storeKey": "/path/to/font.ttf"}`), []byte(`{"storeKey": "/path/to/font.ttf"}`),
), instance.LabelPolicyFontRemovedEventMapper), ), instance.LabelPolicyFontRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceFontRemoved, reduce: (&labelPolicyProjection{}).reduceFontRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,
@ -942,7 +942,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil, nil,
), instance.LabelPolicyAssetsRemovedEventMapper), ), instance.LabelPolicyAssetsRemovedEventMapper),
}, },
reduce: (&LabelPolicyProjection{}).reduceAssetsRemoved, reduce: (&labelPolicyProjection{}).reduceAssetsRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,

View File

@ -28,12 +28,12 @@ const (
LockoutPolicyShowLockOutFailuresCol = "show_failure" LockoutPolicyShowLockOutFailuresCol = "show_failure"
) )
type LockoutPolicyProjection struct { type lockoutPolicyProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LockoutPolicyProjection { func newLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *lockoutPolicyProjection {
p := new(LockoutPolicyProjection) p := new(lockoutPolicyProjection)
config.ProjectionName = LockoutPolicyTable config.ProjectionName = LockoutPolicyTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -56,7 +56,7 @@ func NewLockoutPolicyProjection(ctx context.Context, config crdb.StatementHandle
return p return p
} }
func (p *LockoutPolicyProjection) reducers() []handler.AggregateReducer { func (p *lockoutPolicyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 policyEvent policy.LockoutPolicyAddedEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -120,7 +120,7 @@ func (p *LockoutPolicyProjection) reduceAdded(event eventstore.Event) (*handler.
}), nil }), 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 var policyEvent policy.LockoutPolicyChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.LockoutPolicyChangedEvent: case *org.LockoutPolicyChangedEvent:
@ -148,7 +148,7 @@ func (p *LockoutPolicyProjection) reduceChanged(event eventstore.Event) (*handle
}), nil }), 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) policyEvent, ok := event.(*org.LockoutPolicyRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-Bqut9", "reduce.wrong.event.type %s", org.LockoutPolicyRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-Bqut9", "reduce.wrong.event.type %s", org.LockoutPolicyRemovedEventType)

View File

@ -34,7 +34,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) {
}`), }`),
), org.LockoutPolicyAddedEventMapper), ), org.LockoutPolicyAddedEventMapper),
}, },
reduce: (&LockoutPolicyProjection{}).reduceAdded, reduce: (&lockoutPolicyProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -63,7 +63,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceChanged", name: "org.reduceChanged",
reduce: (&LockoutPolicyProjection{}).reduceChanged, reduce: (&lockoutPolicyProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LockoutPolicyChangedEventType), repository.EventType(org.LockoutPolicyChangedEventType),
@ -97,7 +97,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceRemoved", name: "org.reduceRemoved",
reduce: (&LockoutPolicyProjection{}).reduceRemoved, reduce: (&lockoutPolicyProjection{}).reduceRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LockoutPolicyRemovedEventType), repository.EventType(org.LockoutPolicyRemovedEventType),
@ -124,7 +124,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceAdded", name: "instance.reduceAdded",
reduce: (&LockoutPolicyProjection{}).reduceAdded, reduce: (&lockoutPolicyProjection{}).reduceAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LockoutPolicyAddedEventType), repository.EventType(instance.LockoutPolicyAddedEventType),
@ -163,7 +163,7 @@ func TestLockoutPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceChanged", name: "instance.reduceChanged",
reduce: (&LockoutPolicyProjection{}).reduceChanged, reduce: (&lockoutPolicyProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LockoutPolicyChangedEventType), repository.EventType(instance.LockoutPolicyChangedEventType),

View File

@ -85,12 +85,12 @@ var (
) )
) )
type LoginNameProjection struct { type loginNameProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewLoginNameProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LoginNameProjection { func newLoginNameProjection(ctx context.Context, config crdb.StatementHandlerConfig) *loginNameProjection {
p := new(LoginNameProjection) p := new(loginNameProjection)
config.ProjectionName = LoginNameProjectionTable config.ProjectionName = LoginNameProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewViewCheck( config.InitCheck = crdb.NewViewCheck(
@ -129,7 +129,7 @@ func NewLoginNameProjection(ctx context.Context, config crdb.StatementHandlerCon
return p return p
} }
func (p *LoginNameProjection) reducers() []handler.AggregateReducer { func (p *loginNameProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: user.AggregateType, 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 var userName string
switch e := event.(type) { switch e := event.(type) {
@ -242,7 +242,7 @@ func (p *LoginNameProjection) reduceUserCreated(event eventstore.Event) (*handle
), nil ), 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) e, ok := event.(*user.UserRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QIe3C", "reduce.wrong.event.type %s", user.UserRemovedType) 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 ), 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) e, ok := event.(*user.UsernameChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-QlwjC", "reduce.wrong.event.type %s", user.UserUserNameChangedType) 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 ), 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) e, ok := event.(*user.DomainClaimedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-AQMBY", "reduce.wrong.event.type %s", user.UserDomainClaimedType) 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 ), nil
} }
func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*handler.Statement, error) { func (p *loginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*handler.Statement, error) {
var ( var (
policyEvent *policy.DomainPolicyAddedEvent policyEvent *policy.DomainPolicyAddedEvent
isDefault bool isDefault bool
@ -322,7 +322,7 @@ func (p *LoginNameProjection) reduceOrgIAMPolicyAdded(event eventstore.Event) (*
), nil ), 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 var policyEvent *policy.DomainPolicyChangedEvent
switch e := event.(type) { switch e := event.(type) {
@ -350,7 +350,7 @@ func (p *LoginNameProjection) reduceDomainPolicyChanged(event eventstore.Event)
), nil ), 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) e, ok := event.(*org.DomainPolicyRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-ysEeB", "reduce.wrong.event.type %s", org.DomainPolicyRemovedEventType) 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 ), 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) e, ok := event.(*org.DomainVerifiedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-weGAh", "reduce.wrong.event.type %s", org.OrgDomainVerifiedEventType) 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 ), 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) e, ok := event.(*org.DomainPrimarySetEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-eOXPN", "reduce.wrong.event.type %s", org.OrgDomainPrimarySetEventType) 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 ), 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) e, ok := event.(*org.DomainRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-4RHYq", "reduce.wrong.event.type %s", org.OrgDomainRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-4RHYq", "reduce.wrong.event.type %s", org.OrgDomainRemovedEventType)

View File

@ -33,7 +33,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), user.HumanAddedEventMapper), ), user.HumanAddedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserCreated, reduce: (&loginNameProjection{}).reduceUserCreated,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -65,7 +65,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), user.HumanRegisteredEventMapper), ), user.HumanRegisteredEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserCreated, reduce: (&loginNameProjection{}).reduceUserCreated,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -97,7 +97,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), user.MachineAddedEventMapper), ), user.MachineAddedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserCreated, reduce: (&loginNameProjection{}).reduceUserCreated,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -127,7 +127,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), user.UserRemovedEventMapper), ), user.UserRemovedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserRemoved, reduce: (&loginNameProjection{}).reduceUserRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -156,7 +156,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), user.UsernameChangedEventMapper), ), user.UsernameChangedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserNameChanged, reduce: (&loginNameProjection{}).reduceUserNameChanged,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -186,7 +186,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), user.DomainClaimedEventMapper), ), user.DomainClaimedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceUserDomainClaimed, reduce: (&loginNameProjection{}).reduceUserDomainClaimed,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -216,7 +216,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainPolicyAddedEventMapper), ), org.DomainPolicyAddedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, reduce: (&loginNameProjection{}).reduceOrgIAMPolicyAdded,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -248,7 +248,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainPolicyChangedEventMapper), ), org.DomainPolicyChangedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, reduce: (&loginNameProjection{}).reduceDomainPolicyChanged,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -276,7 +276,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), org.DomainPolicyChangedEventMapper), ), org.DomainPolicyChangedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, reduce: (&loginNameProjection{}).reduceDomainPolicyChanged,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -296,7 +296,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), org.DomainPolicyRemovedEventMapper), ), org.DomainPolicyRemovedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainPolicyRemoved, reduce: (&loginNameProjection{}).reduceDomainPolicyRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -325,7 +325,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainVerifiedEventMapper), ), org.DomainVerifiedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainVerified, reduce: (&loginNameProjection{}).reduceDomainVerified,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -356,7 +356,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainRemovedEventMapper), ), org.DomainRemovedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainRemoved, reduce: (&loginNameProjection{}).reduceDomainRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -386,7 +386,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), org.DomainPrimarySetEventMapper), ), org.DomainPrimarySetEventMapper),
}, },
reduce: (&LoginNameProjection{}).reducePrimaryDomainSet, reduce: (&loginNameProjection{}).reducePrimaryDomainSet,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -425,7 +425,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), instance.DomainPolicyAddedEventMapper), ), instance.DomainPolicyAddedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceOrgIAMPolicyAdded, reduce: (&loginNameProjection{}).reduceOrgIAMPolicyAdded,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -457,7 +457,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
}`), }`),
), instance.DomainPolicyChangedEventMapper), ), instance.DomainPolicyChangedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, reduce: (&loginNameProjection{}).reduceDomainPolicyChanged,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,
@ -485,7 +485,7 @@ func TestLoginNameProjection_reduces(t *testing.T) {
[]byte(`{}`), []byte(`{}`),
), instance.DomainPolicyChangedEventMapper), ), instance.DomainPolicyChangedEventMapper),
}, },
reduce: (&LoginNameProjection{}).reduceDomainPolicyChanged, reduce: (&loginNameProjection{}).reduceDomainPolicyChanged,
want: wantReduce{ want: wantReduce{
aggregateType: user.AggregateType, aggregateType: user.AggregateType,
sequence: 15, sequence: 15,

View File

@ -38,12 +38,12 @@ const (
MultiFactorCheckLifetimeCol = "multi_factor_check_lifetime" MultiFactorCheckLifetimeCol = "multi_factor_check_lifetime"
) )
type LoginPolicyProjection struct { type loginPolicyProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *LoginPolicyProjection { func newLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerConfig) *loginPolicyProjection {
p := new(LoginPolicyProjection) p := new(loginPolicyProjection)
config.ProjectionName = LoginPolicyTable config.ProjectionName = LoginPolicyTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -77,7 +77,7 @@ func NewLoginPolicyProjection(ctx context.Context, config crdb.StatementHandlerC
return p return p
} }
func (p *LoginPolicyProjection) reducers() []handler.AggregateReducer { func (p *loginPolicyProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 policyEvent policy.LoginPolicyAddedEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -181,7 +181,7 @@ func (p *LoginPolicyProjection) reduceLoginPolicyAdded(event eventstore.Event) (
}), nil }), 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 var policyEvent policy.LoginPolicyChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *instance.LoginPolicyChangedEvent: case *instance.LoginPolicyChangedEvent:
@ -245,7 +245,7 @@ func (p *LoginPolicyProjection) reduceLoginPolicyChanged(event eventstore.Event)
), nil ), 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 var policyEvent policy.MultiFactorAddedEvent
switch e := event.(type) { switch e := event.(type) {
case *instance.LoginPolicyMultiFactorAddedEvent: case *instance.LoginPolicyMultiFactorAddedEvent:
@ -269,7 +269,7 @@ func (p *LoginPolicyProjection) reduceMFAAdded(event eventstore.Event) (*handler
), nil ), 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 var policyEvent policy.MultiFactorRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *instance.LoginPolicyMultiFactorRemovedEvent: case *instance.LoginPolicyMultiFactorRemovedEvent:
@ -293,7 +293,7 @@ func (p *LoginPolicyProjection) reduceMFARemoved(event eventstore.Event) (*handl
), nil ), 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) e, ok := event.(*org.LoginPolicyRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-oRSvD", "reduce.wrong.event.type %s", org.LoginPolicyRemovedEventType) 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 ), 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 var policyEvent policy.SecondFactorAddedEvent
switch e := event.(type) { switch e := event.(type) {
case *instance.LoginPolicySecondFactorAddedEvent: case *instance.LoginPolicySecondFactorAddedEvent:
@ -330,7 +330,7 @@ func (p *LoginPolicyProjection) reduce2FAAdded(event eventstore.Event) (*handler
), nil ), 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 var policyEvent policy.SecondFactorRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *instance.LoginPolicySecondFactorRemovedEvent: case *instance.LoginPolicySecondFactorRemovedEvent:

View File

@ -46,7 +46,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}`), }`),
), org.LoginPolicyAddedEventMapper), ), org.LoginPolicyAddedEventMapper),
}, },
reduce: (&LoginPolicyProjection{}).reduceLoginPolicyAdded, reduce: (&loginPolicyProjection{}).reduceLoginPolicyAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -84,7 +84,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceLoginPolicyChanged", name: "org.reduceLoginPolicyChanged",
reduce: (&LoginPolicyProjection{}).reduceLoginPolicyChanged, reduce: (&loginPolicyProjection{}).reduceLoginPolicyChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicyChangedEventType), repository.EventType(org.LoginPolicyChangedEventType),
@ -140,7 +140,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceMFAAdded", name: "org.reduceMFAAdded",
reduce: (&LoginPolicyProjection{}).reduceMFAAdded, reduce: (&loginPolicyProjection{}).reduceMFAAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicyMultiFactorAddedEventType), repository.EventType(org.LoginPolicyMultiFactorAddedEventType),
@ -172,7 +172,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceMFARemoved", name: "org.reduceMFARemoved",
reduce: (&LoginPolicyProjection{}).reduceMFARemoved, reduce: (&loginPolicyProjection{}).reduceMFARemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicyMultiFactorRemovedEventType), repository.EventType(org.LoginPolicyMultiFactorRemovedEventType),
@ -204,7 +204,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceLoginPolicyRemoved", name: "org.reduceLoginPolicyRemoved",
reduce: (&LoginPolicyProjection{}).reduceLoginPolicyRemoved, reduce: (&loginPolicyProjection{}).reduceLoginPolicyRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicyRemovedEventType), repository.EventType(org.LoginPolicyRemovedEventType),
@ -231,7 +231,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduce2FAAdded", name: "org.reduce2FAAdded",
reduce: (&LoginPolicyProjection{}).reduce2FAAdded, reduce: (&loginPolicyProjection{}).reduce2FAAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicySecondFactorAddedEventType), repository.EventType(org.LoginPolicySecondFactorAddedEventType),
@ -263,7 +263,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduce2FARemoved", name: "org.reduce2FARemoved",
reduce: (&LoginPolicyProjection{}).reduce2FARemoved, reduce: (&loginPolicyProjection{}).reduce2FARemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.LoginPolicySecondFactorRemovedEventType), repository.EventType(org.LoginPolicySecondFactorRemovedEventType),
@ -295,7 +295,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceLoginPolicyAdded", name: "instance.reduceLoginPolicyAdded",
reduce: (&LoginPolicyProjection{}).reduceLoginPolicyAdded, reduce: (&loginPolicyProjection{}).reduceLoginPolicyAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicyAddedEventType), repository.EventType(instance.LoginPolicyAddedEventType),
@ -354,7 +354,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceLoginPolicyChanged", name: "instance.reduceLoginPolicyChanged",
reduce: (&LoginPolicyProjection{}).reduceLoginPolicyChanged, reduce: (&loginPolicyProjection{}).reduceLoginPolicyChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicyChangedEventType), repository.EventType(instance.LoginPolicyChangedEventType),
@ -400,7 +400,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceMFAAdded", name: "instance.reduceMFAAdded",
reduce: (&LoginPolicyProjection{}).reduceMFAAdded, reduce: (&loginPolicyProjection{}).reduceMFAAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicyMultiFactorAddedEventType), repository.EventType(instance.LoginPolicyMultiFactorAddedEventType),
@ -432,7 +432,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceMFARemoved", name: "instance.reduceMFARemoved",
reduce: (&LoginPolicyProjection{}).reduceMFARemoved, reduce: (&loginPolicyProjection{}).reduceMFARemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicyMultiFactorRemovedEventType), repository.EventType(instance.LoginPolicyMultiFactorRemovedEventType),
@ -464,7 +464,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduce2FAAdded", name: "instance.reduce2FAAdded",
reduce: (&LoginPolicyProjection{}).reduce2FAAdded, reduce: (&loginPolicyProjection{}).reduce2FAAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicySecondFactorAddedEventType), repository.EventType(instance.LoginPolicySecondFactorAddedEventType),
@ -496,7 +496,7 @@ func TestLoginPolicyProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduce2FARemoved", name: "instance.reduce2FARemoved",
reduce: (&LoginPolicyProjection{}).reduce2FARemoved, reduce: (&loginPolicyProjection{}).reduce2FARemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.LoginPolicySecondFactorRemovedEventType), repository.EventType(instance.LoginPolicySecondFactorRemovedEventType),

View File

@ -26,12 +26,12 @@ const (
MailTemplateTemplateCol = "template" MailTemplateTemplateCol = "template"
) )
type MailTemplateProjection struct { type mailTemplateProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewMailTemplateProjection(ctx context.Context, config crdb.StatementHandlerConfig) *MailTemplateProjection { func newMailTemplateProjection(ctx context.Context, config crdb.StatementHandlerConfig) *mailTemplateProjection {
p := new(MailTemplateProjection) p := new(mailTemplateProjection)
config.ProjectionName = MailTemplateTable config.ProjectionName = MailTemplateTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -52,7 +52,7 @@ func NewMailTemplateProjection(ctx context.Context, config crdb.StatementHandler
return p return p
} }
func (p *MailTemplateProjection) reducers() []handler.AggregateReducer { func (p *mailTemplateProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 templateEvent policy.MailTemplateAddedEvent
var isDefault bool var isDefault bool
switch e := event.(type) { switch e := event.(type) {
@ -114,7 +114,7 @@ func (p *MailTemplateProjection) reduceAdded(event eventstore.Event) (*handler.S
}), nil }), 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 var policyEvent policy.MailTemplateChangedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.MailTemplateChangedEvent: case *org.MailTemplateChangedEvent:
@ -139,7 +139,7 @@ func (p *MailTemplateProjection) reduceChanged(event eventstore.Event) (*handler
}), nil }), 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) policyEvent, ok := event.(*org.MailTemplateRemovedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-3jJGs", "reduce.wrong.event.type %s", org.MailTemplateRemovedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "PROJE-3jJGs", "reduce.wrong.event.type %s", org.MailTemplateRemovedEventType)

View File

@ -33,7 +33,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) {
}`), }`),
), org.MailTemplateAddedEventMapper), ), org.MailTemplateAddedEventMapper),
}, },
reduce: (&MailTemplateProjection{}).reduceAdded, reduce: (&mailTemplateProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -60,7 +60,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceChanged", name: "org.reduceChanged",
reduce: (&MailTemplateProjection{}).reduceChanged, reduce: (&mailTemplateProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.MailTemplateChangedEventType), repository.EventType(org.MailTemplateChangedEventType),
@ -92,7 +92,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceRemoved", name: "org.reduceRemoved",
reduce: (&MailTemplateProjection{}).reduceRemoved, reduce: (&mailTemplateProjection{}).reduceRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.MailTemplateRemovedEventType), repository.EventType(org.MailTemplateRemovedEventType),
@ -119,7 +119,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceAdded", name: "instance.reduceAdded",
reduce: (&MailTemplateProjection{}).reduceAdded, reduce: (&mailTemplateProjection{}).reduceAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.MailTemplateAddedEventType), repository.EventType(instance.MailTemplateAddedEventType),
@ -155,7 +155,7 @@ func TestMailTemplateProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceChanged", name: "instance.reduceChanged",
reduce: (&MailTemplateProjection{}).reduceChanged, reduce: (&mailTemplateProjection{}).reduceChanged,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.MailTemplateChangedEventType), repository.EventType(instance.MailTemplateChangedEventType),

View File

@ -36,7 +36,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -76,7 +76,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -116,7 +116,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -156,7 +156,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -196,7 +196,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -236,7 +236,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -276,7 +276,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextSetEventMapper), ), org.CustomTextSetEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -315,7 +315,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -351,7 +351,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -387,7 +387,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -423,7 +423,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -459,7 +459,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -495,7 +495,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -531,7 +531,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), org.CustomTextRemovedEventMapper), ), org.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("org"), aggregateType: eventstore.AggregateType("org"),
sequence: 15, sequence: 15,
@ -556,7 +556,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "org.reduceRemoved", name: "org.reduceRemoved",
reduce: (&MessageTextProjection{}).reduceTemplateRemoved, reduce: (&messageTextProjection{}).reduceTemplateRemoved,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(org.CustomTextTemplateRemovedEventType), repository.EventType(org.CustomTextTemplateRemovedEventType),
@ -589,7 +589,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}, },
{ {
name: "instance.reduceAdded", name: "instance.reduceAdded",
reduce: (&MessageTextProjection{}).reduceAdded, reduce: (&messageTextProjection{}).reduceAdded,
args: args{ args: args{
event: getEvent(testEvent( event: getEvent(testEvent(
repository.EventType(instance.CustomTextSetEventType), repository.EventType(instance.CustomTextSetEventType),
@ -640,7 +640,7 @@ func TestMessageTextProjection_reduces(t *testing.T) {
}`), }`),
), instance.CustomTextRemovedEventMapper), ), instance.CustomTextRemovedEventMapper),
}, },
reduce: (&MessageTextProjection{}).reduceRemoved, reduce: (&messageTextProjection{}).reduceRemoved,
want: wantReduce{ want: wantReduce{
aggregateType: eventstore.AggregateType("instance"), aggregateType: eventstore.AggregateType("instance"),
sequence: 15, sequence: 15,

View File

@ -33,12 +33,12 @@ const (
MessageTextFooterCol = "footer_text" MessageTextFooterCol = "footer_text"
) )
type MessageTextProjection struct { type messageTextProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewMessageTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *MessageTextProjection { func newMessageTextProjection(ctx context.Context, config crdb.StatementHandlerConfig) *messageTextProjection {
p := new(MessageTextProjection) p := new(messageTextProjection)
config.ProjectionName = MessageTextTable config.ProjectionName = MessageTextTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -66,7 +66,7 @@ func NewMessageTextProjection(ctx context.Context, config crdb.StatementHandlerC
return p return p
} }
func (p *MessageTextProjection) reducers() []handler.AggregateReducer { func (p *messageTextProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: org.AggregateType, 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 var templateEvent policy.CustomTextSetEvent
switch e := event.(type) { switch e := event.(type) {
case *org.CustomTextSetEvent: case *org.CustomTextSetEvent:
@ -155,7 +155,7 @@ func (p *MessageTextProjection) reduceAdded(event eventstore.Event) (*handler.St
cols), nil 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 var templateEvent policy.CustomTextRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.CustomTextRemovedEvent: case *org.CustomTextRemovedEvent:
@ -204,7 +204,7 @@ func (p *MessageTextProjection) reduceRemoved(event eventstore.Event) (*handler.
), nil ), 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 var templateEvent policy.CustomTextTemplateRemovedEvent
switch e := event.(type) { switch e := event.(type) {
case *org.CustomTextTemplateRemovedEvent: case *org.CustomTextTemplateRemovedEvent:

View File

@ -26,12 +26,12 @@ const (
OIDCSettingsColumnRefreshTokenExpiration = "refresh_token_expiration" OIDCSettingsColumnRefreshTokenExpiration = "refresh_token_expiration"
) )
type OIDCSettingsProjection struct { type oidcSettingsProjection struct {
crdb.StatementHandler crdb.StatementHandler
} }
func NewOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandlerConfig) *OIDCSettingsProjection { func newOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandlerConfig) *oidcSettingsProjection {
p := new(OIDCSettingsProjection) p := new(oidcSettingsProjection)
config.ProjectionName = OIDCSettingsProjectionTable config.ProjectionName = OIDCSettingsProjectionTable
config.Reducers = p.reducers() config.Reducers = p.reducers()
config.InitCheck = crdb.NewTableCheck( config.InitCheck = crdb.NewTableCheck(
@ -55,7 +55,7 @@ func NewOIDCSettingsProjection(ctx context.Context, config crdb.StatementHandler
return p return p
} }
func (p *OIDCSettingsProjection) reducers() []handler.AggregateReducer { func (p *oidcSettingsProjection) reducers() []handler.AggregateReducer {
return []handler.AggregateReducer{ return []handler.AggregateReducer{
{ {
Aggregate: project.AggregateType, 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) e, ok := event.(*instance.OIDCSettingsAddedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-f9nwf", "reduce.wrong.event.type %s", instance.OIDCSettingsAddedEventType) 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 ), 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) e, ok := event.(*instance.OIDCSettingsChangedEvent)
if !ok { if !ok {
return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-8JJ2d", "reduce.wrong.event.type %s", instance.OIDCSettingsChangedEventType) return nil, errors.ThrowInvalidArgumentf(nil, "HANDL-8JJ2d", "reduce.wrong.event.type %s", instance.OIDCSettingsChangedEventType)

Some files were not shown because too many files have changed in this diff Show More