unified code verification service
This commit is contained in:
@@ -5,23 +5,24 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/tech/sendico/pkg/model"
|
||||
"github.com/tech/sendico/pkg/mutil/mzap"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func (a *NotificationAPI) onConfirmationCode(ctx context.Context, account *model.Account, destination string, target model.ConfirmationTarget, code string) error {
|
||||
func (a *NotificationAPI) onConfirmationCode(ctx context.Context, account *model.Account, target string, purpose model.VerificationPurpose, code string) error {
|
||||
builder := a.client.MailBuilder().
|
||||
AddRecipient(account.Name, strings.TrimSpace(destination)).
|
||||
AddRecipient(account.Name, strings.TrimSpace(target)).
|
||||
SetAccountID(account.ID.Hex()).
|
||||
SetLocale(account.Locale).
|
||||
SetTemplateID("confirmation-code").
|
||||
AddData("Name", account.Name).
|
||||
AddData("Code", code).
|
||||
AddData("Target", string(target))
|
||||
AddData("Target", model.VPToString(purpose))
|
||||
|
||||
if err := a.client.Send(builder); err != nil {
|
||||
a.logger.Warn("Failed to send confirmation code email", zap.Error(err), zap.String("login", account.Login))
|
||||
a.logger.Warn("Failed to send confirmation code email", zap.Error(err), mzap.Login(account))
|
||||
return err
|
||||
}
|
||||
a.logger.Info("Confirmation code email sent", zap.String("login", account.Login), zap.String("destination", destination), zap.String("target", string(target)))
|
||||
a.logger.Info("Confirmation code email sent", mzap.Login(account), zap.String("destination", target), zap.String("target", string(purpose)))
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user