mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 01:47:33 +00:00
fix: use current sequence for refetching of events (#5772)
* fix: use current sequence for refetching of events * fix: use client ids
This commit is contained in:
@@ -62,16 +62,16 @@ func (t *RefreshToken) AggregateTypes() []es_models.AggregateType {
|
||||
return []es_models.AggregateType{user.AggregateType, project.AggregateType, instance.AggregateType}
|
||||
}
|
||||
|
||||
func (t *RefreshToken) CurrentSequence(instanceID string) (uint64, error) {
|
||||
sequence, err := t.view.GetLatestRefreshTokenSequence(instanceID)
|
||||
func (t *RefreshToken) CurrentSequence(ctx context.Context, instanceID string) (uint64, error) {
|
||||
sequence, err := t.view.GetLatestRefreshTokenSequence(ctx, instanceID)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return sequence.CurrentSequence, nil
|
||||
}
|
||||
|
||||
func (t *RefreshToken) EventQuery(instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := t.view.GetLatestRefreshTokenSequences(instanceIDs)
|
||||
func (t *RefreshToken) EventQuery(ctx context.Context, instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := t.view.GetLatestRefreshTokenSequences(ctx, instanceIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -67,16 +67,16 @@ func (_ *Token) AggregateTypes() []es_models.AggregateType {
|
||||
return []es_models.AggregateType{user.AggregateType, project.AggregateType, instance.AggregateType}
|
||||
}
|
||||
|
||||
func (t *Token) CurrentSequence(instanceID string) (uint64, error) {
|
||||
sequence, err := t.view.GetLatestTokenSequence(instanceID)
|
||||
func (t *Token) CurrentSequence(ctx context.Context, instanceID string) (uint64, error) {
|
||||
sequence, err := t.view.GetLatestTokenSequence(ctx, instanceID)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return sequence.CurrentSequence, nil
|
||||
}
|
||||
|
||||
func (t *Token) EventQuery(instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := t.view.GetLatestTokenSequences(instanceIDs)
|
||||
func (t *Token) EventQuery(ctx context.Context, instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := t.view.GetLatestTokenSequences(ctx, instanceIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -145,11 +145,13 @@ func (t *Token) Reduce(event *es_models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
applicationsIDs := make([]string, 0, len(project.Applications))
|
||||
clientIDs := make([]string, 0, len(project.Applications))
|
||||
for _, app := range project.Applications {
|
||||
applicationsIDs = append(applicationsIDs, app.AppID)
|
||||
if app.OIDCConfig != nil {
|
||||
clientIDs = append(clientIDs, app.OIDCConfig.ClientID)
|
||||
}
|
||||
}
|
||||
return t.view.DeleteApplicationTokens(event, applicationsIDs...)
|
||||
return t.view.DeleteApplicationTokens(event, clientIDs...)
|
||||
case instance.InstanceRemovedEventType:
|
||||
return t.view.DeleteInstanceTokens(event)
|
||||
case org.OrgRemovedEventType:
|
||||
@@ -208,7 +210,7 @@ func (t *Token) OnSuccess(instanceIDs []string) error {
|
||||
}
|
||||
|
||||
func (t *Token) getProjectByID(ctx context.Context, projID, instanceID string) (*proj_model.Project, error) {
|
||||
query, err := proj_view.ProjectByIDQuery(projID, instanceID, 0)
|
||||
projectQuery, err := proj_view.ProjectByIDQuery(projID, instanceID, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -217,7 +219,7 @@ func (t *Token) getProjectByID(ctx context.Context, projID, instanceID string) (
|
||||
AggregateID: projID,
|
||||
},
|
||||
}
|
||||
err = es_sdk.Filter(ctx, t.Eventstore().FilterEvents, esProject.AppendEvents, query)
|
||||
err = es_sdk.Filter(ctx, t.Eventstore().FilterEvents, esProject.AppendEvents, projectQuery)
|
||||
if err != nil && !caos_errs.IsNotFound(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -68,16 +68,16 @@ func (_ *User) AggregateTypes() []es_models.AggregateType {
|
||||
return []es_models.AggregateType{user_repo.AggregateType, org.AggregateType, instance.AggregateType}
|
||||
}
|
||||
|
||||
func (u *User) CurrentSequence(instanceID string) (uint64, error) {
|
||||
sequence, err := u.view.GetLatestUserSequence(instanceID)
|
||||
func (u *User) CurrentSequence(ctx context.Context, instanceID string) (uint64, error) {
|
||||
sequence, err := u.view.GetLatestUserSequence(ctx, instanceID)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return sequence.CurrentSequence, nil
|
||||
}
|
||||
|
||||
func (u *User) EventQuery(instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := u.view.GetLatestUserSequences(instanceIDs)
|
||||
func (u *User) EventQuery(ctx context.Context, instanceIDs []string) (*es_models.SearchQuery, error) {
|
||||
sequences, err := u.view.GetLatestUserSequences(ctx, instanceIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -158,6 +158,11 @@ func (u *User) ProcessUser(event *es_models.Event) (err error) {
|
||||
if !errors.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
logging.WithFields(
|
||||
"instance", event.InstanceID,
|
||||
"userID", event.AggregateID,
|
||||
"eventType", event.Type,
|
||||
).Info("user not found in view")
|
||||
query, err := usr_view.UserByIDQuery(event.AggregateID, event.InstanceID, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -181,6 +186,11 @@ func (u *User) ProcessUser(event *es_models.Event) (err error) {
|
||||
if !errors.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
logging.WithFields(
|
||||
"instance", event.InstanceID,
|
||||
"userID", event.AggregateID,
|
||||
"eventType", event.Type,
|
||||
).Info("user not found in view")
|
||||
query, err := usr_view.UserByIDQuery(event.AggregateID, event.InstanceID, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -291,7 +301,7 @@ func (u *User) OnSuccess(instanceIDs []string) error {
|
||||
}
|
||||
|
||||
func (u *User) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_model.Org, error) {
|
||||
query, err := view.OrgByIDQuery(orgID, instanceID, 0)
|
||||
orgQuery, err := view.OrgByIDQuery(orgID, instanceID, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -301,7 +311,7 @@ func (u *User) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_m
|
||||
AggregateID: orgID,
|
||||
},
|
||||
}
|
||||
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, esOrg.AppendEvents, query)
|
||||
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, esOrg.AppendEvents, orgQuery)
|
||||
if err != nil && !errors.IsNotFound(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -65,16 +65,16 @@ func (_ *UserSession) AggregateTypes() []models.AggregateType {
|
||||
return []models.AggregateType{user.AggregateType, org.AggregateType, instance.AggregateType}
|
||||
}
|
||||
|
||||
func (u *UserSession) CurrentSequence(instanceID string) (uint64, error) {
|
||||
sequence, err := u.view.GetLatestUserSessionSequence(instanceID)
|
||||
func (u *UserSession) CurrentSequence(ctx context.Context, instanceID string) (uint64, error) {
|
||||
sequence, err := u.view.GetLatestUserSessionSequence(ctx, instanceID)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return sequence.CurrentSequence, nil
|
||||
}
|
||||
|
||||
func (u *UserSession) EventQuery(instanceIDs []string) (*models.SearchQuery, error) {
|
||||
sequences, err := u.view.GetLatestUserSessionSequences(instanceIDs)
|
||||
func (u *UserSession) EventQuery(ctx context.Context, instanceIDs []string) (*models.SearchQuery, error) {
|
||||
sequences, err := u.view.GetLatestUserSessionSequences(ctx, instanceIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -231,7 +231,7 @@ func (u *UserSession) loginNameInformation(ctx context.Context, orgID string, in
|
||||
}
|
||||
|
||||
func (u *UserSession) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_model.Org, error) {
|
||||
query, err := view.OrgByIDQuery(orgID, instanceID, 0)
|
||||
orgQuery, err := view.OrgByIDQuery(orgID, instanceID, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -241,7 +241,7 @@ func (u *UserSession) getOrgByID(ctx context.Context, orgID, instanceID string)
|
||||
AggregateID: orgID,
|
||||
},
|
||||
}
|
||||
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, esOrg.AppendEvents, query)
|
||||
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, esOrg.AppendEvents, orgQuery)
|
||||
if err != nil && !errors.IsNotFound(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user