From c244dcaffd7a9c1746e927373d00919b6a4879b7 Mon Sep 17 00:00:00 2001 From: Silvan Date: Thu, 16 Jun 2022 15:49:45 +0200 Subject: [PATCH] fix(notify): correct get user (#3836) --- .../eventsourcing/handler/notification.go | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/internal/notification/repository/eventsourcing/handler/notification.go b/internal/notification/repository/eventsourcing/handler/notification.go index 99c3505dcd..df066d191b 100644 --- a/internal/notification/repository/eventsourcing/handler/notification.go +++ b/internal/notification/repository/eventsourcing/handler/notification.go @@ -187,16 +187,20 @@ func (n *Notification) handleInitUserCode(event *models.Event) (err error) { } user, err := n.getUserByID(event.AggregateID, event.InstanceID) - if err != nil { + if err != nil && !errors.IsNotFound(err) { return err } if user.Sequence < event.Sequence { - if err := n.verifyLatestUser(ctx, user); err != nil { + if err = n.verifyLatestUser(ctx, user); err != nil { return err } } + if user.Sequence == 0 { + return errors.ThrowNotFound(nil, "HANDL-JED2R", "no user events found") + } + translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.InitCodeMessageType) if err != nil { return err @@ -236,15 +240,20 @@ func (n *Notification) handlePasswordCode(event *models.Event) (err error) { } user, err := n.getUserByID(event.AggregateID, event.InstanceID) - if err != nil { + if err != nil && !errors.IsNotFound(err) { return err } + if user.Sequence < event.Sequence { - if err := n.verifyLatestUser(ctx, user); err != nil { + if err = n.verifyLatestUser(ctx, user); err != nil { return err } } + if user.Sequence == 0 { + return errors.ThrowNotFound(nil, "HANDL-JED2R", "no user events found") + } + translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.PasswordResetMessageType) if err != nil { return err @@ -284,7 +293,7 @@ func (n *Notification) handleEmailVerificationCode(event *models.Event) (err err } user, err := n.getUserByID(event.AggregateID, event.InstanceID) - if err != nil { + if err != nil && !errors.IsNotFound(err) { return err } if user.Sequence < event.Sequence { @@ -293,6 +302,10 @@ func (n *Notification) handleEmailVerificationCode(event *models.Event) (err err } } + if user.Sequence == 0 { + return errors.ThrowNotFound(nil, "HANDL-JED2R", "no user events found") + } + translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.VerifyEmailMessageType) if err != nil { return err @@ -322,15 +335,20 @@ func (n *Notification) handlePhoneVerificationCode(event *models.Event) (err err return nil } user, err := n.getUserByID(event.AggregateID, event.InstanceID) - if err != nil { + if err != nil && !errors.IsNotFound(err) { return err } + if user.Sequence < event.Sequence { - if err := n.verifyLatestUser(ctx, user); err != nil { + if err = n.verifyLatestUser(ctx, user); err != nil { return err } } + if user.Sequence == 0 { + return errors.ThrowNotFound(nil, "HANDL-JED2R", "no user events found") + } + translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.VerifyPhoneMessageType) if err != nil { return err