From 1d472bac51b70b2f0a123beb519f9ea3d160b52b Mon Sep 17 00:00:00 2001 From: Livio Amstutz Date: Wed, 27 Jan 2021 10:35:01 +0100 Subject: [PATCH] fix: handle sequence correctly in subscription (#1209) --- .../eventsourcing/eventstore/administrator.go | 2 +- .../eventsourcing/eventstore/iam.go | 6 ++-- .../eventsourcing/eventstore/org.go | 2 +- .../eventsourcing/handler/iam_member.go | 6 ++-- .../eventsourcing/handler/idp_config.go | 6 ++-- .../eventsourcing/handler/idp_providers.go | 6 ++-- .../eventsourcing/handler/label_policy.go | 6 ++-- .../eventsourcing/handler/login_policy.go | 6 ++-- .../repository/eventsourcing/handler/org.go | 6 ++-- .../eventsourcing/handler/org_iam_policy.go | 6 ++-- .../handler/password_age_policy.go | 6 ++-- .../handler/password_complexity_policy.go | 6 ++-- .../handler/password_lockout_policy.go | 6 ++-- .../repository/eventsourcing/handler/user.go | 6 ++-- .../handler/user_external_idps.go | 6 ++-- .../eventsourcing/view/external_idps.go | 4 +-- .../eventsourcing/view/iam_member.go | 4 +-- .../eventsourcing/view/idp_configs.go | 4 +-- .../eventsourcing/view/idp_providers.go | 4 +-- .../eventsourcing/view/label_policies.go | 4 +-- .../eventsourcing/view/login_policies.go | 4 +-- .../repository/eventsourcing/view/org.go | 4 +-- .../eventsourcing/view/org_iam_policy.go | 4 +-- .../eventsourcing/view/password_age_policy.go | 4 +-- .../view/password_complexity_policy.go | 4 +-- .../view/password_lockout_policy.go | 4 +-- .../repository/eventsourcing/view/sequence.go | 12 +++---- .../repository/eventsourcing/view/user.go | 4 +-- .../eventsourcing/eventstore/org.go | 2 +- .../eventsourcing/eventstore/user.go | 2 +- .../eventsourcing/eventstore/user_grant.go | 2 +- .../eventsourcing/handler/application.go | 2 +- .../eventsourcing/handler/idp_config.go | 6 ++-- .../eventsourcing/handler/idp_providers.go | 6 ++-- .../repository/eventsourcing/handler/key.go | 6 ++-- .../eventsourcing/handler/login_policy.go | 6 ++-- .../eventsourcing/handler/machine_keys.go | 7 ++--- .../repository/eventsourcing/handler/org.go | 7 ++--- .../eventsourcing/handler/org_iam_policy.go | 8 ++--- .../handler/password_complexity_policy.go | 8 ++--- .../eventsourcing/handler/project_role.go | 8 ++--- .../repository/eventsourcing/handler/token.go | 6 ++-- .../repository/eventsourcing/handler/user.go | 6 ++-- .../handler/user_external_idps.go | 6 ++-- .../eventsourcing/handler/user_grant.go | 6 ++-- .../eventsourcing/handler/user_membership.go | 6 ++-- .../eventsourcing/handler/user_session.go | 6 ++-- .../eventsourcing/view/application.go | 2 +- .../eventsourcing/view/external_idps.go | 4 +-- .../eventsourcing/view/idp_configs.go | 4 +-- .../eventsourcing/view/idp_providers.go | 4 +-- .../auth/repository/eventsourcing/view/key.go | 4 +-- .../eventsourcing/view/login_policies.go | 4 +-- .../eventsourcing/view/machine_keys.go | 4 +-- .../auth/repository/eventsourcing/view/org.go | 4 +-- .../eventsourcing/view/org_iam_policy.go | 4 +-- .../view/password_complexity_policy.go | 4 +-- .../eventsourcing/view/project_role.go | 4 +-- .../repository/eventsourcing/view/sequence.go | 8 ++--- .../repository/eventsourcing/view/token.go | 4 +-- .../repository/eventsourcing/view/user.go | 4 +-- .../eventsourcing/view/user_grant.go | 4 +-- .../eventsourcing/view/user_membership.go | 4 +-- .../eventsourcing/view/user_session.go | 4 +-- .../eventsourcing/handler/application.go | 6 ++-- .../repository/eventsourcing/handler/org.go | 7 ++--- .../eventsourcing/handler/user_grant.go | 6 ++-- .../eventsourcing/view/application.go | 4 +-- .../repository/eventsourcing/view/org.go | 4 +-- .../repository/eventsourcing/view/sequence.go | 8 ++--- .../repository/eventsourcing/view/token.go | 4 +-- .../eventsourcing/view/user_grant.go | 4 +-- internal/eventstore/query/handler.go | 28 ++++++----------- internal/eventstore/spooler/spooler_test.go | 2 +- .../eventsourcing/eventstore/org.go | 8 ++--- .../eventsourcing/eventstore/project.go | 14 ++++----- .../eventsourcing/eventstore/user.go | 8 ++--- .../eventsourcing/eventstore/user_grant.go | 2 +- .../eventsourcing/handler/application.go | 6 ++-- .../eventsourcing/handler/idp_config.go | 8 ++--- .../eventsourcing/handler/idp_providers.go | 6 ++-- .../eventsourcing/handler/label_policy.go | 6 ++-- .../eventsourcing/handler/login_policy.go | 6 ++-- .../eventsourcing/handler/machine_keys.go | 6 ++-- .../repository/eventsourcing/handler/org.go | 8 ++--- .../eventsourcing/handler/org_domain.go | 6 ++-- .../eventsourcing/handler/org_iam_policy.go | 6 ++-- .../eventsourcing/handler/org_member.go | 6 ++-- .../handler/password_age_policy.go | 6 ++-- .../handler/password_complexity_policy.go | 6 ++-- .../handler/password_lockout_policy.go | 6 ++-- .../eventsourcing/handler/project.go | 6 ++-- .../eventsourcing/handler/project_grant.go | 6 ++-- .../handler/project_grant_member.go | 6 ++-- .../eventsourcing/handler/project_member.go | 6 ++-- .../eventsourcing/handler/project_role.go | 6 ++-- .../repository/eventsourcing/handler/user.go | 6 ++-- .../handler/user_external_idps.go | 8 ++--- .../eventsourcing/handler/user_grant.go | 8 ++--- .../eventsourcing/handler/user_membership.go | 8 ++--- .../eventsourcing/view/application.go | 4 +-- .../eventsourcing/view/external_idps.go | 4 +-- .../eventsourcing/view/idp_configs.go | 4 +-- .../eventsourcing/view/idp_providers.go | 4 +-- .../eventsourcing/view/label_policies.go | 4 +-- .../eventsourcing/view/login_policies.go | 4 +-- .../eventsourcing/view/machine_keys.go | 4 +-- .../repository/eventsourcing/view/org.go | 4 +-- .../eventsourcing/view/org_domain.go | 4 +-- .../eventsourcing/view/org_iam_policy.go | 4 +-- .../eventsourcing/view/org_member.go | 4 +-- .../eventsourcing/view/password_age_policy.go | 4 +-- .../view/password_complexity_policy.go | 4 +-- .../view/password_lockout_policy.go | 4 +-- .../repository/eventsourcing/view/project.go | 4 +-- .../eventsourcing/view/project_grant.go | 4 +-- .../view/project_grant_member.go | 4 +-- .../eventsourcing/view/project_member.go | 4 +-- .../eventsourcing/view/project_role.go | 4 +-- .../repository/eventsourcing/view/sequence.go | 8 ++--- .../repository/eventsourcing/view/user.go | 4 +-- .../eventsourcing/view/user_grant.go | 4 +-- .../eventsourcing/view/user_membership.go | 4 +-- .../eventsourcing/handler/notification.go | 6 ++-- .../eventsourcing/handler/notify_user.go | 6 ++-- .../eventsourcing/view/notification.go | 4 +-- .../eventsourcing/view/notify_user.go | 4 +-- .../repository/eventsourcing/view/sequence.go | 8 ++--- internal/view/repository/sequence.go | 31 ++++++------------- 129 files changed, 349 insertions(+), 371 deletions(-) diff --git a/internal/admin/repository/eventsourcing/eventstore/administrator.go b/internal/admin/repository/eventsourcing/eventstore/administrator.go index b36717481e..a80b42574d 100644 --- a/internal/admin/repository/eventsourcing/eventstore/administrator.go +++ b/internal/admin/repository/eventsourcing/eventstore/administrator.go @@ -48,7 +48,7 @@ func (repo *AdministratorRepo) GetViews() ([]*view_model.View, error) { } func (repo *AdministratorRepo) GetSpoolerDiv(database, view string) int64 { - sequence, err := repo.View.GetCurrentSequence(database, view, "") + sequence, err := repo.View.GetCurrentSequence(database, view) if err != nil { return 0 diff --git a/internal/admin/repository/eventsourcing/eventstore/iam.go b/internal/admin/repository/eventsourcing/eventstore/iam.go index 507c4738a1..4a4c247450 100644 --- a/internal/admin/repository/eventsourcing/eventstore/iam.go +++ b/internal/admin/repository/eventsourcing/eventstore/iam.go @@ -55,7 +55,7 @@ func (repo *IAMRepository) RemoveIAMMember(ctx context.Context, userID string) e func (repo *IAMRepository) SearchIAMMembers(ctx context.Context, request *iam_model.IAMMemberSearchRequest) (*iam_model.IAMMemberSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, err := repo.View.GetLatestIAMMemberSequence("") + sequence, err := repo.View.GetLatestIAMMemberSequence() logging.Log("EVENT-Slkci").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest iam sequence") members, count, err := repo.View.SearchIAMMembers(request) if err != nil { @@ -157,7 +157,7 @@ func (repo *IAMRepository) ChangeOidcIDPConfig(ctx context.Context, oidcConfig * func (repo *IAMRepository) SearchIDPConfigs(ctx context.Context, request *iam_model.IDPConfigSearchRequest) (*iam_model.IDPConfigSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, err := repo.View.GetLatestIDPConfigSequence("") + sequence, err := repo.View.GetLatestIDPConfigSequence() logging.Log("EVENT-Dk8si").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest idp config sequence") idps, count, err := repo.View.SearchIDPConfigs(request) if err != nil { @@ -189,7 +189,7 @@ func (repo *IAMRepository) ChangeDefaultLoginPolicy(ctx context.Context, policy func (repo *IAMRepository) SearchDefaultIDPProviders(ctx context.Context, request *iam_model.IDPProviderSearchRequest) (*iam_model.IDPProviderSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) request.AppendAggregateIDQuery(repo.SystemDefaults.IamID) - sequence, err := repo.View.GetLatestIDPProviderSequence("") + sequence, err := repo.View.GetLatestIDPProviderSequence() logging.Log("EVENT-Tuiks").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest iam sequence") providers, count, err := repo.View.SearchIDPProviders(request) if err != nil { diff --git a/internal/admin/repository/eventsourcing/eventstore/org.go b/internal/admin/repository/eventsourcing/eventstore/org.go index 59718f45be..78400eae29 100644 --- a/internal/admin/repository/eventsourcing/eventstore/org.go +++ b/internal/admin/repository/eventsourcing/eventstore/org.go @@ -87,7 +87,7 @@ func (repo *OrgRepo) OrgByID(ctx context.Context, id string) (*org_model.Org, er func (repo *OrgRepo) SearchOrgs(ctx context.Context, query *org_model.OrgSearchRequest) (*org_model.OrgSearchResult, error) { query.EnsureLimit(repo.SearchLimit) - sequence, err := repo.View.GetLatestOrgSequence("") + sequence, err := repo.View.GetLatestOrgSequence() logging.Log("EVENT-LXo9w").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest iam sequence") orgs, count, err := repo.View.SearchOrgs(query) if err != nil { diff --git a/internal/admin/repository/eventsourcing/handler/iam_member.go b/internal/admin/repository/eventsourcing/handler/iam_member.go index 79aafcf055..438fd0263b 100644 --- a/internal/admin/repository/eventsourcing/handler/iam_member.go +++ b/internal/admin/repository/eventsourcing/handler/iam_member.go @@ -45,8 +45,8 @@ func (m *IAMMember) subscribe() { }() } -func (m *IAMMember) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := m.view.GetLatestIAMMemberSequence(string(event.AggregateType)) +func (m *IAMMember) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestIAMMemberSequence() if err != nil { return 0, err } @@ -62,7 +62,7 @@ func (m *IAMMember) AggregateTypes() []es_models.AggregateType { } func (m *IAMMember) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := m.view.GetLatestIAMMemberSequence("") + sequence, err := m.view.GetLatestIAMMemberSequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/idp_config.go b/internal/admin/repository/eventsourcing/handler/idp_config.go index bf0dc97104..7368b5f4ce 100644 --- a/internal/admin/repository/eventsourcing/handler/idp_config.go +++ b/internal/admin/repository/eventsourcing/handler/idp_config.go @@ -47,8 +47,8 @@ func (i *IDPConfig) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.IAMAggregate} } -func (i *IDPConfig) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := i.view.GetLatestIDPConfigSequence(string(event.AggregateType)) +func (i *IDPConfig) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestIDPConfigSequence() if err != nil { return 0, err } @@ -56,7 +56,7 @@ func (i *IDPConfig) CurrentSequence(event *es_models.Event) (uint64, error) { } func (i *IDPConfig) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := i.view.GetLatestIDPConfigSequence("") + sequence, err := i.view.GetLatestIDPConfigSequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/idp_providers.go b/internal/admin/repository/eventsourcing/handler/idp_providers.go index 06c44c4c0a..59956f6f76 100644 --- a/internal/admin/repository/eventsourcing/handler/idp_providers.go +++ b/internal/admin/repository/eventsourcing/handler/idp_providers.go @@ -64,8 +64,8 @@ func (i *IDPProvider) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.IAMAggregate, org_es_model.OrgAggregate} } -func (i *IDPProvider) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := i.view.GetLatestIDPProviderSequence(string(event.AggregateType)) +func (i *IDPProvider) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestIDPProviderSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (i *IDPProvider) CurrentSequence(event *es_models.Event) (uint64, error) { } func (i *IDPProvider) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := i.view.GetLatestIDPProviderSequence("") + sequence, err := i.view.GetLatestIDPProviderSequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/label_policy.go b/internal/admin/repository/eventsourcing/handler/label_policy.go index c1604fba69..50bf98a2d2 100644 --- a/internal/admin/repository/eventsourcing/handler/label_policy.go +++ b/internal/admin/repository/eventsourcing/handler/label_policy.go @@ -47,7 +47,7 @@ func (p *LabelPolicy) AggregateTypes() []es_models.AggregateType { } func (p *LabelPolicy) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestLabelPolicySequence("") + sequence, err := p.view.GetLatestLabelPolicySequence() if err != nil { return nil, err } @@ -56,8 +56,8 @@ func (p *LabelPolicy) EventQuery() (*es_models.SearchQuery, error) { LatestSequenceFilter(sequence.CurrentSequence), nil } -func (p *LabelPolicy) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := p.view.GetLatestLabelPolicySequence(string(event.AggregateType)) +func (p *LabelPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestLabelPolicySequence() if err != nil { return 0, err } diff --git a/internal/admin/repository/eventsourcing/handler/login_policy.go b/internal/admin/repository/eventsourcing/handler/login_policy.go index 032f2a4349..aaf1f5b197 100644 --- a/internal/admin/repository/eventsourcing/handler/login_policy.go +++ b/internal/admin/repository/eventsourcing/handler/login_policy.go @@ -48,7 +48,7 @@ func (p *LoginPolicy) AggregateTypes() []models.AggregateType { } func (p *LoginPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestLoginPolicySequence("") + sequence, err := p.view.GetLatestLoginPolicySequence() if err != nil { return nil, err } @@ -57,8 +57,8 @@ func (p *LoginPolicy) EventQuery() (*models.SearchQuery, error) { LatestSequenceFilter(sequence.CurrentSequence), nil } -func (p *LoginPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestLoginPolicySequence(string(event.AggregateType)) +func (p *LoginPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestLoginPolicySequence() if err != nil { return 0, err } diff --git a/internal/admin/repository/eventsourcing/handler/org.go b/internal/admin/repository/eventsourcing/handler/org.go index 02ace32943..128eab554a 100644 --- a/internal/admin/repository/eventsourcing/handler/org.go +++ b/internal/admin/repository/eventsourcing/handler/org.go @@ -49,15 +49,15 @@ func (o *Org) AggregateTypes() []es_models.AggregateType { } func (o *Org) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := o.view.GetLatestOrgSequence("") + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return nil, err } return eventsourcing.OrgQuery(sequence.CurrentSequence), nil } -func (o *Org) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := o.view.GetLatestOrgSequence(string(event.AggregateType)) +func (o *Org) CurrentSequence() (uint64, error) { + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return 0, err } diff --git a/internal/admin/repository/eventsourcing/handler/org_iam_policy.go b/internal/admin/repository/eventsourcing/handler/org_iam_policy.go index a98db79c09..660a0a25a3 100644 --- a/internal/admin/repository/eventsourcing/handler/org_iam_policy.go +++ b/internal/admin/repository/eventsourcing/handler/org_iam_policy.go @@ -48,7 +48,7 @@ func (p *OrgIAMPolicy) AggregateTypes() []es_models.AggregateType { } func (p *OrgIAMPolicy) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestOrgIAMPolicySequence("") + sequence, err := p.view.GetLatestOrgIAMPolicySequence() if err != nil { return nil, err } @@ -57,8 +57,8 @@ func (p *OrgIAMPolicy) EventQuery() (*es_models.SearchQuery, error) { LatestSequenceFilter(sequence.CurrentSequence), nil } -func (p *OrgIAMPolicy) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := p.view.GetLatestOrgIAMPolicySequence(string(event.AggregateType)) +func (p *OrgIAMPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestOrgIAMPolicySequence() if err != nil { return 0, err } diff --git a/internal/admin/repository/eventsourcing/handler/password_age_policy.go b/internal/admin/repository/eventsourcing/handler/password_age_policy.go index 7cfa1b2bb2..692d5a578c 100644 --- a/internal/admin/repository/eventsourcing/handler/password_age_policy.go +++ b/internal/admin/repository/eventsourcing/handler/password_age_policy.go @@ -49,8 +49,8 @@ func (p *PasswordAgePolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordAgePolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordAgePolicySequence(string(event.AggregateType)) +func (p *PasswordAgePolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordAgePolicySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (p *PasswordAgePolicy) CurrentSequence(event *models.Event) (uint64, error) } func (p *PasswordAgePolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordAgePolicySequence("") + sequence, err := p.view.GetLatestPasswordAgePolicySequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/password_complexity_policy.go b/internal/admin/repository/eventsourcing/handler/password_complexity_policy.go index edab685d23..2408af543f 100644 --- a/internal/admin/repository/eventsourcing/handler/password_complexity_policy.go +++ b/internal/admin/repository/eventsourcing/handler/password_complexity_policy.go @@ -49,8 +49,8 @@ func (p *PasswordComplexityPolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence(string(event.AggregateType)) +func (p *PasswordComplexityPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, } func (p *PasswordComplexityPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence("") + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/password_lockout_policy.go b/internal/admin/repository/eventsourcing/handler/password_lockout_policy.go index 99a8393cb8..979dba7b89 100644 --- a/internal/admin/repository/eventsourcing/handler/password_lockout_policy.go +++ b/internal/admin/repository/eventsourcing/handler/password_lockout_policy.go @@ -49,8 +49,8 @@ func (p *PasswordLockoutPolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordLockoutPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordLockoutPolicySequence(string(event.AggregateType)) +func (p *PasswordLockoutPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordLockoutPolicySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (p *PasswordLockoutPolicy) CurrentSequence(event *models.Event) (uint64, er } func (p *PasswordLockoutPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordLockoutPolicySequence("") + sequence, err := p.view.GetLatestPasswordLockoutPolicySequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/user.go b/internal/admin/repository/eventsourcing/handler/user.go index eb3a4bd83f..0c568128b3 100644 --- a/internal/admin/repository/eventsourcing/handler/user.go +++ b/internal/admin/repository/eventsourcing/handler/user.go @@ -68,8 +68,8 @@ func (u *User) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.UserAggregate, org_es_model.OrgAggregate} } -func (u *User) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserSequence(string(event.AggregateType)) +func (u *User) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserSequence() if err != nil { return 0, err } @@ -77,7 +77,7 @@ func (u *User) CurrentSequence(event *models.Event) (uint64, error) { } func (u *User) EventQuery() (*models.SearchQuery, error) { - sequence, err := u.view.GetLatestUserSequence("") + sequence, err := u.view.GetLatestUserSequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/handler/user_external_idps.go b/internal/admin/repository/eventsourcing/handler/user_external_idps.go index f7719e601b..1368fa1bc8 100644 --- a/internal/admin/repository/eventsourcing/handler/user_external_idps.go +++ b/internal/admin/repository/eventsourcing/handler/user_external_idps.go @@ -69,8 +69,8 @@ func (i *ExternalIDP) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.UserAggregate, iam_es_model.IAMAggregate, org_es_model.OrgAggregate} } -func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := i.view.GetLatestExternalIDPSequence(string(event.AggregateType)) +func (i *ExternalIDP) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return 0, err } @@ -78,7 +78,7 @@ func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { } func (i *ExternalIDP) EventQuery() (*models.SearchQuery, error) { - sequence, err := i.view.GetLatestExternalIDPSequence("") + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return nil, err } diff --git a/internal/admin/repository/eventsourcing/view/external_idps.go b/internal/admin/repository/eventsourcing/view/external_idps.go index 384c1d81d0..6b9a239b23 100644 --- a/internal/admin/repository/eventsourcing/view/external_idps.go +++ b/internal/admin/repository/eventsourcing/view/external_idps.go @@ -65,8 +65,8 @@ func (v *View) DeleteExternalIDPsByUserID(userID string, event *models.Event) er return v.ProcessedExternalIDPSequence(event) } -func (v *View) GetLatestExternalIDPSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(externalIDPTable, aggregateType) +func (v *View) GetLatestExternalIDPSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(externalIDPTable) } func (v *View) ProcessedExternalIDPSequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/iam_member.go b/internal/admin/repository/eventsourcing/view/iam_member.go index d215ca0b5b..21cc782b6d 100644 --- a/internal/admin/repository/eventsourcing/view/iam_member.go +++ b/internal/admin/repository/eventsourcing/view/iam_member.go @@ -57,8 +57,8 @@ func (v *View) DeleteIAMMembersByUserID(userID string, event *models.Event) erro return v.ProcessedIAMMemberSequence(event) } -func (v *View) GetLatestIAMMemberSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(iamMemberTable, aggregateType) +func (v *View) GetLatestIAMMemberSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(iamMemberTable) } func (v *View) ProcessedIAMMemberSequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/idp_configs.go b/internal/admin/repository/eventsourcing/view/idp_configs.go index 5a120de265..deb4e688cc 100644 --- a/internal/admin/repository/eventsourcing/view/idp_configs.go +++ b/internal/admin/repository/eventsourcing/view/idp_configs.go @@ -37,8 +37,8 @@ func (v *View) DeleteIDPConfig(idpID string, event *models.Event) error { return v.ProcessedIDPConfigSequence(event) } -func (v *View) GetLatestIDPConfigSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpConfigTable, aggregateType) +func (v *View) GetLatestIDPConfigSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpConfigTable) } func (v *View) ProcessedIDPConfigSequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/idp_providers.go b/internal/admin/repository/eventsourcing/view/idp_providers.go index 26a682379d..7d0ef141fb 100644 --- a/internal/admin/repository/eventsourcing/view/idp_providers.go +++ b/internal/admin/repository/eventsourcing/view/idp_providers.go @@ -49,8 +49,8 @@ func (v *View) DeleteIDPProvider(aggregateID, idpConfigID string, event *models. return v.ProcessedIDPProviderSequence(event) } -func (v *View) GetLatestIDPProviderSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpProviderTable, aggregateType) +func (v *View) GetLatestIDPProviderSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpProviderTable) } func (v *View) ProcessedIDPProviderSequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/label_policies.go b/internal/admin/repository/eventsourcing/view/label_policies.go index 9b1a46cee1..761fc2c62f 100644 --- a/internal/admin/repository/eventsourcing/view/label_policies.go +++ b/internal/admin/repository/eventsourcing/view/label_policies.go @@ -23,8 +23,8 @@ func (v *View) PutLabelPolicy(policy *model.LabelPolicyView, event *models.Event return v.ProcessedLabelPolicySequence(event) } -func (v *View) GetLatestLabelPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(labelPolicyTable, aggregateType) +func (v *View) GetLatestLabelPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(labelPolicyTable) } func (v *View) ProcessedLabelPolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/login_policies.go b/internal/admin/repository/eventsourcing/view/login_policies.go index 7e71983724..8785e8df24 100644 --- a/internal/admin/repository/eventsourcing/view/login_policies.go +++ b/internal/admin/repository/eventsourcing/view/login_policies.go @@ -32,8 +32,8 @@ func (v *View) DeleteLoginPolicy(aggregateID string, event *models.Event) error return v.ProcessedLoginPolicySequence(event) } -func (v *View) GetLatestLoginPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(loginPolicyTable, aggregateType) +func (v *View) GetLatestLoginPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(loginPolicyTable) } func (v *View) ProcessedLoginPolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/org.go b/internal/admin/repository/eventsourcing/view/org.go index b5d104a7ed..a5d2d45ab2 100644 --- a/internal/admin/repository/eventsourcing/view/org.go +++ b/internal/admin/repository/eventsourcing/view/org.go @@ -40,8 +40,8 @@ func (v *View) UpdateOrgSpoolerRunTimestamp() error { return v.updateSpoolerRunSequence(orgTable) } -func (v *View) GetLatestOrgSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgTable, aggregateType) +func (v *View) GetLatestOrgSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgTable) } func (v *View) ProcessedOrgSequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/org_iam_policy.go b/internal/admin/repository/eventsourcing/view/org_iam_policy.go index 5d13779e48..5e77383407 100644 --- a/internal/admin/repository/eventsourcing/view/org_iam_policy.go +++ b/internal/admin/repository/eventsourcing/view/org_iam_policy.go @@ -32,8 +32,8 @@ func (v *View) DeleteOrgIAMPolicy(aggregateID string, event *models.Event) error return v.ProcessedOrgIAMPolicySequence(event) } -func (v *View) GetLatestOrgIAMPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(orgIAMPolicyTable, aggregateType) +func (v *View) GetLatestOrgIAMPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(orgIAMPolicyTable) } func (v *View) ProcessedOrgIAMPolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/password_age_policy.go b/internal/admin/repository/eventsourcing/view/password_age_policy.go index b1cbe535c4..02fe19db3c 100644 --- a/internal/admin/repository/eventsourcing/view/password_age_policy.go +++ b/internal/admin/repository/eventsourcing/view/password_age_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordAgePolicy(aggregateID string, event *models.Event) return v.ProcessedPasswordAgePolicySequence(event) } -func (v *View) GetLatestPasswordAgePolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordAgePolicyTable, aggregateType) +func (v *View) GetLatestPasswordAgePolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordAgePolicyTable) } func (v *View) ProcessedPasswordAgePolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/password_complexity_policy.go b/internal/admin/repository/eventsourcing/view/password_complexity_policy.go index 44315b9666..9d7e315e04 100644 --- a/internal/admin/repository/eventsourcing/view/password_complexity_policy.go +++ b/internal/admin/repository/eventsourcing/view/password_complexity_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordComplexityPolicy(aggregateID string, event *models. return v.ProcessedPasswordComplexityPolicySequence(event) } -func (v *View) GetLatestPasswordComplexityPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordComplexityPolicyTable, aggregateType) +func (v *View) GetLatestPasswordComplexityPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordComplexityPolicyTable) } func (v *View) ProcessedPasswordComplexityPolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/password_lockout_policy.go b/internal/admin/repository/eventsourcing/view/password_lockout_policy.go index 805aab3fc3..6076320aea 100644 --- a/internal/admin/repository/eventsourcing/view/password_lockout_policy.go +++ b/internal/admin/repository/eventsourcing/view/password_lockout_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordLockoutPolicy(aggregateID string, event *models.Eve return v.ProcessedPasswordLockoutPolicySequence(event) } -func (v *View) GetLatestPasswordLockoutPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordLockoutPolicyTable, aggregateType) +func (v *View) GetLatestPasswordLockoutPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordLockoutPolicyTable) } func (v *View) ProcessedPasswordLockoutPolicySequence(event *models.Event) error { diff --git a/internal/admin/repository/eventsourcing/view/sequence.go b/internal/admin/repository/eventsourcing/view/sequence.go index 5915da9b56..358e2daf61 100644 --- a/internal/admin/repository/eventsourcing/view/sequence.go +++ b/internal/admin/repository/eventsourcing/view/sequence.go @@ -12,11 +12,11 @@ const ( ) func (v *View) saveCurrentSequence(viewName string, event *models.Event) error { - return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, string(event.AggregateType), event.Sequence, event.CreationDate) + return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, event.Sequence, event.CreationDate) } -func (v *View) latestSequence(viewName, aggregateType string) (*repository.CurrentSequence, error) { - return repository.LatestSequence(v.Db, sequencesTable, viewName, aggregateType) +func (v *View) latestSequence(viewName string) (*repository.CurrentSequence, error) { + return repository.LatestSequence(v.Db, sequencesTable, viewName) } func (v *View) AllCurrentSequences(db string) ([]*repository.CurrentSequence, error) { @@ -24,7 +24,7 @@ func (v *View) AllCurrentSequences(db string) ([]*repository.CurrentSequence, er } func (v *View) updateSpoolerRunSequence(viewName string) error { - currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName, "") + currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName) if err != nil { return err } @@ -38,10 +38,10 @@ func (v *View) updateSpoolerRunSequence(viewName string) error { return repository.UpdateCurrentSequence(v.Db, sequencesTable, currentSequence) } -func (v *View) GetCurrentSequence(db, viewName, aggregateType string) (*repository.CurrentSequence, error) { +func (v *View) GetCurrentSequence(db, viewName string) (*repository.CurrentSequence, error) { sequenceTable := db + ".current_sequences" fullView := db + "." + viewName - return repository.LatestSequence(v.Db, sequenceTable, fullView, aggregateType) + return repository.LatestSequence(v.Db, sequenceTable, fullView) } func (v *View) ClearView(db, viewName string) error { diff --git a/internal/admin/repository/eventsourcing/view/user.go b/internal/admin/repository/eventsourcing/view/user.go index 9694b41f78..3a5c8d064c 100644 --- a/internal/admin/repository/eventsourcing/view/user.go +++ b/internal/admin/repository/eventsourcing/view/user.go @@ -65,8 +65,8 @@ func (v *View) DeleteUser(userID string, event *models.Event) error { return v.ProcessedUserSequence(event) } -func (v *View) GetLatestUserSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userTable, aggregateType) +func (v *View) GetLatestUserSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userTable) } func (v *View) ProcessedUserSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/eventstore/org.go b/internal/auth/repository/eventsourcing/eventstore/org.go index 9339b1be70..c5f3ecced0 100644 --- a/internal/auth/repository/eventsourcing/eventstore/org.go +++ b/internal/auth/repository/eventsourcing/eventstore/org.go @@ -36,7 +36,7 @@ type OrgRepository struct { func (repo *OrgRepository) SearchOrgs(ctx context.Context, request *org_model.OrgSearchRequest) (*org_model.OrgSearchResult, error) { request.EnsureLimit(repo.SearchLimit) - sequence, err := repo.View.GetLatestOrgSequence("") + sequence, err := repo.View.GetLatestOrgSequence() logging.Log("EVENT-7Udhz").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest org sequence") members, count, err := repo.View.SearchOrgs(request) if err != nil { diff --git a/internal/auth/repository/eventsourcing/eventstore/user.go b/internal/auth/repository/eventsourcing/eventstore/user.go index 392ff2a793..d4e96c32e3 100644 --- a/internal/auth/repository/eventsourcing/eventstore/user.go +++ b/internal/auth/repository/eventsourcing/eventstore/user.go @@ -109,7 +109,7 @@ func (repo *UserRepo) ChangeMyProfile(ctx context.Context, profile *model.Profil func (repo *UserRepo) SearchMyExternalIDPs(ctx context.Context, request *model.ExternalIDPSearchRequest) (*model.ExternalIDPSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, seqErr := repo.View.GetLatestExternalIDPSequence("") + sequence, seqErr := repo.View.GetLatestExternalIDPSequence() logging.Log("EVENT-5Jsi8").OnError(seqErr).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest user sequence") request.AppendUserQuery(authz.GetCtxData(ctx).UserID) externalIDPS, count, err := repo.View.SearchExternalIDPs(request) diff --git a/internal/auth/repository/eventsourcing/eventstore/user_grant.go b/internal/auth/repository/eventsourcing/eventstore/user_grant.go index d9ba6bc842..cba39e4314 100644 --- a/internal/auth/repository/eventsourcing/eventstore/user_grant.go +++ b/internal/auth/repository/eventsourcing/eventstore/user_grant.go @@ -29,7 +29,7 @@ type UserGrantRepo struct { func (repo *UserGrantRepo) SearchMyUserGrants(ctx context.Context, request *grant_model.UserGrantSearchRequest) (*grant_model.UserGrantSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, err := repo.View.GetLatestUserGrantSequence("") + sequence, err := repo.View.GetLatestUserGrantSequence() logging.Log("EVENT-Hd7s3").OnError(err).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest user grant sequence") request.Queries = append(request.Queries, &grant_model.UserGrantSearchQuery{Key: grant_model.UserGrantSearchKeyUserID, Method: global_model.SearchMethodEquals, Value: authz.GetCtxData(ctx).UserID}) grants, count, err := repo.View.SearchUserGrants(request) diff --git a/internal/auth/repository/eventsourcing/handler/application.go b/internal/auth/repository/eventsourcing/handler/application.go index 5a8d5d41ff..f8bd45d33a 100644 --- a/internal/auth/repository/eventsourcing/handler/application.go +++ b/internal/auth/repository/eventsourcing/handler/application.go @@ -53,7 +53,7 @@ func (_ *Application) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (a *Application) CurrentSequence(event *models.Event) (uint64, error) { +func (a *Application) CurrentSequence() (uint64, error) { sequence, err := a.view.GetLatestApplicationSequence() if err != nil { return 0, err diff --git a/internal/auth/repository/eventsourcing/handler/idp_config.go b/internal/auth/repository/eventsourcing/handler/idp_config.go index b070d89c8a..d11ee66219 100644 --- a/internal/auth/repository/eventsourcing/handler/idp_config.go +++ b/internal/auth/repository/eventsourcing/handler/idp_config.go @@ -49,8 +49,8 @@ func (_ *IDPConfig) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (i *IDPConfig) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := i.view.GetLatestIDPConfigSequence(string(event.AggregateType)) +func (i *IDPConfig) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestIDPConfigSequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (i *IDPConfig) CurrentSequence(event *models.Event) (uint64, error) { } func (i *IDPConfig) EventQuery() (*models.SearchQuery, error) { - sequence, err := i.view.GetLatestIDPConfigSequence("") + sequence, err := i.view.GetLatestIDPConfigSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/idp_providers.go b/internal/auth/repository/eventsourcing/handler/idp_providers.go index 8622fc57b1..77e372cd41 100644 --- a/internal/auth/repository/eventsourcing/handler/idp_providers.go +++ b/internal/auth/repository/eventsourcing/handler/idp_providers.go @@ -66,8 +66,8 @@ func (_ *IDPProvider) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.IAMAggregate, org_es_model.OrgAggregate} } -func (i *IDPProvider) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := i.view.GetLatestIDPProviderSequence(string(event.AggregateType)) +func (i *IDPProvider) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestIDPProviderSequence() if err != nil { return 0, err } @@ -75,7 +75,7 @@ func (i *IDPProvider) CurrentSequence(event *models.Event) (uint64, error) { } func (i *IDPProvider) EventQuery() (*models.SearchQuery, error) { - sequence, err := i.view.GetLatestIDPProviderSequence("") + sequence, err := i.view.GetLatestIDPProviderSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/key.go b/internal/auth/repository/eventsourcing/handler/key.go index 54703a2509..ded3ce7685 100644 --- a/internal/auth/repository/eventsourcing/handler/key.go +++ b/internal/auth/repository/eventsourcing/handler/key.go @@ -49,8 +49,8 @@ func (_ *Key) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.KeyPairAggregate} } -func (k *Key) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := k.view.GetLatestKeySequence(string(event.AggregateType)) +func (k *Key) CurrentSequence() (uint64, error) { + sequence, err := k.view.GetLatestKeySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (k *Key) CurrentSequence(event *models.Event) (uint64, error) { } func (k *Key) EventQuery() (*models.SearchQuery, error) { - sequence, err := k.view.GetLatestKeySequence("") + sequence, err := k.view.GetLatestKeySequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/login_policy.go b/internal/auth/repository/eventsourcing/handler/login_policy.go index 35700d80c7..be964781c3 100644 --- a/internal/auth/repository/eventsourcing/handler/login_policy.go +++ b/internal/auth/repository/eventsourcing/handler/login_policy.go @@ -49,8 +49,8 @@ func (_ *LoginPolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *LoginPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestLoginPolicySequence(string(event.AggregateType)) +func (p *LoginPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestLoginPolicySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (p *LoginPolicy) CurrentSequence(event *models.Event) (uint64, error) { } func (p *LoginPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestLoginPolicySequence("") + sequence, err := p.view.GetLatestLoginPolicySequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/machine_keys.go b/internal/auth/repository/eventsourcing/handler/machine_keys.go index 0ca0532c26..bf877564af 100644 --- a/internal/auth/repository/eventsourcing/handler/machine_keys.go +++ b/internal/auth/repository/eventsourcing/handler/machine_keys.go @@ -6,7 +6,6 @@ import ( "github.com/caos/logging" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -50,8 +49,8 @@ func (_ *MachineKeys) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.UserAggregate} } -func (k *MachineKeys) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := k.view.GetLatestMachineKeySequence(string(event.AggregateType)) +func (k *MachineKeys) CurrentSequence() (uint64, error) { + sequence, err := k.view.GetLatestMachineKeySequence() if err != nil { return 0, err } @@ -59,7 +58,7 @@ func (k *MachineKeys) CurrentSequence(event *models.Event) (uint64, error) { } func (k *MachineKeys) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := k.view.GetLatestMachineKeySequence("") + sequence, err := k.view.GetLatestMachineKeySequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/org.go b/internal/auth/repository/eventsourcing/handler/org.go index ea87eed2f2..5a92125004 100644 --- a/internal/auth/repository/eventsourcing/handler/org.go +++ b/internal/auth/repository/eventsourcing/handler/org.go @@ -4,7 +4,6 @@ import ( "github.com/caos/logging" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -49,8 +48,8 @@ func (_ *Org) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate} } -func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := o.view.GetLatestOrgSequence(string(event.AggregateType)) +func (o *Org) CurrentSequence() (uint64, error) { + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return 0, err } @@ -58,7 +57,7 @@ func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { } func (o *Org) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := o.view.GetLatestOrgSequence("") + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/org_iam_policy.go b/internal/auth/repository/eventsourcing/handler/org_iam_policy.go index 9d9d230a96..cfeae902f0 100644 --- a/internal/auth/repository/eventsourcing/handler/org_iam_policy.go +++ b/internal/auth/repository/eventsourcing/handler/org_iam_policy.go @@ -2,8 +2,8 @@ package handler import ( "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -48,8 +48,8 @@ func (_ *OrgIAMPolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{org_es_model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *OrgIAMPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestOrgIAMPolicySequence(string(event.AggregateType)) +func (p *OrgIAMPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestOrgIAMPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (p *OrgIAMPolicy) CurrentSequence(event *models.Event) (uint64, error) { } func (p *OrgIAMPolicy) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestOrgIAMPolicySequence("") + sequence, err := p.view.GetLatestOrgIAMPolicySequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/password_complexity_policy.go b/internal/auth/repository/eventsourcing/handler/password_complexity_policy.go index 65a86676a8..5cb9a5267b 100644 --- a/internal/auth/repository/eventsourcing/handler/password_complexity_policy.go +++ b/internal/auth/repository/eventsourcing/handler/password_complexity_policy.go @@ -2,8 +2,8 @@ package handler import ( "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -48,8 +48,8 @@ func (_ *PasswordComplexityPolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{org_es_model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence(string(event.AggregateType)) +func (p *PasswordComplexityPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, } func (p *PasswordComplexityPolicy) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence("") + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/project_role.go b/internal/auth/repository/eventsourcing/handler/project_role.go index 16003f43f6..518516e7bb 100644 --- a/internal/auth/repository/eventsourcing/handler/project_role.go +++ b/internal/auth/repository/eventsourcing/handler/project_role.go @@ -2,8 +2,8 @@ package handler import ( "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -54,8 +54,8 @@ func (_ *ProjectRole) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.ProjectAggregate} } -func (p *ProjectRole) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectRoleSequence(string(event.AggregateType)) +func (p *ProjectRole) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectRoleSequence() if err != nil { return 0, err } @@ -63,7 +63,7 @@ func (p *ProjectRole) CurrentSequence(event *models.Event) (uint64, error) { } func (p *ProjectRole) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectRoleSequence("") + sequence, err := p.view.GetLatestProjectRoleSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/token.go b/internal/auth/repository/eventsourcing/handler/token.go index b98e811bda..6a365580ac 100644 --- a/internal/auth/repository/eventsourcing/handler/token.go +++ b/internal/auth/repository/eventsourcing/handler/token.go @@ -58,8 +58,8 @@ func (_ *Token) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{user_es_model.UserAggregate, project_es_model.ProjectAggregate} } -func (p *Token) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestTokenSequence(string(event.AggregateType)) +func (p *Token) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestTokenSequence() if err != nil { return 0, err } @@ -67,7 +67,7 @@ func (p *Token) CurrentSequence(event *models.Event) (uint64, error) { } func (t *Token) EventQuery() (*models.SearchQuery, error) { - sequence, err := t.view.GetLatestTokenSequence("") + sequence, err := t.view.GetLatestTokenSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/user.go b/internal/auth/repository/eventsourcing/handler/user.go index f960ab720d..d87f8c3a2b 100644 --- a/internal/auth/repository/eventsourcing/handler/user.go +++ b/internal/auth/repository/eventsourcing/handler/user.go @@ -64,8 +64,8 @@ func (_ *User) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.UserAggregate, org_es_model.OrgAggregate} } -func (u *User) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserSequence(string(event.AggregateType)) +func (u *User) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (u *User) CurrentSequence(event *models.Event) (uint64, error) { } func (u *User) EventQuery() (*models.SearchQuery, error) { - sequence, err := u.view.GetLatestUserSequence("") + sequence, err := u.view.GetLatestUserSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/user_external_idps.go b/internal/auth/repository/eventsourcing/handler/user_external_idps.go index 8dcaebe3cb..2744137a79 100644 --- a/internal/auth/repository/eventsourcing/handler/user_external_idps.go +++ b/internal/auth/repository/eventsourcing/handler/user_external_idps.go @@ -68,8 +68,8 @@ func (_ *ExternalIDP) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.UserAggregate, iam_es_model.IAMAggregate, org_es_model.OrgAggregate} } -func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := i.view.GetLatestExternalIDPSequence(string(event.AggregateType)) +func (i *ExternalIDP) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return 0, err } @@ -77,7 +77,7 @@ func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { } func (i *ExternalIDP) EventQuery() (*models.SearchQuery, error) { - sequence, err := i.view.GetLatestExternalIDPSequence("") + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/user_grant.go b/internal/auth/repository/eventsourcing/handler/user_grant.go index c2288891ce..4dedc25c46 100644 --- a/internal/auth/repository/eventsourcing/handler/user_grant.go +++ b/internal/auth/repository/eventsourcing/handler/user_grant.go @@ -82,8 +82,8 @@ func (_ *UserGrant) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{grant_es_model.UserGrantAggregate, iam_es_model.IAMAggregate, org_es_model.OrgAggregate, usr_es_model.UserAggregate, proj_es_model.ProjectAggregate} } -func (u *UserGrant) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserGrantSequence(string(event.AggregateType)) +func (u *UserGrant) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return 0, err } @@ -97,7 +97,7 @@ func (u *UserGrant) EventQuery() (*models.SearchQuery, error) { return nil, err } } - sequence, err := u.view.GetLatestUserGrantSequence("") + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/user_membership.go b/internal/auth/repository/eventsourcing/handler/user_membership.go index e1a41eccf5..ef76e28955 100644 --- a/internal/auth/repository/eventsourcing/handler/user_membership.go +++ b/internal/auth/repository/eventsourcing/handler/user_membership.go @@ -64,8 +64,8 @@ func (_ *UserMembership) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{iam_es_model.IAMAggregate, org_es_model.OrgAggregate, proj_es_model.ProjectAggregate, model.UserAggregate} } -func (m *UserMembership) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := m.view.GetLatestUserMembershipSequence(string(event.AggregateType)) +func (m *UserMembership) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestUserMembershipSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (m *UserMembership) CurrentSequence(event *models.Event) (uint64, error) { } func (m *UserMembership) EventQuery() (*models.SearchQuery, error) { - sequence, err := m.view.GetLatestUserMembershipSequence("") + sequence, err := m.view.GetLatestUserMembershipSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/handler/user_session.go b/internal/auth/repository/eventsourcing/handler/user_session.go index 7ef182f6ae..ac099cf4bd 100644 --- a/internal/auth/repository/eventsourcing/handler/user_session.go +++ b/internal/auth/repository/eventsourcing/handler/user_session.go @@ -55,8 +55,8 @@ func (_ *UserSession) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.UserAggregate} } -func (u *UserSession) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserSessionSequence(string(event.AggregateType)) +func (u *UserSession) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserSessionSequence() if err != nil { return 0, err } @@ -64,7 +64,7 @@ func (u *UserSession) CurrentSequence(event *models.Event) (uint64, error) { } func (u *UserSession) EventQuery() (*models.SearchQuery, error) { - sequence, err := u.view.GetLatestUserSessionSequence("") + sequence, err := u.view.GetLatestUserSessionSequence() if err != nil { return nil, err } diff --git a/internal/auth/repository/eventsourcing/view/application.go b/internal/auth/repository/eventsourcing/view/application.go index 5a7f2c6f1b..e0e6315dfb 100644 --- a/internal/auth/repository/eventsourcing/view/application.go +++ b/internal/auth/repository/eventsourcing/view/application.go @@ -57,7 +57,7 @@ func (v *View) DeleteApplicationsByProjectID(projectID string) error { } func (v *View) GetLatestApplicationSequence() (*repository.CurrentSequence, error) { - return v.latestSequence(applicationTable, "") + return v.latestSequence(applicationTable) } func (v *View) ProcessedApplicationSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/external_idps.go b/internal/auth/repository/eventsourcing/view/external_idps.go index 2928421cdc..05734c7d88 100644 --- a/internal/auth/repository/eventsourcing/view/external_idps.go +++ b/internal/auth/repository/eventsourcing/view/external_idps.go @@ -65,8 +65,8 @@ func (v *View) DeleteExternalIDPsByUserID(userID string, event *models.Event) er return v.ProcessedExternalIDPSequence(event) } -func (v *View) GetLatestExternalIDPSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(externalIDPTable, aggregateType) +func (v *View) GetLatestExternalIDPSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(externalIDPTable) } func (v *View) ProcessedExternalIDPSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/idp_configs.go b/internal/auth/repository/eventsourcing/view/idp_configs.go index 65a932b2d1..6a7b8a3910 100644 --- a/internal/auth/repository/eventsourcing/view/idp_configs.go +++ b/internal/auth/repository/eventsourcing/view/idp_configs.go @@ -41,8 +41,8 @@ func (v *View) DeleteIDPConfig(idpID string, event *models.Event) error { return v.ProcessedIDPConfigSequence(event) } -func (v *View) GetLatestIDPConfigSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpConfigTable, aggregateType) +func (v *View) GetLatestIDPConfigSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpConfigTable) } func (v *View) ProcessedIDPConfigSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/idp_providers.go b/internal/auth/repository/eventsourcing/view/idp_providers.go index afd25c15f8..2b17531533 100644 --- a/internal/auth/repository/eventsourcing/view/idp_providers.go +++ b/internal/auth/repository/eventsourcing/view/idp_providers.go @@ -61,8 +61,8 @@ func (v *View) DeleteIDPProvidersByAggregateID(aggregateID string, event *models return v.ProcessedIDPProviderSequence(event) } -func (v *View) GetLatestIDPProviderSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpProviderTable, aggregateType) +func (v *View) GetLatestIDPProviderSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpProviderTable) } func (v *View) ProcessedIDPProviderSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/key.go b/internal/auth/repository/eventsourcing/view/key.go index f8fca89445..574ff84337 100644 --- a/internal/auth/repository/eventsourcing/view/key.go +++ b/internal/auth/repository/eventsourcing/view/key.go @@ -57,8 +57,8 @@ func (v *View) DeleteKeyPair(keyID string, event *models.Event) error { return v.ProcessedKeySequence(event) } -func (v *View) GetLatestKeySequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(keyTable, aggregateType) +func (v *View) GetLatestKeySequence() (*repository.CurrentSequence, error) { + return v.latestSequence(keyTable) } func (v *View) ProcessedKeySequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/login_policies.go b/internal/auth/repository/eventsourcing/view/login_policies.go index 2687cd8b6d..73bf483582 100644 --- a/internal/auth/repository/eventsourcing/view/login_policies.go +++ b/internal/auth/repository/eventsourcing/view/login_policies.go @@ -32,8 +32,8 @@ func (v *View) DeleteLoginPolicy(aggregateID string, event *models.Event) error return v.ProcessedLoginPolicySequence(event) } -func (v *View) GetLatestLoginPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(loginPolicyTable, aggregateType) +func (v *View) GetLatestLoginPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(loginPolicyTable) } func (v *View) ProcessedLoginPolicySequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/machine_keys.go b/internal/auth/repository/eventsourcing/view/machine_keys.go index b5412d7240..908dc54d8c 100644 --- a/internal/auth/repository/eventsourcing/view/machine_keys.go +++ b/internal/auth/repository/eventsourcing/view/machine_keys.go @@ -53,8 +53,8 @@ func (v *View) DeleteMachineKeysByUserID(userID string, event *models.Event) err return v.ProcessedMachineKeySequence(event) } -func (v *View) GetLatestMachineKeySequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(machineKeyTable, aggregateType) +func (v *View) GetLatestMachineKeySequence() (*repository.CurrentSequence, error) { + return v.latestSequence(machineKeyTable) } func (v *View) ProcessedMachineKeySequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/org.go b/internal/auth/repository/eventsourcing/view/org.go index 1b9a7c1b4c..e8407deb72 100644 --- a/internal/auth/repository/eventsourcing/view/org.go +++ b/internal/auth/repository/eventsourcing/view/org.go @@ -44,8 +44,8 @@ func (v *View) UpdateOrgSpoolerRunTimestamp() error { return v.updateSpoolerRunSequence(orgTable) } -func (v *View) GetLatestOrgSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgTable, aggregateType) +func (v *View) GetLatestOrgSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgTable) } func (v *View) ProcessedOrgSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/org_iam_policy.go b/internal/auth/repository/eventsourcing/view/org_iam_policy.go index a05592dae3..3dba05807d 100644 --- a/internal/auth/repository/eventsourcing/view/org_iam_policy.go +++ b/internal/auth/repository/eventsourcing/view/org_iam_policy.go @@ -32,8 +32,8 @@ func (v *View) DeleteOrgIAMPolicy(aggregateID string, event *models.Event) error return v.ProcessedOrgIAMPolicySequence(event) } -func (v *View) GetLatestOrgIAMPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(orgIAMPolicyTable, aggregateType) +func (v *View) GetLatestOrgIAMPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(orgIAMPolicyTable) } func (v *View) ProcessedOrgIAMPolicySequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/password_complexity_policy.go b/internal/auth/repository/eventsourcing/view/password_complexity_policy.go index 43ce74f8c1..9c054fd8e5 100644 --- a/internal/auth/repository/eventsourcing/view/password_complexity_policy.go +++ b/internal/auth/repository/eventsourcing/view/password_complexity_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordComplexityPolicy(aggregateID string, event *models. return v.ProcessedPasswordComplexityPolicySequence(event) } -func (v *View) GetLatestPasswordComplexityPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordComplexityPolicyTable, aggregateType) +func (v *View) GetLatestPasswordComplexityPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordComplexityPolicyTable) } func (v *View) ProcessedPasswordComplexityPolicySequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/project_role.go b/internal/auth/repository/eventsourcing/view/project_role.go index c5a99bfe4a..a27672319c 100644 --- a/internal/auth/repository/eventsourcing/view/project_role.go +++ b/internal/auth/repository/eventsourcing/view/project_role.go @@ -53,8 +53,8 @@ func (v *View) DeleteProjectRolesByProjectID(projectID string) error { return view.DeleteProjectRolesByProjectID(v.Db, projectRoleTable, projectID) } -func (v *View) GetLatestProjectRoleSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(projectRoleTable, aggregateType) +func (v *View) GetLatestProjectRoleSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(projectRoleTable) } func (v *View) ProcessedProjectRoleSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/sequence.go b/internal/auth/repository/eventsourcing/view/sequence.go index d9eb6c7a64..cf75ab7606 100644 --- a/internal/auth/repository/eventsourcing/view/sequence.go +++ b/internal/auth/repository/eventsourcing/view/sequence.go @@ -12,15 +12,15 @@ const ( ) func (v *View) saveCurrentSequence(viewName string, event *models.Event) error { - return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, string(event.AggregateType), event.Sequence, event.CreationDate) + return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, event.Sequence, event.CreationDate) } -func (v *View) latestSequence(viewName, aggregateType string) (*repository.CurrentSequence, error) { - return repository.LatestSequence(v.Db, sequencesTable, viewName, aggregateType) +func (v *View) latestSequence(viewName string) (*repository.CurrentSequence, error) { + return repository.LatestSequence(v.Db, sequencesTable, viewName) } func (v *View) updateSpoolerRunSequence(viewName string) error { - currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName, "") + currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName) if err != nil { return err } diff --git a/internal/auth/repository/eventsourcing/view/token.go b/internal/auth/repository/eventsourcing/view/token.go index 105034a364..032953d529 100644 --- a/internal/auth/repository/eventsourcing/view/token.go +++ b/internal/auth/repository/eventsourcing/view/token.go @@ -68,8 +68,8 @@ func (v *View) DeleteApplicationTokens(event *models.Event, ids ...string) error return v.ProcessedTokenSequence(event) } -func (v *View) GetLatestTokenSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(tokenTable, aggregateType) +func (v *View) GetLatestTokenSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(tokenTable) } func (v *View) ProcessedTokenSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/user.go b/internal/auth/repository/eventsourcing/view/user.go index 21de8cef8d..a93a92c982 100644 --- a/internal/auth/repository/eventsourcing/view/user.go +++ b/internal/auth/repository/eventsourcing/view/user.go @@ -77,8 +77,8 @@ func (v *View) DeleteUser(userID string, event *models.Event) error { return v.ProcessedUserSequence(event) } -func (v *View) GetLatestUserSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userTable, aggregateType) +func (v *View) GetLatestUserSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userTable) } func (v *View) ProcessedUserSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/user_grant.go b/internal/auth/repository/eventsourcing/view/user_grant.go index d9a52a586e..4d713fd073 100644 --- a/internal/auth/repository/eventsourcing/view/user_grant.go +++ b/internal/auth/repository/eventsourcing/view/user_grant.go @@ -61,8 +61,8 @@ func (v *View) DeleteUserGrant(grantID string, event *models.Event) error { return v.ProcessedUserGrantSequence(event) } -func (v *View) GetLatestUserGrantSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userGrantTable, aggregateType) +func (v *View) GetLatestUserGrantSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userGrantTable) } func (v *View) ProcessedUserGrantSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/user_membership.go b/internal/auth/repository/eventsourcing/view/user_membership.go index f3d9fae70e..1574a668ef 100644 --- a/internal/auth/repository/eventsourcing/view/user_membership.go +++ b/internal/auth/repository/eventsourcing/view/user_membership.go @@ -77,8 +77,8 @@ func (v *View) DeleteUserMembershipsByAggregateIDAndObjectID(aggregateID, object return v.ProcessedUserMembershipSequence(event) } -func (v *View) GetLatestUserMembershipSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userMembershipTable, aggregateType) +func (v *View) GetLatestUserMembershipSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userMembershipTable) } func (v *View) ProcessedUserMembershipSequence(event *models.Event) error { diff --git a/internal/auth/repository/eventsourcing/view/user_session.go b/internal/auth/repository/eventsourcing/view/user_session.go index 16ce4c7986..01ec5360df 100644 --- a/internal/auth/repository/eventsourcing/view/user_session.go +++ b/internal/auth/repository/eventsourcing/view/user_session.go @@ -52,8 +52,8 @@ func (v *View) DeleteUserSessions(userID string, event *models.Event) error { return v.ProcessedUserSessionSequence(event) } -func (v *View) GetLatestUserSessionSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userSessionTable, aggregateType) +func (v *View) GetLatestUserSessionSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userSessionTable) } func (v *View) ProcessedUserSessionSequence(event *models.Event) error { diff --git a/internal/authz/repository/eventsourcing/handler/application.go b/internal/authz/repository/eventsourcing/handler/application.go index fcb84ee675..bb7bda0585 100644 --- a/internal/authz/repository/eventsourcing/handler/application.go +++ b/internal/authz/repository/eventsourcing/handler/application.go @@ -48,8 +48,8 @@ func (a *Application) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (a *Application) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := a.view.GetLatestApplicationSequence(string(event.AggregateType)) +func (a *Application) CurrentSequence() (uint64, error) { + sequence, err := a.view.GetLatestApplicationSequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (a *Application) CurrentSequence(event *models.Event) (uint64, error) { } func (a *Application) EventQuery() (*models.SearchQuery, error) { - sequence, err := a.view.GetLatestApplicationSequence("") + sequence, err := a.view.GetLatestApplicationSequence() if err != nil { return nil, err } diff --git a/internal/authz/repository/eventsourcing/handler/org.go b/internal/authz/repository/eventsourcing/handler/org.go index 34cc1a69e7..184316eec9 100644 --- a/internal/authz/repository/eventsourcing/handler/org.go +++ b/internal/authz/repository/eventsourcing/handler/org.go @@ -4,7 +4,6 @@ import ( "github.com/caos/logging" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -49,8 +48,8 @@ func (_ *Org) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate} } -func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := o.view.GetLatestOrgSequence(string(event.AggregateType)) +func (o *Org) CurrentSequence() (uint64, error) { + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return 0, err } @@ -58,7 +57,7 @@ func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { } func (o *Org) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := o.view.GetLatestOrgSequence("") + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return nil, err } diff --git a/internal/authz/repository/eventsourcing/handler/user_grant.go b/internal/authz/repository/eventsourcing/handler/user_grant.go index f4a8d7c2dd..822e56b9cd 100644 --- a/internal/authz/repository/eventsourcing/handler/user_grant.go +++ b/internal/authz/repository/eventsourcing/handler/user_grant.go @@ -66,8 +66,8 @@ func (_ *UserGrant) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{iam_es_model.IAMAggregate, org_es_model.OrgAggregate, proj_es_model.ProjectAggregate} } -func (u *UserGrant) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserGrantSequence(string(event.AggregateType)) +func (u *UserGrant) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return 0, err } @@ -81,7 +81,7 @@ func (u *UserGrant) EventQuery() (*models.SearchQuery, error) { return nil, err } } - sequence, err := u.view.GetLatestUserGrantSequence("") + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return nil, err } diff --git a/internal/authz/repository/eventsourcing/view/application.go b/internal/authz/repository/eventsourcing/view/application.go index 84ae564981..9757a663fb 100644 --- a/internal/authz/repository/eventsourcing/view/application.go +++ b/internal/authz/repository/eventsourcing/view/application.go @@ -51,8 +51,8 @@ func (v *View) DeleteApplication(appID string, event *models.Event) error { return v.ProcessedApplicationSequence(event) } -func (v *View) GetLatestApplicationSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(applicationTable, aggregateType) +func (v *View) GetLatestApplicationSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(applicationTable) } func (v *View) ProcessedApplicationSequence(event *models.Event) error { diff --git a/internal/authz/repository/eventsourcing/view/org.go b/internal/authz/repository/eventsourcing/view/org.go index 6d27b5b071..aa99489968 100644 --- a/internal/authz/repository/eventsourcing/view/org.go +++ b/internal/authz/repository/eventsourcing/view/org.go @@ -36,8 +36,8 @@ func (v *View) ProcessedOrgFailedEvent(failedEvent *repository.FailedEvent) erro return v.saveFailedEvent(failedEvent) } -func (v *View) GetLatestOrgSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgTable, aggregateType) +func (v *View) GetLatestOrgSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgTable) } func (v *View) ProcessedOrgSequence(event *models.Event) error { diff --git a/internal/authz/repository/eventsourcing/view/sequence.go b/internal/authz/repository/eventsourcing/view/sequence.go index 42e6e20bfd..056c2a0399 100644 --- a/internal/authz/repository/eventsourcing/view/sequence.go +++ b/internal/authz/repository/eventsourcing/view/sequence.go @@ -12,15 +12,15 @@ const ( ) func (v *View) saveCurrentSequence(viewName string, event *models.Event) error { - return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, string(event.AggregateType), event.Sequence, event.CreationDate) + return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, event.Sequence, event.CreationDate) } -func (v *View) latestSequence(viewName, aggregateType string) (*repository.CurrentSequence, error) { - return repository.LatestSequence(v.Db, sequencesTable, viewName, aggregateType) +func (v *View) latestSequence(viewName string) (*repository.CurrentSequence, error) { + return repository.LatestSequence(v.Db, sequencesTable, viewName) } func (v *View) updateSpoolerRunSequence(viewName string) error { - currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName, "") + currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName) if err != nil { return err } diff --git a/internal/authz/repository/eventsourcing/view/token.go b/internal/authz/repository/eventsourcing/view/token.go index d2987a8194..8cd63fd8d1 100644 --- a/internal/authz/repository/eventsourcing/view/token.go +++ b/internal/authz/repository/eventsourcing/view/token.go @@ -40,8 +40,8 @@ func (v *View) DeleteSessionTokens(agentID, userID string, event *models.Event) return v.ProcessedTokenSequence(event) } -func (v *View) GetLatestTokenSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(tokenTable, aggregateType) +func (v *View) GetLatestTokenSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(tokenTable) } func (v *View) ProcessedTokenSequence(event *models.Event) error { diff --git a/internal/authz/repository/eventsourcing/view/user_grant.go b/internal/authz/repository/eventsourcing/view/user_grant.go index 84de9319ea..210d08dcb4 100644 --- a/internal/authz/repository/eventsourcing/view/user_grant.go +++ b/internal/authz/repository/eventsourcing/view/user_grant.go @@ -49,8 +49,8 @@ func (v *View) DeleteUserGrant(grantID string, event *models.Event) error { return v.ProcessedUserGrantSequence(event) } -func (v *View) GetLatestUserGrantSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userGrantTable, aggregateType) +func (v *View) GetLatestUserGrantSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userGrantTable) } func (v *View) ProcessedUserGrantSequence(event *models.Event) error { diff --git a/internal/eventstore/query/handler.go b/internal/eventstore/query/handler.go index 622a69156e..52ab1771be 100755 --- a/internal/eventstore/query/handler.go +++ b/internal/eventstore/query/handler.go @@ -5,6 +5,7 @@ import ( "time" "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/eventstore/models" ) @@ -24,12 +25,12 @@ type Handler interface { QueryLimit() uint64 AggregateTypes() []models.AggregateType - CurrentSequence(*models.Event) (uint64, error) + CurrentSequence() (uint64, error) Eventstore() eventstore.Eventstore } func ReduceEvent(handler Handler, event *models.Event) { - currentSequence, err := handler.CurrentSequence(event) + currentSequence, err := handler.CurrentSequence() if err != nil { logging.Log("HANDL-BmpkC").WithError(err).Warn("unable to get current sequence") return @@ -46,32 +47,23 @@ func ReduceEvent(handler Handler, event *models.Event) { return } - processedSequences := map[models.AggregateType]uint64{} - for _, unprocessedEvent := range unprocessedEvents { - currentSequence, err := handler.CurrentSequence(unprocessedEvent) + currentSequence, err := handler.CurrentSequence() if err != nil { logging.Log("HANDL-BmpkC").WithError(err).Warn("unable to get current sequence") return } - _, ok := processedSequences[unprocessedEvent.AggregateType] - if !ok { - processedSequences[unprocessedEvent.AggregateType] = currentSequence - } - if processedSequences[unprocessedEvent.AggregateType] != currentSequence { - if currentSequence < processedSequences[unprocessedEvent.AggregateType] { - logging.LogWithFields("QUERY-DOYVN", - "processed", processedSequences[unprocessedEvent.AggregateType], - "current", currentSequence, - "view", handler.ViewModel()). - Warn("sequence not matching") - } + if unprocessedEvent.Sequence < currentSequence { + logging.LogWithFields("QUERY-DOYVN", + "unprocessed", unprocessedEvent.Sequence, + "current", currentSequence, + "view", handler.ViewModel()). + Warn("sequence not matching") return } err = handler.Reduce(unprocessedEvent) logging.LogWithFields("HANDL-V42TI", "seq", unprocessedEvent.Sequence).OnError(err).Warn("reduce failed") - processedSequences[unprocessedEvent.AggregateType] = unprocessedEvent.Sequence } if len(unprocessedEvents) == eventLimit { logging.LogWithFields("QUERY-BSqe9", "seq", event.Sequence).Warn("didnt process event") diff --git a/internal/eventstore/spooler/spooler_test.go b/internal/eventstore/spooler/spooler_test.go index 5b02977ea1..b685af2675 100644 --- a/internal/eventstore/spooler/spooler_test.go +++ b/internal/eventstore/spooler/spooler_test.go @@ -29,7 +29,7 @@ func (h *testHandler) AggregateTypes() []models.AggregateType { return nil } -func (h *testHandler) CurrentSequence(event *models.Event) (uint64, error) { +func (h *testHandler) CurrentSequence() (uint64, error) { return 0, nil } diff --git a/internal/management/repository/eventsourcing/eventstore/org.go b/internal/management/repository/eventsourcing/eventstore/org.go index 6eb57388fc..cc4acfe341 100644 --- a/internal/management/repository/eventsourcing/eventstore/org.go +++ b/internal/management/repository/eventsourcing/eventstore/org.go @@ -108,7 +108,7 @@ func (repo *OrgRepository) GetMyOrgIamPolicy(ctx context.Context) (*iam_model.Or func (repo *OrgRepository) SearchMyOrgDomains(ctx context.Context, request *org_model.OrgDomainSearchRequest) (*org_model.OrgDomainSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) request.Queries = append(request.Queries, &org_model.OrgDomainSearchQuery{Key: org_model.OrgDomainSearchKeyOrgID, Method: global_model.SearchMethodEquals, Value: authz.GetCtxData(ctx).OrgID}) - sequence, sequenceErr := repo.View.GetLatestOrgDomainSequence("") + sequence, sequenceErr := repo.View.GetLatestOrgDomainSequence() logging.Log("EVENT-SLowp").OnError(sequenceErr).WithField("traceID", tracing.TraceIDFromCtx(ctx)).Warn("could not read latest org domain sequence") domains, count, err := repo.View.SearchOrgDomains(request) if err != nil { @@ -205,7 +205,7 @@ func (repo *OrgRepository) RemoveMyOrgMember(ctx context.Context, userID string) func (repo *OrgRepository) SearchMyOrgMembers(ctx context.Context, request *org_model.OrgMemberSearchRequest) (*org_model.OrgMemberSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) request.Queries[len(request.Queries)-1] = &org_model.OrgMemberSearchQuery{Key: org_model.OrgMemberSearchKeyOrgID, Method: global_model.SearchMethodEquals, Value: authz.GetCtxData(ctx).OrgID} - sequence, sequenceErr := repo.View.GetLatestOrgMemberSequence("") + sequence, sequenceErr := repo.View.GetLatestOrgMemberSequence() logging.Log("EVENT-Smu3d").OnError(sequenceErr).Warn("could not read latest org member sequence") members, count, err := repo.View.SearchOrgMembers(request) if err != nil { @@ -292,7 +292,7 @@ func (repo *OrgRepository) SearchIDPConfigs(ctx context.Context, request *iam_mo request.EnsureLimit(repo.SearchLimit) request.AppendMyOrgQuery(authz.GetCtxData(ctx).OrgID, repo.SystemDefaults.IamID) - sequence, sequenceErr := repo.View.GetLatestIDPConfigSequence("") + sequence, sequenceErr := repo.View.GetLatestIDPConfigSequence() logging.Log("EVENT-Dk8si").OnError(sequenceErr).Warn("could not read latest idp config sequence") idps, count, err := repo.View.SearchIDPConfigs(request) if err != nil { @@ -414,7 +414,7 @@ func (repo *OrgRepository) SearchIDPProviders(ctx context.Context, request *iam_ request.AppendAggregateIDQuery(authz.GetCtxData(ctx).OrgID) } request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestIDPProviderSequence("") + sequence, sequenceErr := repo.View.GetLatestIDPProviderSequence() logging.Log("EVENT-Tuiks").OnError(sequenceErr).Warn("could not read latest iam sequence") providers, count, err := repo.View.SearchIDPProviders(request) if err != nil { diff --git a/internal/management/repository/eventsourcing/eventstore/project.go b/internal/management/repository/eventsourcing/eventstore/project.go index 2d949a3f95..5a9343ff11 100644 --- a/internal/management/repository/eventsourcing/eventstore/project.go +++ b/internal/management/repository/eventsourcing/eventstore/project.go @@ -118,7 +118,7 @@ func (repo *ProjectRepo) RemoveProject(ctx context.Context, projectID string) er func (repo *ProjectRepo) SearchProjects(ctx context.Context, request *proj_model.ProjectViewSearchRequest) (*proj_model.ProjectViewSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestProjectSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectSequence() logging.Log("EVENT-Edc56").OnError(sequenceErr).Warn("could not read latest project sequence") permissions := authz.GetRequestPermissionsFromCtx(ctx) @@ -198,7 +198,7 @@ func (repo *ProjectRepo) RemoveProjectMember(ctx context.Context, projectID, use func (repo *ProjectRepo) SearchProjectMembers(ctx context.Context, request *proj_model.ProjectMemberSearchRequest) (*proj_model.ProjectMemberSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestProjectMemberSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectMemberSequence() logging.Log("EVENT-3dgt6").OnError(sequenceErr).Warn("could not read latest project member sequence") members, count, err := repo.View.SearchProjectMembers(request) if err != nil { @@ -270,7 +270,7 @@ func (repo *ProjectRepo) RemoveProjectRole(ctx context.Context, projectID, key s func (repo *ProjectRepo) SearchProjectRoles(ctx context.Context, projectID string, request *proj_model.ProjectRoleSearchRequest) (*proj_model.ProjectRoleSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) request.AppendProjectQuery(projectID) - sequence, sequenceErr := repo.View.GetLatestProjectRoleSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectRoleSequence() logging.Log("LSp0d-47suf").OnError(sequenceErr).Warn("could not read latest project role sequence") roles, count, err := repo.View.SearchProjectRoles(request) if err != nil { @@ -366,7 +366,7 @@ func (repo *ProjectRepo) RemoveApplication(ctx context.Context, projectID, appID func (repo *ProjectRepo) SearchApplications(ctx context.Context, request *proj_model.ApplicationSearchRequest) (*proj_model.ApplicationSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestApplicationSequence("") + sequence, sequenceErr := repo.View.GetLatestApplicationSequence() logging.Log("EVENT-SKe8s").OnError(sequenceErr).Warn("could not read latest application sequence") apps, count, err := repo.View.SearchApplications(request) if err != nil { @@ -423,7 +423,7 @@ func (repo *ProjectRepo) ProjectGrantByID(ctx context.Context, grantID string) ( func (repo *ProjectRepo) SearchProjectGrants(ctx context.Context, request *proj_model.ProjectGrantViewSearchRequest) (*proj_model.ProjectGrantViewSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestProjectGrantSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectGrantSequence() logging.Log("EVENT-Skw9f").OnError(sequenceErr).Warn("could not read latest project grant sequence") projects, count, err := repo.View.SearchProjectGrants(request) if err != nil { @@ -444,7 +444,7 @@ func (repo *ProjectRepo) SearchProjectGrants(ctx context.Context, request *proj_ func (repo *ProjectRepo) SearchGrantedProjects(ctx context.Context, request *proj_model.ProjectGrantViewSearchRequest) (*proj_model.ProjectGrantViewSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestProjectGrantSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectGrantSequence() logging.Log("EVENT-Skw9f").OnError(sequenceErr).Warn("could not read latest project grant sequence") permissions := authz.GetRequestPermissionsFromCtx(ctx) @@ -612,7 +612,7 @@ func (repo *ProjectRepo) RemoveProjectGrantMember(ctx context.Context, projectID func (repo *ProjectRepo) SearchProjectGrantMembers(ctx context.Context, request *proj_model.ProjectGrantMemberSearchRequest) (*proj_model.ProjectGrantMemberSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestProjectGrantMemberSequence("") + sequence, sequenceErr := repo.View.GetLatestProjectGrantMemberSequence() logging.Log("EVENT-Du8sk").OnError(sequenceErr).Warn("could not read latest project grant sequence") members, count, err := repo.View.SearchProjectGrantMembers(request) if err != nil { diff --git a/internal/management/repository/eventsourcing/eventstore/user.go b/internal/management/repository/eventsourcing/eventstore/user.go index 1c16407b4f..1cc0c69772 100644 --- a/internal/management/repository/eventsourcing/eventstore/user.go +++ b/internal/management/repository/eventsourcing/eventstore/user.go @@ -156,7 +156,7 @@ func (repo *UserRepo) RemoveUser(ctx context.Context, id string) error { func (repo *UserRepo) SearchUsers(ctx context.Context, request *usr_model.UserSearchRequest) (*usr_model.UserSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestUserSequence("") + sequence, sequenceErr := repo.View.GetLatestUserSequence() logging.Log("EVENT-Lcn7d").OnError(sequenceErr).Warn("could not read latest user sequence") users, count, err := repo.View.SearchUsers(request) if err != nil { @@ -274,7 +274,7 @@ func (repo *UserRepo) ProfileByID(ctx context.Context, userID string) (*usr_mode func (repo *UserRepo) SearchExternalIDPs(ctx context.Context, request *usr_model.ExternalIDPSearchRequest) (*usr_model.ExternalIDPSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, seqErr := repo.View.GetLatestExternalIDPSequence("") + sequence, seqErr := repo.View.GetLatestExternalIDPSequence() logging.Log("EVENT-Qs7uf").OnError(seqErr).Warn("could not read latest external idp sequence") externalIDPS, count, err := repo.View.SearchExternalIDPs(request) if err != nil { @@ -311,7 +311,7 @@ func (repo *UserRepo) GetMachineKey(ctx context.Context, userID, keyID string) ( func (repo *UserRepo) SearchMachineKeys(ctx context.Context, request *usr_model.MachineKeySearchRequest) (*usr_model.MachineKeySearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, seqErr := repo.View.GetLatestMachineKeySequence("") + sequence, seqErr := repo.View.GetLatestMachineKeySequence() logging.Log("EVENT-Sk8fs").OnError(seqErr).Warn("could not read latest user sequence") keys, count, err := repo.View.SearchMachineKeys(request) if err != nil { @@ -413,7 +413,7 @@ func (repo *UserRepo) ChangeAddress(ctx context.Context, address *usr_model.Addr func (repo *UserRepo) SearchUserMemberships(ctx context.Context, request *usr_model.UserMembershipSearchRequest) (*usr_model.UserMembershipSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestUserMembershipSequence("") + sequence, sequenceErr := repo.View.GetLatestUserMembershipSequence() logging.Log("EVENT-Dn7sf").OnError(sequenceErr).Warn("could not read latest user sequence") result := handleSearchUserMembershipsPermissions(ctx, request, sequence) diff --git a/internal/management/repository/eventsourcing/eventstore/user_grant.go b/internal/management/repository/eventsourcing/eventstore/user_grant.go index d2f4f337e9..09568b64fc 100644 --- a/internal/management/repository/eventsourcing/eventstore/user_grant.go +++ b/internal/management/repository/eventsourcing/eventstore/user_grant.go @@ -116,7 +116,7 @@ func (repo *UserGrantRepo) BulkRemoveUserGrant(ctx context.Context, grantIDs ... func (repo *UserGrantRepo) SearchUserGrants(ctx context.Context, request *grant_model.UserGrantSearchRequest) (*grant_model.UserGrantSearchResponse, error) { request.EnsureLimit(repo.SearchLimit) - sequence, sequenceErr := repo.View.GetLatestUserGrantSequence("") + sequence, sequenceErr := repo.View.GetLatestUserGrantSequence() logging.Log("EVENT-5Viwf").OnError(sequenceErr).Warn("could not read latest user grant sequence") result := handleSearchUserGrantPermissions(ctx, request, sequence) diff --git a/internal/management/repository/eventsourcing/handler/application.go b/internal/management/repository/eventsourcing/handler/application.go index 442eae59b3..c18a055728 100644 --- a/internal/management/repository/eventsourcing/handler/application.go +++ b/internal/management/repository/eventsourcing/handler/application.go @@ -56,8 +56,8 @@ func (_ *Application) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (a *Application) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := a.view.GetLatestApplicationSequence(string(event.AggregateType)) +func (a *Application) CurrentSequence() (uint64, error) { + sequence, err := a.view.GetLatestApplicationSequence() if err != nil { return 0, err } @@ -65,7 +65,7 @@ func (a *Application) CurrentSequence(event *models.Event) (uint64, error) { } func (a *Application) EventQuery() (*models.SearchQuery, error) { - sequence, err := a.view.GetLatestApplicationSequence("") + sequence, err := a.view.GetLatestApplicationSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/idp_config.go b/internal/management/repository/eventsourcing/handler/idp_config.go index 5fa73038e5..5f86992807 100644 --- a/internal/management/repository/eventsourcing/handler/idp_config.go +++ b/internal/management/repository/eventsourcing/handler/idp_config.go @@ -2,8 +2,8 @@ package handler import ( "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -49,8 +49,8 @@ func (_ *IDPConfig) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (m *IDPConfig) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := m.view.GetLatestIDPConfigSequence(string(event.AggregateType)) +func (m *IDPConfig) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestIDPConfigSequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (m *IDPConfig) CurrentSequence(event *models.Event) (uint64, error) { } func (m *IDPConfig) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := m.view.GetLatestIDPConfigSequence("") + sequence, err := m.view.GetLatestIDPConfigSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/idp_providers.go b/internal/management/repository/eventsourcing/handler/idp_providers.go index 1b5933917b..89d82a1d47 100644 --- a/internal/management/repository/eventsourcing/handler/idp_providers.go +++ b/internal/management/repository/eventsourcing/handler/idp_providers.go @@ -64,8 +64,8 @@ func (_ *IDPProvider) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.IAMAggregate, org_es_model.OrgAggregate} } -func (m *IDPProvider) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := m.view.GetLatestIDPProviderSequence(string(event.AggregateType)) +func (m *IDPProvider) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestIDPProviderSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (m *IDPProvider) CurrentSequence(event *es_models.Event) (uint64, error) { } func (m *IDPProvider) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := m.view.GetLatestIDPProviderSequence("") + sequence, err := m.view.GetLatestIDPProviderSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/label_policy.go b/internal/management/repository/eventsourcing/handler/label_policy.go index 2cc3ba833e..b56cadbd8a 100644 --- a/internal/management/repository/eventsourcing/handler/label_policy.go +++ b/internal/management/repository/eventsourcing/handler/label_policy.go @@ -48,8 +48,8 @@ func (_ *LabelPolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (m *LabelPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := m.view.GetLatestLabelPolicySequence(string(event.AggregateType)) +func (m *LabelPolicy) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestLabelPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (m *LabelPolicy) CurrentSequence(event *models.Event) (uint64, error) { } func (m *LabelPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := m.view.GetLatestLabelPolicySequence("") + sequence, err := m.view.GetLatestLabelPolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/login_policy.go b/internal/management/repository/eventsourcing/handler/login_policy.go index cf8994ff1e..c5a1eae408 100644 --- a/internal/management/repository/eventsourcing/handler/login_policy.go +++ b/internal/management/repository/eventsourcing/handler/login_policy.go @@ -48,8 +48,8 @@ func (_ *LoginPolicy) AggregateTypes() []models.AggregateType { return []models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (m *LoginPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := m.view.GetLatestLoginPolicySequence(string(event.AggregateType)) +func (m *LoginPolicy) CurrentSequence() (uint64, error) { + sequence, err := m.view.GetLatestLoginPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (m *LoginPolicy) CurrentSequence(event *models.Event) (uint64, error) { } func (m *LoginPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := m.view.GetLatestLoginPolicySequence("") + sequence, err := m.view.GetLatestLoginPolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/machine_keys.go b/internal/management/repository/eventsourcing/handler/machine_keys.go index 6758c4f173..cabe5f0cdf 100644 --- a/internal/management/repository/eventsourcing/handler/machine_keys.go +++ b/internal/management/repository/eventsourcing/handler/machine_keys.go @@ -49,8 +49,8 @@ func (_ *MachineKeys) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.UserAggregate} } -func (k *MachineKeys) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := k.view.GetLatestMachineKeySequence(string(event.AggregateType)) +func (k *MachineKeys) CurrentSequence() (uint64, error) { + sequence, err := k.view.GetLatestMachineKeySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (k *MachineKeys) CurrentSequence(event *models.Event) (uint64, error) { } func (d *MachineKeys) EventQuery() (*models.SearchQuery, error) { - sequence, err := d.view.GetLatestMachineKeySequence("") + sequence, err := d.view.GetLatestMachineKeySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/org.go b/internal/management/repository/eventsourcing/handler/org.go index a4f6eb211d..af950ffa8c 100644 --- a/internal/management/repository/eventsourcing/handler/org.go +++ b/internal/management/repository/eventsourcing/handler/org.go @@ -2,8 +2,8 @@ package handler import ( "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -48,8 +48,8 @@ func (_ *Org) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate} } -func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := o.view.GetLatestOrgSequence(string(event.AggregateType)) +func (o *Org) CurrentSequence() (uint64, error) { + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (o *Org) CurrentSequence(event *models.Event) (uint64, error) { } func (o *Org) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := o.view.GetLatestOrgSequence("") + sequence, err := o.view.GetLatestOrgSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/org_domain.go b/internal/management/repository/eventsourcing/handler/org_domain.go index 9a7dedb5ee..963f518592 100644 --- a/internal/management/repository/eventsourcing/handler/org_domain.go +++ b/internal/management/repository/eventsourcing/handler/org_domain.go @@ -47,8 +47,8 @@ func (_ *OrgDomain) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate} } -func (p *OrgDomain) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestOrgDomainSequence(string(event.AggregateType)) +func (p *OrgDomain) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestOrgDomainSequence() if err != nil { return 0, err } @@ -56,7 +56,7 @@ func (p *OrgDomain) CurrentSequence(event *models.Event) (uint64, error) { } func (d *OrgDomain) EventQuery() (*models.SearchQuery, error) { - sequence, err := d.view.GetLatestOrgDomainSequence("") + sequence, err := d.view.GetLatestOrgDomainSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/org_iam_policy.go b/internal/management/repository/eventsourcing/handler/org_iam_policy.go index 796652bbb4..636b37ff6f 100644 --- a/internal/management/repository/eventsourcing/handler/org_iam_policy.go +++ b/internal/management/repository/eventsourcing/handler/org_iam_policy.go @@ -48,8 +48,8 @@ func (_ *OrgIAMPolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *OrgIAMPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestOrgIAMPolicySequence(string(event.AggregateType)) +func (p *OrgIAMPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestOrgIAMPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (p *OrgIAMPolicy) CurrentSequence(event *models.Event) (uint64, error) { } func (m *OrgIAMPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := m.view.GetLatestOrgIAMPolicySequence("") + sequence, err := m.view.GetLatestOrgIAMPolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/org_member.go b/internal/management/repository/eventsourcing/handler/org_member.go index cf3e1b6499..f4e8743b6d 100644 --- a/internal/management/repository/eventsourcing/handler/org_member.go +++ b/internal/management/repository/eventsourcing/handler/org_member.go @@ -57,8 +57,8 @@ func (_ *OrgMember) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, usr_es_model.UserAggregate} } -func (p *OrgMember) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestOrgMemberSequence(string(event.AggregateType)) +func (p *OrgMember) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestOrgMemberSequence() if err != nil { return 0, err } @@ -66,7 +66,7 @@ func (p *OrgMember) CurrentSequence(event *models.Event) (uint64, error) { } func (m *OrgMember) EventQuery() (*models.SearchQuery, error) { - sequence, err := m.view.GetLatestOrgMemberSequence("") + sequence, err := m.view.GetLatestOrgMemberSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/password_age_policy.go b/internal/management/repository/eventsourcing/handler/password_age_policy.go index eee2e2711c..1e5bc2ba75 100644 --- a/internal/management/repository/eventsourcing/handler/password_age_policy.go +++ b/internal/management/repository/eventsourcing/handler/password_age_policy.go @@ -48,8 +48,8 @@ func (_ *PasswordAgePolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (o *PasswordAgePolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := o.view.GetLatestPasswordAgePolicySequence(string(event.AggregateType)) +func (o *PasswordAgePolicy) CurrentSequence() (uint64, error) { + sequence, err := o.view.GetLatestPasswordAgePolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (o *PasswordAgePolicy) CurrentSequence(event *models.Event) (uint64, error) } func (p *PasswordAgePolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordAgePolicySequence("") + sequence, err := p.view.GetLatestPasswordAgePolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/password_complexity_policy.go b/internal/management/repository/eventsourcing/handler/password_complexity_policy.go index d2d14c885d..d4935e88c5 100644 --- a/internal/management/repository/eventsourcing/handler/password_complexity_policy.go +++ b/internal/management/repository/eventsourcing/handler/password_complexity_policy.go @@ -48,8 +48,8 @@ func (_ *PasswordComplexityPolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence(string(event.AggregateType)) +func (p *PasswordComplexityPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (p *PasswordComplexityPolicy) CurrentSequence(event *models.Event) (uint64, } func (p *PasswordComplexityPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordComplexityPolicySequence("") + sequence, err := p.view.GetLatestPasswordComplexityPolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/password_lockout_policy.go b/internal/management/repository/eventsourcing/handler/password_lockout_policy.go index 19e7c9c0b6..89103d6b84 100644 --- a/internal/management/repository/eventsourcing/handler/password_lockout_policy.go +++ b/internal/management/repository/eventsourcing/handler/password_lockout_policy.go @@ -49,8 +49,8 @@ func (_ *PasswordLockoutPolicy) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.OrgAggregate, iam_es_model.IAMAggregate} } -func (p *PasswordLockoutPolicy) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestPasswordLockoutPolicySequence(string(event.AggregateType)) +func (p *PasswordLockoutPolicy) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestPasswordLockoutPolicySequence() if err != nil { return 0, err } @@ -58,7 +58,7 @@ func (p *PasswordLockoutPolicy) CurrentSequence(event *models.Event) (uint64, er } func (p *PasswordLockoutPolicy) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestPasswordLockoutPolicySequence("") + sequence, err := p.view.GetLatestPasswordLockoutPolicySequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/project.go b/internal/management/repository/eventsourcing/handler/project.go index 51331d44ee..d123b62091 100644 --- a/internal/management/repository/eventsourcing/handler/project.go +++ b/internal/management/repository/eventsourcing/handler/project.go @@ -48,8 +48,8 @@ func (_ *Project) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (p *Project) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectSequence(string(event.AggregateType)) +func (p *Project) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectSequence() if err != nil { return 0, err } @@ -57,7 +57,7 @@ func (p *Project) CurrentSequence(event *models.Event) (uint64, error) { } func (p *Project) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectSequence("") + sequence, err := p.view.GetLatestProjectSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/project_grant.go b/internal/management/repository/eventsourcing/handler/project_grant.go index 918eb54f56..1c96a8a80b 100644 --- a/internal/management/repository/eventsourcing/handler/project_grant.go +++ b/internal/management/repository/eventsourcing/handler/project_grant.go @@ -61,8 +61,8 @@ func (_ *ProjectGrant) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (p *ProjectGrant) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectGrantSequence(string(event.AggregateType)) +func (p *ProjectGrant) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectGrantSequence() if err != nil { return 0, err } @@ -70,7 +70,7 @@ func (p *ProjectGrant) CurrentSequence(event *models.Event) (uint64, error) { } func (p *ProjectGrant) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectGrantSequence("") + sequence, err := p.view.GetLatestProjectGrantSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/project_grant_member.go b/internal/management/repository/eventsourcing/handler/project_grant_member.go index 159be6d870..6897568ea8 100644 --- a/internal/management/repository/eventsourcing/handler/project_grant_member.go +++ b/internal/management/repository/eventsourcing/handler/project_grant_member.go @@ -58,8 +58,8 @@ func (_ *ProjectGrantMember) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{proj_es_model.ProjectAggregate, usr_es_model.UserAggregate} } -func (p *ProjectGrantMember) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectGrantMemberSequence(string(event.AggregateType)) +func (p *ProjectGrantMember) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectGrantMemberSequence() if err != nil { return 0, err } @@ -67,7 +67,7 @@ func (p *ProjectGrantMember) CurrentSequence(event *models.Event) (uint64, error } func (p *ProjectGrantMember) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectGrantMemberSequence("") + sequence, err := p.view.GetLatestProjectGrantMemberSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/project_member.go b/internal/management/repository/eventsourcing/handler/project_member.go index 721f42e9d8..0e8bf87f1a 100644 --- a/internal/management/repository/eventsourcing/handler/project_member.go +++ b/internal/management/repository/eventsourcing/handler/project_member.go @@ -58,8 +58,8 @@ func (_ *ProjectMember) AggregateTypes() []models.AggregateType { return []models.AggregateType{proj_es_model.ProjectAggregate, usr_es_model.UserAggregate} } -func (p *ProjectMember) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectMemberSequence(string(event.AggregateType)) +func (p *ProjectMember) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectMemberSequence() if err != nil { return 0, err } @@ -67,7 +67,7 @@ func (p *ProjectMember) CurrentSequence(event *models.Event) (uint64, error) { } func (p *ProjectMember) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectMemberSequence("") + sequence, err := p.view.GetLatestProjectMemberSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/project_role.go b/internal/management/repository/eventsourcing/handler/project_role.go index 3d89ba4a9f..b6f64f075a 100644 --- a/internal/management/repository/eventsourcing/handler/project_role.go +++ b/internal/management/repository/eventsourcing/handler/project_role.go @@ -54,8 +54,8 @@ func (_ *ProjectRole) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.ProjectAggregate} } -func (p *ProjectRole) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := p.view.GetLatestProjectRoleSequence(string(event.AggregateType)) +func (p *ProjectRole) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestProjectRoleSequence() if err != nil { return 0, err } @@ -63,7 +63,7 @@ func (p *ProjectRole) CurrentSequence(event *models.Event) (uint64, error) { } func (p *ProjectRole) EventQuery() (*models.SearchQuery, error) { - sequence, err := p.view.GetLatestProjectRoleSequence("") + sequence, err := p.view.GetLatestProjectRoleSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/user.go b/internal/management/repository/eventsourcing/handler/user.go index bf415d1602..fdfe7f44af 100644 --- a/internal/management/repository/eventsourcing/handler/user.go +++ b/internal/management/repository/eventsourcing/handler/user.go @@ -64,8 +64,8 @@ func (_ *User) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{es_model.UserAggregate, org_es_model.OrgAggregate} } -func (u *User) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserSequence(string(event.AggregateType)) +func (u *User) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (u *User) CurrentSequence(event *models.Event) (uint64, error) { } func (u *User) EventQuery() (*models.SearchQuery, error) { - sequence, err := u.view.GetLatestUserSequence("") + sequence, err := u.view.GetLatestUserSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/user_external_idps.go b/internal/management/repository/eventsourcing/handler/user_external_idps.go index 059a15c9bd..b25c32d803 100644 --- a/internal/management/repository/eventsourcing/handler/user_external_idps.go +++ b/internal/management/repository/eventsourcing/handler/user_external_idps.go @@ -4,10 +4,10 @@ import ( "context" "github.com/caos/logging" + "github.com/caos/zitadel/internal/config/systemdefaults" caos_errs "github.com/caos/zitadel/internal/errors" "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -68,8 +68,8 @@ func (_ *ExternalIDP) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{model.UserAggregate, iam_es_model.IAMAggregate, org_es_model.OrgAggregate} } -func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := i.view.GetLatestExternalIDPSequence(string(event.AggregateType)) +func (i *ExternalIDP) CurrentSequence() (uint64, error) { + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return 0, err } @@ -77,7 +77,7 @@ func (i *ExternalIDP) CurrentSequence(event *models.Event) (uint64, error) { } func (i *ExternalIDP) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := i.view.GetLatestExternalIDPSequence("") + sequence, err := i.view.GetLatestExternalIDPSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/user_grant.go b/internal/management/repository/eventsourcing/handler/user_grant.go index a4f0869783..c9fc00e3c6 100644 --- a/internal/management/repository/eventsourcing/handler/user_grant.go +++ b/internal/management/repository/eventsourcing/handler/user_grant.go @@ -4,8 +4,8 @@ import ( "context" "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -68,8 +68,8 @@ func (_ *UserGrant) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{grant_es_model.UserGrantAggregate, usr_es_model.UserAggregate, proj_es_model.ProjectAggregate} } -func (u *UserGrant) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserGrantSequence(string(event.AggregateType)) +func (u *UserGrant) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return 0, err } @@ -77,7 +77,7 @@ func (u *UserGrant) CurrentSequence(event *models.Event) (uint64, error) { } func (u *UserGrant) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := u.view.GetLatestUserGrantSequence("") + sequence, err := u.view.GetLatestUserGrantSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/handler/user_membership.go b/internal/management/repository/eventsourcing/handler/user_membership.go index 9358acc4e2..520479f665 100644 --- a/internal/management/repository/eventsourcing/handler/user_membership.go +++ b/internal/management/repository/eventsourcing/handler/user_membership.go @@ -4,8 +4,8 @@ import ( "context" "github.com/caos/logging" + "github.com/caos/zitadel/internal/eventstore" - "github.com/caos/zitadel/internal/eventstore/models" es_models "github.com/caos/zitadel/internal/eventstore/models" "github.com/caos/zitadel/internal/eventstore/query" "github.com/caos/zitadel/internal/eventstore/spooler" @@ -64,8 +64,8 @@ func (_ *UserMembership) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{iam_es_model.IAMAggregate, org_es_model.OrgAggregate, proj_es_model.ProjectAggregate, model.UserAggregate} } -func (u *UserMembership) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := u.view.GetLatestUserMembershipSequence(string(event.AggregateType)) +func (u *UserMembership) CurrentSequence() (uint64, error) { + sequence, err := u.view.GetLatestUserMembershipSequence() if err != nil { return 0, err } @@ -73,7 +73,7 @@ func (u *UserMembership) CurrentSequence(event *models.Event) (uint64, error) { } func (m *UserMembership) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := m.view.GetLatestUserMembershipSequence("") + sequence, err := m.view.GetLatestUserMembershipSequence() if err != nil { return nil, err } diff --git a/internal/management/repository/eventsourcing/view/application.go b/internal/management/repository/eventsourcing/view/application.go index c9b4a6fbd0..45a5f344ac 100644 --- a/internal/management/repository/eventsourcing/view/application.go +++ b/internal/management/repository/eventsourcing/view/application.go @@ -53,8 +53,8 @@ func (v *View) DeleteApplicationsByProjectID(projectID string) error { return view.DeleteApplicationsByProjectID(v.Db, applicationTable, projectID) } -func (v *View) GetLatestApplicationSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(applicationTable, aggregateType) +func (v *View) GetLatestApplicationSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(applicationTable) } func (v *View) ProcessedApplicationSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/external_idps.go b/internal/management/repository/eventsourcing/view/external_idps.go index 0b8eb3648e..24fe60c26e 100644 --- a/internal/management/repository/eventsourcing/view/external_idps.go +++ b/internal/management/repository/eventsourcing/view/external_idps.go @@ -64,8 +64,8 @@ func (v *View) DeleteExternalIDPsByUserID(userID string, event *models.Event) er } return v.ProcessedExternalIDPSequence(event) } -func (v *View) GetLatestExternalIDPSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(externalIDPTable, aggregateType) +func (v *View) GetLatestExternalIDPSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(externalIDPTable) } func (v *View) ProcessedExternalIDPSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/idp_configs.go b/internal/management/repository/eventsourcing/view/idp_configs.go index 5770f36b38..ca759c6f38 100644 --- a/internal/management/repository/eventsourcing/view/idp_configs.go +++ b/internal/management/repository/eventsourcing/view/idp_configs.go @@ -37,8 +37,8 @@ func (v *View) DeleteIDPConfig(idpID string, event *models.Event) error { return v.ProcessedIDPConfigSequence(event) } -func (v *View) GetLatestIDPConfigSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpConfigTable, aggregateType) +func (v *View) GetLatestIDPConfigSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpConfigTable) } func (v *View) ProcessedIDPConfigSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/idp_providers.go b/internal/management/repository/eventsourcing/view/idp_providers.go index a293ec1637..f73a4720f8 100644 --- a/internal/management/repository/eventsourcing/view/idp_providers.go +++ b/internal/management/repository/eventsourcing/view/idp_providers.go @@ -57,8 +57,8 @@ func (v *View) DeleteIDPProvidersByAggregateID(aggregateID string, event *models return v.ProcessedIDPProviderSequence(event) } -func (v *View) GetLatestIDPProviderSequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(idpProviderTable, aggregateType) +func (v *View) GetLatestIDPProviderSequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(idpProviderTable) } func (v *View) ProcessedIDPProviderSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/label_policies.go b/internal/management/repository/eventsourcing/view/label_policies.go index 05bb9550a4..17cb603d25 100644 --- a/internal/management/repository/eventsourcing/view/label_policies.go +++ b/internal/management/repository/eventsourcing/view/label_policies.go @@ -32,8 +32,8 @@ func (v *View) DeleteLabelPolicy(aggregateID string, event *models.Event) error return v.ProcessedLabelPolicySequence(event) } -func (v *View) GetLatestLabelPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(labelPolicyTable, aggregateType) +func (v *View) GetLatestLabelPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(labelPolicyTable) } func (v *View) ProcessedLabelPolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/login_policies.go b/internal/management/repository/eventsourcing/view/login_policies.go index 56e6e80f8f..1788a622b3 100644 --- a/internal/management/repository/eventsourcing/view/login_policies.go +++ b/internal/management/repository/eventsourcing/view/login_policies.go @@ -32,8 +32,8 @@ func (v *View) DeleteLoginPolicy(aggregateID string, event *models.Event) error return v.ProcessedLoginPolicySequence(event) } -func (v *View) GetLatestLoginPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(loginPolicyTable, aggregateType) +func (v *View) GetLatestLoginPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(loginPolicyTable) } func (v *View) ProcessedLoginPolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/machine_keys.go b/internal/management/repository/eventsourcing/view/machine_keys.go index c861cfd58c..075e15fe8e 100644 --- a/internal/management/repository/eventsourcing/view/machine_keys.go +++ b/internal/management/repository/eventsourcing/view/machine_keys.go @@ -49,8 +49,8 @@ func (v *View) DeleteMachineKeysByUserID(userID string, event *models.Event) err return v.ProcessedMachineKeySequence(event) } -func (v *View) GetLatestMachineKeySequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(machineKeyTable, aggregateType) +func (v *View) GetLatestMachineKeySequence() (*repository.CurrentSequence, error) { + return v.latestSequence(machineKeyTable) } func (v *View) ProcessedMachineKeySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/org.go b/internal/management/repository/eventsourcing/view/org.go index 3a53b92031..72323eeb07 100644 --- a/internal/management/repository/eventsourcing/view/org.go +++ b/internal/management/repository/eventsourcing/view/org.go @@ -35,8 +35,8 @@ func (v *View) UpdateOrgSpoolerRunTimestamp() error { return v.updateSpoolerRunSequence(orgTable) } -func (v *View) GetLatestOrgSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgTable, aggregateType) +func (v *View) GetLatestOrgSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgTable) } func (v *View) ProcessedOrgSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/org_domain.go b/internal/management/repository/eventsourcing/view/org_domain.go index 45ee4ad912..6819980dea 100644 --- a/internal/management/repository/eventsourcing/view/org_domain.go +++ b/internal/management/repository/eventsourcing/view/org_domain.go @@ -53,8 +53,8 @@ func (v *View) DeleteOrgDomain(orgID, domain string, event *models.Event) error return v.ProcessedOrgDomainSequence(event) } -func (v *View) GetLatestOrgDomainSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgDomainTable, aggregateType) +func (v *View) GetLatestOrgDomainSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgDomainTable) } func (v *View) ProcessedOrgDomainSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/org_iam_policy.go b/internal/management/repository/eventsourcing/view/org_iam_policy.go index 90d3de2b9c..266c2e0371 100644 --- a/internal/management/repository/eventsourcing/view/org_iam_policy.go +++ b/internal/management/repository/eventsourcing/view/org_iam_policy.go @@ -32,8 +32,8 @@ func (v *View) DeleteOrgIAMPolicy(aggregateID string, event *models.Event) error return v.ProcessedOrgIAMPolicySequence(event) } -func (v *View) GetLatestOrgIAMPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(orgIAMPolicyTable, aggregateType) +func (v *View) GetLatestOrgIAMPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(orgIAMPolicyTable) } func (v *View) ProcessedOrgIAMPolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/org_member.go b/internal/management/repository/eventsourcing/view/org_member.go index ee6deac739..0f69399786 100644 --- a/internal/management/repository/eventsourcing/view/org_member.go +++ b/internal/management/repository/eventsourcing/view/org_member.go @@ -57,8 +57,8 @@ func (v *View) DeleteOrgMembersByUserID(userID string, event *models.Event) erro return v.ProcessedOrgMemberSequence(event) } -func (v *View) GetLatestOrgMemberSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(orgMemberTable, aggregateType) +func (v *View) GetLatestOrgMemberSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(orgMemberTable) } func (v *View) ProcessedOrgMemberSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/password_age_policy.go b/internal/management/repository/eventsourcing/view/password_age_policy.go index e1bd56a596..5fc99367cf 100644 --- a/internal/management/repository/eventsourcing/view/password_age_policy.go +++ b/internal/management/repository/eventsourcing/view/password_age_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordAgePolicy(aggregateID string, event *models.Event) return v.ProcessedPasswordAgePolicySequence(event) } -func (v *View) GetLatestPasswordAgePolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordAgePolicyTable, aggregateType) +func (v *View) GetLatestPasswordAgePolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordAgePolicyTable) } func (v *View) ProcessedPasswordAgePolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/password_complexity_policy.go b/internal/management/repository/eventsourcing/view/password_complexity_policy.go index 80d9e2d90d..db24d4ab2a 100644 --- a/internal/management/repository/eventsourcing/view/password_complexity_policy.go +++ b/internal/management/repository/eventsourcing/view/password_complexity_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordComplexityPolicy(aggregateID string, event *models. return v.ProcessedPasswordComplexityPolicySequence(event) } -func (v *View) GetLatestPasswordComplexityPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordComplexityPolicyTable, aggregateType) +func (v *View) GetLatestPasswordComplexityPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordComplexityPolicyTable) } func (v *View) ProcessedPasswordComplexityPolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/password_lockout_policy.go b/internal/management/repository/eventsourcing/view/password_lockout_policy.go index 549f704c75..d3e0ea0e16 100644 --- a/internal/management/repository/eventsourcing/view/password_lockout_policy.go +++ b/internal/management/repository/eventsourcing/view/password_lockout_policy.go @@ -32,8 +32,8 @@ func (v *View) DeletePasswordLockoutPolicy(aggregateID string, event *models.Eve return v.ProcessedPasswordLockoutPolicySequence(event) } -func (v *View) GetLatestPasswordLockoutPolicySequence(aggregateType string) (*global_view.CurrentSequence, error) { - return v.latestSequence(passwordLockoutPolicyTable, aggregateType) +func (v *View) GetLatestPasswordLockoutPolicySequence() (*global_view.CurrentSequence, error) { + return v.latestSequence(passwordLockoutPolicyTable) } func (v *View) ProcessedPasswordLockoutPolicySequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/project.go b/internal/management/repository/eventsourcing/view/project.go index f5ac609ddc..d32f7c577d 100644 --- a/internal/management/repository/eventsourcing/view/project.go +++ b/internal/management/repository/eventsourcing/view/project.go @@ -37,8 +37,8 @@ func (v *View) DeleteProject(projectID string, event *models.Event) error { return v.ProcessedProjectSequence(event) } -func (v *View) GetLatestProjectSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(projectTable, aggregateType) +func (v *View) GetLatestProjectSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(projectTable) } func (v *View) ProcessedProjectSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/project_grant.go b/internal/management/repository/eventsourcing/view/project_grant.go index ab54927a30..08eb4bf444 100644 --- a/internal/management/repository/eventsourcing/view/project_grant.go +++ b/internal/management/repository/eventsourcing/view/project_grant.go @@ -60,8 +60,8 @@ func (v *View) DeleteProjectGrantsByProjectID(projectID string) error { return view.DeleteProjectGrantsByProjectID(v.Db, grantedProjectTable, projectID) } -func (v *View) GetLatestProjectGrantSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(grantedProjectTable, aggregateType) +func (v *View) GetLatestProjectGrantSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(grantedProjectTable) } func (v *View) ProcessedProjectGrantSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/project_grant_member.go b/internal/management/repository/eventsourcing/view/project_grant_member.go index 7634cefbf5..e682ef25da 100644 --- a/internal/management/repository/eventsourcing/view/project_grant_member.go +++ b/internal/management/repository/eventsourcing/view/project_grant_member.go @@ -57,8 +57,8 @@ func (v *View) DeleteProjectGrantMembersByProjectID(projectID string) error { return view.DeleteProjectGrantMembersByProjectID(v.Db, projectGrantMemberTable, projectID) } -func (v *View) GetLatestProjectGrantMemberSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(projectGrantMemberTable, aggregateType) +func (v *View) GetLatestProjectGrantMemberSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(projectGrantMemberTable) } func (v *View) ProcessedProjectGrantMemberSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/project_member.go b/internal/management/repository/eventsourcing/view/project_member.go index 09f3b31518..327632c789 100644 --- a/internal/management/repository/eventsourcing/view/project_member.go +++ b/internal/management/repository/eventsourcing/view/project_member.go @@ -57,8 +57,8 @@ func (v *View) DeleteProjectMembersByProjectID(projectID string) error { return view.DeleteProjectMembersByProjectID(v.Db, projectMemberTable, projectID) } -func (v *View) GetLatestProjectMemberSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(projectMemberTable, aggregateType) +func (v *View) GetLatestProjectMemberSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(projectMemberTable) } func (v *View) ProcessedProjectMemberSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/project_role.go b/internal/management/repository/eventsourcing/view/project_role.go index 5b251fa24b..68da7611fd 100644 --- a/internal/management/repository/eventsourcing/view/project_role.go +++ b/internal/management/repository/eventsourcing/view/project_role.go @@ -53,8 +53,8 @@ func (v *View) DeleteProjectRolesByProjectID(projectID string) error { return view.DeleteProjectRolesByProjectID(v.Db, projectRoleTable, projectID) } -func (v *View) GetLatestProjectRoleSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(projectRoleTable, aggregateType) +func (v *View) GetLatestProjectRoleSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(projectRoleTable) } func (v *View) ProcessedProjectRoleSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/sequence.go b/internal/management/repository/eventsourcing/view/sequence.go index 808ff58216..4cff5fc9eb 100644 --- a/internal/management/repository/eventsourcing/view/sequence.go +++ b/internal/management/repository/eventsourcing/view/sequence.go @@ -12,15 +12,15 @@ const ( ) func (v *View) saveCurrentSequence(viewName string, event *models.Event) error { - return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, string(event.AggregateType), event.Sequence, event.CreationDate) + return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, event.Sequence, event.CreationDate) } -func (v *View) latestSequence(viewName, aggregateType string) (*repository.CurrentSequence, error) { - return repository.LatestSequence(v.Db, sequencesTable, viewName, aggregateType) +func (v *View) latestSequence(viewName string) (*repository.CurrentSequence, error) { + return repository.LatestSequence(v.Db, sequencesTable, viewName) } func (v *View) updateSpoolerRunSequence(viewName string) error { - currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName, "") + currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName) if err != nil { return err } diff --git a/internal/management/repository/eventsourcing/view/user.go b/internal/management/repository/eventsourcing/view/user.go index d589b546f7..8622d7a381 100644 --- a/internal/management/repository/eventsourcing/view/user.go +++ b/internal/management/repository/eventsourcing/view/user.go @@ -65,8 +65,8 @@ func (v *View) DeleteUser(userID string, event *models.Event) error { return v.ProcessedUserSequence(event) } -func (v *View) GetLatestUserSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userTable, aggregateType) +func (v *View) GetLatestUserSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userTable) } func (v *View) ProcessedUserSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/user_grant.go b/internal/management/repository/eventsourcing/view/user_grant.go index 15dd3220d2..1e2f6d587f 100644 --- a/internal/management/repository/eventsourcing/view/user_grant.go +++ b/internal/management/repository/eventsourcing/view/user_grant.go @@ -65,8 +65,8 @@ func (v *View) DeleteUserGrant(grantID string, event *models.Event) error { return v.ProcessedUserGrantSequence(event) } -func (v *View) GetLatestUserGrantSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userGrantTable, aggregateType) +func (v *View) GetLatestUserGrantSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userGrantTable) } func (v *View) ProcessedUserGrantSequence(event *models.Event) error { diff --git a/internal/management/repository/eventsourcing/view/user_membership.go b/internal/management/repository/eventsourcing/view/user_membership.go index 90f64906a7..0187cd62bc 100644 --- a/internal/management/repository/eventsourcing/view/user_membership.go +++ b/internal/management/repository/eventsourcing/view/user_membership.go @@ -73,8 +73,8 @@ func (v *View) DeleteUserMembershipsByAggregateIDAndObjectID(aggregateID, object return v.ProcessedUserMembershipSequence(event) } -func (v *View) GetLatestUserMembershipSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(userMembershipTable, aggregateType) +func (v *View) GetLatestUserMembershipSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(userMembershipTable) } func (v *View) ProcessedUserMembershipSequence(event *models.Event) error { diff --git a/internal/notification/repository/eventsourcing/handler/notification.go b/internal/notification/repository/eventsourcing/handler/notification.go index 6433b3df43..56af4c6f06 100644 --- a/internal/notification/repository/eventsourcing/handler/notification.go +++ b/internal/notification/repository/eventsourcing/handler/notification.go @@ -89,8 +89,8 @@ func (_ *Notification) AggregateTypes() []models.AggregateType { return []models.AggregateType{es_model.UserAggregate} } -func (n *Notification) CurrentSequence(event *models.Event) (uint64, error) { - sequence, err := n.view.GetLatestNotificationSequence(string(event.AggregateType)) +func (n *Notification) CurrentSequence() (uint64, error) { + sequence, err := n.view.GetLatestNotificationSequence() if err != nil { return 0, err } @@ -98,7 +98,7 @@ func (n *Notification) CurrentSequence(event *models.Event) (uint64, error) { } func (n *Notification) EventQuery() (*models.SearchQuery, error) { - sequence, err := n.view.GetLatestNotificationSequence("") + sequence, err := n.view.GetLatestNotificationSequence() if err != nil { return nil, err } diff --git a/internal/notification/repository/eventsourcing/handler/notify_user.go b/internal/notification/repository/eventsourcing/handler/notify_user.go index 4b82a16c0c..7d774d19ea 100644 --- a/internal/notification/repository/eventsourcing/handler/notify_user.go +++ b/internal/notification/repository/eventsourcing/handler/notify_user.go @@ -63,8 +63,8 @@ func (_ *NotifyUser) AggregateTypes() []es_models.AggregateType { return []es_models.AggregateType{es_model.UserAggregate, org_es_model.OrgAggregate} } -func (p *NotifyUser) CurrentSequence(event *es_models.Event) (uint64, error) { - sequence, err := p.view.GetLatestNotifyUserSequence(string(event.AggregateType)) +func (p *NotifyUser) CurrentSequence() (uint64, error) { + sequence, err := p.view.GetLatestNotifyUserSequence() if err != nil { return 0, err } @@ -72,7 +72,7 @@ func (p *NotifyUser) CurrentSequence(event *es_models.Event) (uint64, error) { } func (p *NotifyUser) EventQuery() (*es_models.SearchQuery, error) { - sequence, err := p.view.GetLatestNotifyUserSequence("") + sequence, err := p.view.GetLatestNotifyUserSequence() if err != nil { return nil, err } diff --git a/internal/notification/repository/eventsourcing/view/notification.go b/internal/notification/repository/eventsourcing/view/notification.go index b14242f47e..fc7041bbab 100644 --- a/internal/notification/repository/eventsourcing/view/notification.go +++ b/internal/notification/repository/eventsourcing/view/notification.go @@ -9,8 +9,8 @@ const ( notificationTable = "notification.notifications" ) -func (v *View) GetLatestNotificationSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(notificationTable, aggregateType) +func (v *View) GetLatestNotificationSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(notificationTable) } func (v *View) ProcessedNotificationSequence(event *models.Event) error { diff --git a/internal/notification/repository/eventsourcing/view/notify_user.go b/internal/notification/repository/eventsourcing/view/notify_user.go index f81c986d0a..b3b3397f77 100644 --- a/internal/notification/repository/eventsourcing/view/notify_user.go +++ b/internal/notification/repository/eventsourcing/view/notify_user.go @@ -36,8 +36,8 @@ func (v *View) DeleteNotifyUser(userID string, event *models.Event) error { return v.ProcessedNotifyUserSequence(event) } -func (v *View) GetLatestNotifyUserSequence(aggregateType string) (*repository.CurrentSequence, error) { - return v.latestSequence(notifyUserTable, aggregateType) +func (v *View) GetLatestNotifyUserSequence() (*repository.CurrentSequence, error) { + return v.latestSequence(notifyUserTable) } func (v *View) ProcessedNotifyUserSequence(event *models.Event) error { diff --git a/internal/notification/repository/eventsourcing/view/sequence.go b/internal/notification/repository/eventsourcing/view/sequence.go index 8d56cc19b9..d7155c6292 100644 --- a/internal/notification/repository/eventsourcing/view/sequence.go +++ b/internal/notification/repository/eventsourcing/view/sequence.go @@ -12,15 +12,15 @@ const ( ) func (v *View) saveCurrentSequence(viewName string, event *models.Event) error { - return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, string(event.AggregateType), event.Sequence, event.CreationDate) + return repository.SaveCurrentSequence(v.Db, sequencesTable, viewName, event.Sequence, event.CreationDate) } -func (v *View) latestSequence(viewName, aggregateType string) (*repository.CurrentSequence, error) { - return repository.LatestSequence(v.Db, sequencesTable, viewName, aggregateType) +func (v *View) latestSequence(viewName string) (*repository.CurrentSequence, error) { + return repository.LatestSequence(v.Db, sequencesTable, viewName) } func (v *View) updateSpoolerRunSequence(viewName string) error { - currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName, "") + currentSequence, err := repository.LatestSequence(v.Db, sequencesTable, viewName) if err != nil { return err } diff --git a/internal/view/repository/sequence.go b/internal/view/repository/sequence.go index 056787a5a7..b1d5f64a3e 100644 --- a/internal/view/repository/sequence.go +++ b/internal/view/repository/sequence.go @@ -4,10 +4,11 @@ import ( "strings" "time" + "github.com/jinzhu/gorm" + caos_errs "github.com/caos/zitadel/internal/errors" int_model "github.com/caos/zitadel/internal/model" "github.com/caos/zitadel/internal/view/model" - "github.com/jinzhu/gorm" ) type CurrentSequence struct { @@ -79,37 +80,25 @@ func CurrentSequenceToModel(sequence *CurrentSequence) *model.View { } } -func SaveCurrentSequence(db *gorm.DB, table, viewName, aggregateType string, sequence uint64, eventTimestamp time.Time) error { - return UpdateCurrentSequence(db, table, &CurrentSequence{viewName, sequence, eventTimestamp, time.Now(), aggregateType}) +func SaveCurrentSequence(db *gorm.DB, table, viewName string, sequence uint64, eventTimestamp time.Time) error { + return UpdateCurrentSequence(db, table, &CurrentSequence{viewName, sequence, eventTimestamp, time.Now(), ""}) } func UpdateCurrentSequence(db *gorm.DB, table string, currentSequence *CurrentSequence) (err error) { - var seq interface{} = currentSequence - if currentSequence.AggregateType == "" && currentSequence.CurrentSequence > 0 { - //spooler run - seq = ¤tSequenceView{ViewName: currentSequence.ViewName, LastSuccessfulSpoolerRun: currentSequence.LastSuccessfulSpoolerRun} - } else if currentSequence.AggregateType == "" { - //reset current sequence on view - seq = ¤tSequenceViewWithSequence{ViewName: currentSequence.ViewName, LastSuccessfulSpoolerRun: currentSequence.LastSuccessfulSpoolerRun, CurrentSequence: currentSequence.CurrentSequence} - } - save := PrepareSave(table) - err = save(db, seq) + err = save(db, currentSequence) if err != nil { return caos_errs.ThrowInternal(err, "VIEW-5kOhP", "unable to updated processed sequence") } return nil } -func LatestSequence(db *gorm.DB, table, viewName, aggregateType string) (*CurrentSequence, error) { +func LatestSequence(db *gorm.DB, table, viewName string) (*CurrentSequence, error) { searchQueries := make([]SearchQuery, 0, 2) searchQueries = append(searchQueries, &sequenceSearchQuery{key: sequenceSearchKey(SequenceSearchKeyViewName), value: viewName}) - if aggregateType != "" { - searchQueries = append(searchQueries, &sequenceSearchQuery{key: sequenceSearchKey(SequenceSearchKeyAggregateType), value: aggregateType}) - } else { - // ensure highest sequence of view - db = db.Order("current_sequence DESC") - } + + // ensure highest sequence of view + db = db.Order("current_sequence DESC") query := PrepareGetByQuery(table, searchQueries...) sequence := new(CurrentSequence) @@ -141,5 +130,5 @@ func ClearView(db *gorm.DB, truncateView, sequenceTable string) error { if err != nil { return err } - return SaveCurrentSequence(db, sequenceTable, truncateView, "", 0, time.Now()) + return SaveCurrentSequence(db, sequenceTable, truncateView, 0, time.Now()) }