fix: handle sequence correctly in subscription (#1209)

This commit is contained in:
Livio Amstutz
2021-01-27 10:35:01 +01:00
committed by GitHub
parent 6f6d59f380
commit 1d472bac51
129 changed files with 349 additions and 371 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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
}

View File

@@ -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 {

View File

@@ -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 {