Add User reset password
This commit is contained in:
@@ -2,6 +2,7 @@ package auth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"furtuna-be/config"
|
||||
"furtuna-be/internal/common/mycontext"
|
||||
"furtuna-be/internal/entity"
|
||||
@@ -117,25 +118,32 @@ func (u *AuthServiceImpl) SendPasswordResetLink(ctx context.Context, email strin
|
||||
return errors.ErrorInternalServer
|
||||
}
|
||||
|
||||
// Update the user's password in the database
|
||||
if err := u.authRepo.UpdatePassword(ctx, trx, hashPassword, user.ID, true); err != nil {
|
||||
logger.ContextLogger(ctx).Error("error when updating user password", zap.Error(err))
|
||||
u.trxRepo.Rollback(trx)
|
||||
return errors.ErrorInternalServer
|
||||
}
|
||||
|
||||
// If a custom receiver is specified, override the email
|
||||
if u.emailCfg.CustomReceiver != "" {
|
||||
email = u.emailCfg.CustomReceiver
|
||||
}
|
||||
|
||||
sender := u.emailCfg.Sender
|
||||
templatePath := u.emailCfg.ResetPassword.TemplatePath
|
||||
subject := fmt.Sprintf("Furtuna %s", u.emailCfg.ResetPassword.Subject)
|
||||
if user.UserType == "CUSTOMER" {
|
||||
sender = u.emailCfg.SenderCustomer
|
||||
templatePath = u.emailCfg.ResetPassword.TemplatePathCustomer
|
||||
subject = fmt.Sprintf("Ayogo %s", u.emailCfg.ResetPassword.Subject)
|
||||
}
|
||||
|
||||
// Prepare the email notification parameters
|
||||
renewPasswordRequest := entity.SendEmailNotificationParam{
|
||||
Sender: u.emailCfg.Sender,
|
||||
Sender: sender,
|
||||
Recipient: email,
|
||||
Subject: u.emailCfg.ResetPassword.Subject,
|
||||
Subject: subject,
|
||||
TemplateName: u.emailCfg.ResetPassword.TemplateName,
|
||||
TemplatePath: u.emailCfg.ResetPassword.TemplatePath,
|
||||
TemplatePath: templatePath,
|
||||
Data: map[string]interface{}{
|
||||
"Name": user.Name,
|
||||
"OpeningWord": u.emailCfg.ResetPassword.OpeningWord,
|
||||
|
||||
Reference in New Issue
Block a user