feat(email): add mask for email configˆ
This commit is contained in:
@@ -44,3 +44,7 @@ const (
|
||||
ColorSchemeDark = "dark"
|
||||
ColorSchemeSystem = "system"
|
||||
)
|
||||
|
||||
const (
|
||||
EmailConfigKey = "email.config"
|
||||
)
|
||||
|
||||
@@ -328,7 +328,7 @@ func (es *EmailService) NewQuestionTemplate(ctx context.Context, raw *schema.New
|
||||
}
|
||||
|
||||
func (es *EmailService) GetEmailConfig(ctx context.Context) (ec *EmailConfig, err error) {
|
||||
emailConf, err := es.configService.GetStringValue(ctx, "email.config")
|
||||
emailConf, err := es.configService.GetStringValue(ctx, constant.EmailConfigKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -344,5 +344,5 @@ func (es *EmailService) GetEmailConfig(ctx context.Context) (ec *EmailConfig, er
|
||||
// SetEmailConfig set email config
|
||||
func (es *EmailService) SetEmailConfig(ctx context.Context, ec *EmailConfig) (err error) {
|
||||
data, _ := json.Marshal(ec)
|
||||
return es.configService.UpdateConfig(ctx, "email.config", string(data))
|
||||
return es.configService.UpdateConfig(ctx, constant.EmailConfigKey, string(data))
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/apache/incubator-answer/internal/base/constant"
|
||||
"github.com/apache/incubator-answer/internal/base/handler"
|
||||
@@ -257,14 +258,24 @@ func (s *SiteInfoService) GetSMTPConfig(ctx context.Context) (resp *schema.GetSM
|
||||
}
|
||||
resp = &schema.GetSMTPConfigResp{}
|
||||
_ = copier.Copy(resp, emailConfig)
|
||||
resp.SMTPPassword = strings.Repeat("*", len(resp.SMTPPassword))
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
// UpdateSMTPConfig get smtp config
|
||||
func (s *SiteInfoService) UpdateSMTPConfig(ctx context.Context, req *schema.UpdateSMTPConfigReq) (err error) {
|
||||
emailConfig, err := s.emailService.GetEmailConfig(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ec := &export.EmailConfig{}
|
||||
_ = copier.Copy(ec, req)
|
||||
|
||||
if len(ec.SMTPPassword) > 0 && ec.SMTPPassword == strings.Repeat("*", len(ec.SMTPPassword)) {
|
||||
ec.SMTPPassword = emailConfig.SMTPPassword
|
||||
}
|
||||
|
||||
err = s.emailService.SetEmailConfig(ctx, ec)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user