mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 20:47:22 +00:00
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:
parent
5c805c48db
commit
dd2f31683c
@ -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"
|
||||||
|
@ -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 {
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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 ""
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
||||||
|
@ -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{
|
aggregates: tt.fields.aggregates,
|
||||||
|
}
|
||||||
|
h.ProjectionHandler = handler.NewProjectionHandler(handler.ProjectionHandlerConfig{
|
||||||
HandlerConfig: handler.HandlerConfig{
|
HandlerConfig: handler.HandlerConfig{
|
||||||
Eventstore: tt.fields.eventstore,
|
Eventstore: tt.fields.eventstore,
|
||||||
},
|
},
|
||||||
ProjectionName: "my_projection",
|
ProjectionName: "my_projection",
|
||||||
RequeueEvery: 0,
|
RequeueEvery: 0,
|
||||||
}),
|
},
|
||||||
aggregates: tt.fields.aggregates,
|
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)
|
||||||
|
@ -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)
|
||||||
|
@ -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++
|
||||||
|
@ -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(
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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{
|
@ -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{
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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{
|
||||||
|
@ -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{
|
||||||
|
@ -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)
|
||||||
|
@ -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{
|
||||||
|
@ -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).
|
||||||
|
@ -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(),
|
||||||
|
@ -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(),
|
||||||
|
@ -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(),
|
||||||
|
@ -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).
|
||||||
|
@ -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).
|
||||||
|
@ -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(),
|
||||||
|
@ -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) {
|
||||||
|
@ -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)
|
||||||
|
@ -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"),
|
||||||
|
@ -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)
|
||||||
|
@ -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,
|
||||||
|
@ -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:
|
||||||
|
@ -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"),
|
||||||
|
@ -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:
|
||||||
|
@ -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),
|
||||||
|
@ -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) {
|
||||||
|
@ -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),
|
||||||
|
@ -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)
|
||||||
|
@ -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),
|
||||||
|
@ -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)
|
||||||
|
@ -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"),
|
||||||
|
@ -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:
|
||||||
|
@ -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)
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
@ -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) {
|
||||||
|
@ -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,
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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"),
|
||||||
|
@ -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)
|
||||||
|
@ -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,
|
||||||
|
@ -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"),
|
||||||
|
@ -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)
|
||||||
|
@ -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"),
|
||||||
|
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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)
|
||||||
|
@ -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),
|
||||||
|
@ -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)
|
||||||
|
@ -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,
|
||||||
|
@ -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:
|
||||||
|
@ -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),
|
||||||
|
@ -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)
|
||||||
|
@ -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),
|
||||||
|
@ -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,
|
||||||
|
@ -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:
|
||||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user