diff --git a/internal/auth/repository/eventsourcing/handler/user.go b/internal/auth/repository/eventsourcing/handler/user.go index a0ce6696f5..ba25c5a99d 100644 --- a/internal/auth/repository/eventsourcing/handler/user.go +++ b/internal/auth/repository/eventsourcing/handler/user.go @@ -190,7 +190,7 @@ func (u *User) ProcessUser(event *es_models.Event) (err error) { } func (u *User) fillLoginNames(user *view_model.UserView) (err error) { - userLoginMustBeDomain, primaryDomain, domains, err := u.loginNameInformation(context.Background(), user.ResourceOwner) + userLoginMustBeDomain, primaryDomain, domains, err := u.loginNameInformation(context.Background(), user.ResourceOwner, user.InstanceID) if err != nil { return err } @@ -215,7 +215,7 @@ func (u *User) ProcessOrg(event *es_models.Event) (err error) { } func (u *User) fillLoginNamesOnOrgUsers(event *es_models.Event) error { - userLoginMustBeDomain, _, domains, err := u.loginNameInformation(context.Background(), event.ResourceOwner) + userLoginMustBeDomain, _, domains, err := u.loginNameInformation(context.Background(), event.ResourceOwner, event.InstanceID) if err != nil { return err } @@ -230,7 +230,7 @@ func (u *User) fillLoginNamesOnOrgUsers(event *es_models.Event) error { } func (u *User) fillPreferredLoginNamesOnOrgUsers(event *es_models.Event) error { - userLoginMustBeDomain, primaryDomain, _, err := u.loginNameInformation(context.Background(), event.ResourceOwner) + userLoginMustBeDomain, primaryDomain, _, err := u.loginNameInformation(context.Background(), event.ResourceOwner, event.InstanceID) if err != nil { return err } @@ -256,8 +256,8 @@ func (u *User) OnSuccess() error { return spooler.HandleSuccess(u.view.UpdateUserSpoolerRunTimestamp) } -func (u *User) getOrgByID(ctx context.Context, orgID string) (*org_model.Org, error) { - query, err := view.OrgByIDQuery(orgID, 0) +func (u *User) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_model.Org, error) { + query, err := view.OrgByIDQuery(orgID, instanceID, 0) if err != nil { return nil, err } @@ -278,8 +278,8 @@ func (u *User) getOrgByID(ctx context.Context, orgID string) (*org_model.Org, er return org_es_model.OrgToModel(esOrg), nil } -func (u *User) loginNameInformation(ctx context.Context, orgID string) (userLoginMustBeDomain bool, primaryDomain string, domains []*org_model.OrgDomain, err error) { - org, err := u.getOrgByID(ctx, orgID) +func (u *User) loginNameInformation(ctx context.Context, orgID string, instanceID string) (userLoginMustBeDomain bool, primaryDomain string, domains []*org_model.OrgDomain, err error) { + org, err := u.getOrgByID(ctx, orgID, instanceID) if err != nil { return false, "", nil, err } diff --git a/internal/authz/repository/eventsourcing/handler/user_membership.go b/internal/authz/repository/eventsourcing/handler/user_membership.go index 61e339d619..8a816e0578 100644 --- a/internal/authz/repository/eventsourcing/handler/user_membership.go +++ b/internal/authz/repository/eventsourcing/handler/user_membership.go @@ -178,7 +178,7 @@ func (m *UserMembership) processOrg(event *es_models.Event) (err error) { } func (m *UserMembership) fillOrgName(member *usr_es_model.UserMembershipView) (err error) { - org, err := m.getOrgByID(context.Background(), member.ResourceOwner) + org, err := m.getOrgByID(context.Background(), member.ResourceOwner, member.InstanceID) if err != nil { return err } @@ -190,7 +190,7 @@ func (m *UserMembership) fillOrgName(member *usr_es_model.UserMembershipView) (e } func (m *UserMembership) updateOrgName(event *es_models.Event) error { - org, err := m.getOrgByID(context.Background(), event.AggregateID) + org, err := m.getOrgByID(context.Background(), event.AggregateID, event.InstanceID) if err != nil { return err } @@ -300,8 +300,8 @@ func (m *UserMembership) OnSuccess() error { return spooler.HandleSuccess(m.view.UpdateUserMembershipSpoolerRunTimestamp) } -func (u *UserMembership) getOrgByID(ctx context.Context, orgID string) (*org_model.Org, error) { - query, err := org_view.OrgByIDQuery(orgID, 0) +func (u *UserMembership) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_model.Org, error) { + query, err := org_view.OrgByIDQuery(orgID, instanceID, 0) if err != nil { return nil, err } diff --git a/internal/eventstore/v1/query/handler.go b/internal/eventstore/v1/query/handler.go index bbc53e58f1..7118e7bc2f 100755 --- a/internal/eventstore/v1/query/handler.go +++ b/internal/eventstore/v1/query/handler.go @@ -39,6 +39,7 @@ func ReduceEvent(handler Handler, event *models.Event) { if err != nil { sentry.CurrentHub().Recover(err) handler.Subscription().Unsubscribe() + logging.WithFields("HANDL-SAFe1").Errorf("reduce panicked: %v", err) } }() currentSequence, err := handler.CurrentSequence(event.InstanceID) diff --git a/internal/notification/repository/eventsourcing/handler/notify_user.go b/internal/notification/repository/eventsourcing/handler/notify_user.go index 2a44b9c5ee..5174507d0e 100644 --- a/internal/notification/repository/eventsourcing/handler/notify_user.go +++ b/internal/notification/repository/eventsourcing/handler/notify_user.go @@ -181,7 +181,7 @@ func (u *NotifyUser) ProcessOrg(event *es_models.Event) (err error) { } func (u *NotifyUser) fillLoginNamesOnOrgUsers(event *es_models.Event) error { - userLoginMustBeDomain, _, domains, err := u.loginNameInformation(context.Background(), event.ResourceOwner) + userLoginMustBeDomain, _, domains, err := u.loginNameInformation(context.Background(), event.ResourceOwner, event.InstanceID) if err != nil { return err } @@ -200,7 +200,7 @@ func (u *NotifyUser) fillLoginNamesOnOrgUsers(event *es_models.Event) error { } func (u *NotifyUser) fillPreferredLoginNamesOnOrgUsers(event *es_models.Event) error { - userLoginMustBeDomain, primaryDomain, _, err := u.loginNameInformation(context.Background(), event.ResourceOwner) + userLoginMustBeDomain, primaryDomain, _, err := u.loginNameInformation(context.Background(), event.ResourceOwner, event.InstanceID) if err != nil { return err } @@ -222,7 +222,7 @@ func (u *NotifyUser) fillPreferredLoginNamesOnOrgUsers(event *es_models.Event) e } func (u *NotifyUser) fillLoginNames(user *view_model.NotifyUser) (err error) { - userLoginMustBeDomain, primaryDomain, domains, err := u.loginNameInformation(context.Background(), user.ResourceOwner) + userLoginMustBeDomain, primaryDomain, domains, err := u.loginNameInformation(context.Background(), user.ResourceOwner, user.InstanceID) if err != nil { return err } @@ -240,8 +240,8 @@ func (u *NotifyUser) OnSuccess() error { return spooler.HandleSuccess(u.view.UpdateNotifyUserSpoolerRunTimestamp) } -func (u *NotifyUser) getOrgByID(ctx context.Context, orgID string) (*org_model.Org, error) { - query, err := org_view.OrgByIDQuery(orgID, 0) +func (u *NotifyUser) getOrgByID(ctx context.Context, orgID, instanceID string) (*org_model.Org, error) { + query, err := org_view.OrgByIDQuery(orgID, instanceID, 0) if err != nil { return nil, err } @@ -262,8 +262,8 @@ func (u *NotifyUser) getOrgByID(ctx context.Context, orgID string) (*org_model.O return org_es_model.OrgToModel(esOrg), nil } -func (u *NotifyUser) loginNameInformation(ctx context.Context, orgID string) (userLoginMustBeDomain bool, primaryDomain string, domains []*org_model.OrgDomain, err error) { - org, err := u.getOrgByID(ctx, orgID) +func (u *NotifyUser) loginNameInformation(ctx context.Context, orgID, instanceID string) (userLoginMustBeDomain bool, primaryDomain string, domains []*org_model.OrgDomain, err error) { + org, err := u.getOrgByID(ctx, orgID, instanceID) if err != nil { return false, "", nil, err } diff --git a/internal/org/repository/view/query.go b/internal/org/repository/view/query.go index 02cd8dbb6c..c6352bff4a 100644 --- a/internal/org/repository/view/query.go +++ b/internal/org/repository/view/query.go @@ -6,20 +6,15 @@ import ( "github.com/zitadel/zitadel/internal/repository/org" ) -func OrgByIDQuery(id string, latestSequence uint64) (*es_models.SearchQuery, error) { +func OrgByIDQuery(id, instanceID string, latestSequence uint64) (*es_models.SearchQuery, error) { if id == "" { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dke74", "id should be filled") } - return OrgQuery(latestSequence). - AddQuery(). - AggregateIDFilter(id). - SearchQuery(), nil -} - -func OrgQuery(latestSequence uint64) *es_models.SearchQuery { return es_models.NewSearchQuery(). AddQuery(). AggregateTypeFilter(org.AggregateType). LatestSequenceFilter(latestSequence). - SearchQuery() + InstanceIDFilter(instanceID). + AggregateIDFilter(id). + SearchQuery(), nil } diff --git a/internal/project/repository/view/query.go b/internal/project/repository/view/query.go index 7deea71f2a..963e1cd4a9 100644 --- a/internal/project/repository/view/query.go +++ b/internal/project/repository/view/query.go @@ -10,17 +10,11 @@ func ProjectByIDQuery(id, instanceID string, latestSequence uint64) (*es_models. if id == "" { return nil, errors.ThrowPreconditionFailed(nil, "EVENT-dke74", "Errors.Project.ProjectIDMissing") } - return ProjectQuery(latestSequence). + return es_models.NewSearchQuery(). AddQuery(). AggregateIDFilter(id). + AggregateTypeFilter(project.AggregateType). + LatestSequenceFilter(latestSequence). InstanceIDFilter(instanceID). SearchQuery(), nil } - -func ProjectQuery(latestSequence uint64) *es_models.SearchQuery { - return es_models.NewSearchQuery(). - AddQuery(). - AggregateTypeFilter(project.AggregateType). - LatestSequenceFilter(latestSequence). - SearchQuery() -}