[MM-54594] Adding new global relay type (#24672)
* adding new global relay type, custom
Этот коммит содержится в:
@@ -8848,7 +8848,11 @@
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.message_export.global_relay.customer_type.app_error",
|
||||
"translation": "Message export GlobalRelaySettings.CustomerType must be set to one of either 'A9' or 'A10'."
|
||||
"translation": "Message export GlobalRelaySettings.CustomerType must be set to one of either 'A9', 'A10' or 'CUSTOM."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.message_export.global_relay.customer_type_custom.app_error",
|
||||
"translation": "If GlobalRelaySettings.CustomerType is 'CUSTOM', then GlobalRelaySettings.CustomSMTPServerName and GlobalRelaySettings.CustomSMTPPort must be set."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.message_export.global_relay.email_address.app_error",
|
||||
|
||||
@@ -226,6 +226,7 @@ const (
|
||||
ComplianceExportTypeGlobalrelayZip = "globalrelay-zip"
|
||||
GlobalrelayCustomerTypeA9 = "A9"
|
||||
GlobalrelayCustomerTypeA10 = "A10"
|
||||
GlobalrelayCustomerTypeCustom = "CUSTOM"
|
||||
|
||||
ClientSideCertCheckPrimaryAuth = "primary"
|
||||
ClientSideCertCheckSecondaryAuth = "secondary"
|
||||
@@ -3108,11 +3109,13 @@ func (s *PluginSettings) SetDefaults(ls LogSettings) {
|
||||
}
|
||||
|
||||
type GlobalRelayMessageExportSettings struct {
|
||||
CustomerType *string `access:"compliance_compliance_export"` // must be either A9 or A10, dictates SMTP server url
|
||||
SMTPUsername *string `access:"compliance_compliance_export"`
|
||||
SMTPPassword *string `access:"compliance_compliance_export"`
|
||||
EmailAddress *string `access:"compliance_compliance_export"` // the address to send messages to
|
||||
SMTPServerTimeout *int `access:"compliance_compliance_export"`
|
||||
CustomerType *string `access:"compliance_compliance_export"` // must be either A9, A10 or CUSTOM, dictates SMTP server url
|
||||
SMTPUsername *string `access:"compliance_compliance_export"`
|
||||
SMTPPassword *string `access:"compliance_compliance_export"`
|
||||
EmailAddress *string `access:"compliance_compliance_export"` // the address to send messages to
|
||||
SMTPServerTimeout *int `access:"compliance_compliance_export"`
|
||||
CustomSMTPServerName *string `access:"compliance_compliance_export"`
|
||||
CustomSMTPPort *string `access:"compliance_compliance_export"`
|
||||
}
|
||||
|
||||
func (s *GlobalRelayMessageExportSettings) SetDefaults() {
|
||||
@@ -3131,6 +3134,12 @@ func (s *GlobalRelayMessageExportSettings) SetDefaults() {
|
||||
if s.SMTPServerTimeout == nil || *s.SMTPServerTimeout == 0 {
|
||||
s.SMTPServerTimeout = NewInt(1800)
|
||||
}
|
||||
if s.CustomSMTPServerName == nil {
|
||||
s.CustomSMTPServerName = NewString("")
|
||||
}
|
||||
if s.CustomSMTPPort == nil {
|
||||
s.CustomSMTPPort = NewString("25")
|
||||
}
|
||||
}
|
||||
|
||||
type MessageExportSettings struct {
|
||||
@@ -4105,8 +4114,10 @@ func (s *MessageExportSettings) isValid() *AppError {
|
||||
if *s.ExportFormat == ComplianceExportTypeGlobalrelay {
|
||||
if s.GlobalRelaySettings == nil {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.message_export.global_relay.config_missing.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if s.GlobalRelaySettings.CustomerType == nil || (*s.GlobalRelaySettings.CustomerType != GlobalrelayCustomerTypeA9 && *s.GlobalRelaySettings.CustomerType != GlobalrelayCustomerTypeA10) {
|
||||
} else if s.GlobalRelaySettings.CustomerType == nil || (*s.GlobalRelaySettings.CustomerType != GlobalrelayCustomerTypeA9 && *s.GlobalRelaySettings.CustomerType != GlobalrelayCustomerTypeA10 && *s.GlobalRelaySettings.CustomerType != GlobalrelayCustomerTypeCustom) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.message_export.global_relay.customer_type.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if *s.GlobalRelaySettings.CustomerType == GlobalrelayCustomerTypeCustom && ((s.GlobalRelaySettings.CustomSMTPServerName == nil || *s.GlobalRelaySettings.CustomSMTPServerName == "") || (s.GlobalRelaySettings.CustomSMTPPort == nil || *s.GlobalRelaySettings.CustomSMTPPort == "")) {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.message_export.global_relay.customer_type_custom.app_error", nil, "", http.StatusBadRequest)
|
||||
} else if s.GlobalRelaySettings.EmailAddress == nil || !strings.Contains(*s.GlobalRelaySettings.EmailAddress, "@") {
|
||||
// validating email addresses is hard - just make sure it contains an '@' sign
|
||||
// see https://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address
|
||||
|
||||
Ссылка в новой задаче
Block a user