|
@@ -266,11 +266,18 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) error {
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- existEmail, err := s.checkEmailsExistForClients(clients)
|
|
|
|
|
|
+
|
|
|
|
+ var settings map[string]interface{}
|
|
|
|
+ err = json.Unmarshal([]byte(data.Settings), &settings)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ interfaceClients := settings["clients"].([]interface{})
|
|
|
|
+ existEmail, err := s.checkEmailsExistForClients(clients)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
if existEmail != "" {
|
|
if existEmail != "" {
|
|
return common.NewError("Duplicate email:", existEmail)
|
|
return common.NewError("Duplicate email:", existEmail)
|
|
}
|
|
}
|
|
@@ -280,21 +287,18 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) error {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- var settings map[string]interface{}
|
|
|
|
- err = json.Unmarshal([]byte(oldInbound.Settings), &settings)
|
|
|
|
|
|
+ var oldSettings map[string]interface{}
|
|
|
|
+ err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- oldClients := settings["clients"].([]interface{})
|
|
|
|
- var newClients []interface{}
|
|
|
|
- for _, client := range clients {
|
|
|
|
- newClients = append(newClients, client)
|
|
|
|
- }
|
|
|
|
|
|
+ oldClients := oldSettings["clients"].([]interface{})
|
|
|
|
+ oldClients = append(oldClients, interfaceClients...)
|
|
|
|
|
|
- settings["clients"] = append(oldClients, newClients...)
|
|
|
|
|
|
+ oldSettings["clients"] = oldClients
|
|
|
|
|
|
- newSettings, err := json.MarshalIndent(settings, "", " ")
|
|
|
|
|
|
+ newSettings, err := json.MarshalIndent(oldSettings, "", " ")
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -341,6 +345,14 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, index int) err
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ var settings map[string]interface{}
|
|
|
|
+ err = json.Unmarshal([]byte(data.Settings), &settings)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ inerfaceClients := settings["clients"].([]interface{})
|
|
|
|
+
|
|
oldInbound, err := s.GetInbound(data.Id)
|
|
oldInbound, err := s.GetInbound(data.Id)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
@@ -361,20 +373,18 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, index int) err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- var settings map[string]interface{}
|
|
|
|
- err = json.Unmarshal([]byte(oldInbound.Settings), &settings)
|
|
|
|
|
|
+ var oldSettings map[string]interface{}
|
|
|
|
+ err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- settingsClients := settings["clients"].([]interface{})
|
|
|
|
- var newClients []interface{}
|
|
|
|
- newClients = append(newClients, clients[0])
|
|
|
|
- settingsClients[index] = newClients[0]
|
|
|
|
|
|
+ settingsClients := oldSettings["clients"].([]interface{})
|
|
|
|
+ settingsClients[index] = inerfaceClients[0]
|
|
|
|
|
|
- settings["clients"] = settingsClients
|
|
|
|
|
|
+ oldSettings["clients"] = settingsClients
|
|
|
|
|
|
- newSettings, err := json.MarshalIndent(settings, "", " ")
|
|
|
|
|
|
+ newSettings, err := json.MarshalIndent(oldSettings, "", " ")
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|