diff --git a/cmd/notifyer/emailer.go b/cmd/notifyer/emailer.go index 7c496c6..71cc508 100644 --- a/cmd/notifyer/emailer.go +++ b/cmd/notifyer/emailer.go @@ -14,7 +14,7 @@ const MSG_TEXT = `

{{.Text}}

{{if .Link}} - Clicklink

+ link {{end}} @@ -34,7 +34,7 @@ func NewEmailer(conf ConfigSMTP) (*Emailer, error) { } defer closer.Close() - htmlTemplate, err := template.New("verify-email").Parse(MSG_TEXT) + htmlTemplate, err := template.New("email").Parse(MSG_TEXT) if err != nil { return nil, err } @@ -52,22 +52,23 @@ type Emailer struct { dialer *gomail.Dialer } -func (e *Emailer) SendRestorePassword(email, token string) error { +func (e *Emailer) SendRestorePassword(email, link string) error { return e.sendEmail("Restore your password", email, MailContent{ - Text: "Token: " + token, + Text: "You received this message do request of password change. Use this link to change your password:", + Link: link, }) } func (e *Emailer) SendVerifyUser(email, link string) error { return e.sendEmail("Verify your email", email, MailContent{ - Text: "You recieved this message due to registration of account. Use this link to verify email:", + Text: "You received this message due to registration of account. Use this link to verify email:", Link: link, }) } func (e *Emailer) SendPasswordChanged(email string) error { return e.sendEmail("Password changed", email, MailContent{ - Text: "You recieved this message due to password change", + Text: "Your password was successfully changed", }) } diff --git a/cmd/notifyer/event_handler.go b/cmd/notifyer/event_handler.go index 9d2b58e..b0041dc 100644 --- a/cmd/notifyer/event_handler.go +++ b/cmd/notifyer/event_handler.go @@ -78,7 +78,8 @@ func (e *EventHandler) handleEvent(ctx context.Context, msg kafka.Message) error // TODO: add context somehow switch string(msg.Key) { case "email_forgot_password": - return e.emailer.SendRestorePassword(event.Email, event.Token) + link := fmt.Sprintf("%s/restore-password?token=%s", e.config.App.ServiceUrl, event.Token) + return e.emailer.SendRestorePassword(event.Email, link) case "email_password_changed": return e.emailer.SendPasswordChanged(event.Email) case "email_verify_user": diff --git a/internal/core/repos/event_repo.go b/internal/core/repos/event_repo.go index ac3e588..7a4cfb0 100644 --- a/internal/core/repos/event_repo.go +++ b/internal/core/repos/event_repo.go @@ -35,7 +35,7 @@ func (e *EventRepo) sendEmail(ctx context.Context, email, actionToken, eventType return err } - return e.kafka.SendMessage(ctx, eventType, valueBytes) + return e.kafka.PushMessage(ctx, eventType, valueBytes) } func (e *EventRepo) SendEmailPasswordChanged(ctx context.Context, email string) error { diff --git a/internal/http_server/wrapper.go b/internal/http_server/gin_wrapper.go similarity index 100% rename from internal/http_server/wrapper.go rename to internal/http_server/gin_wrapper.go diff --git a/internal/integrations/kafka.go b/internal/integrations/kafka.go index 69eef72..bd2180c 100644 --- a/internal/integrations/kafka.go +++ b/internal/integrations/kafka.go @@ -26,7 +26,7 @@ func NewKafka(addr, topic string) *Kafka { } } -func (k *Kafka) SendMessage(ctx context.Context, key string, value []byte) error { +func (k *Kafka) PushMessage(ctx context.Context, key string, value []byte) error { return k.writer.WriteMessages( context.Background(), kafka.Message{