Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-04-19 11:25:38 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-04-19 11:25:38 +0300
commite1132a3f416eb0a894fd2dc9aaf9e29c0d93098f (patch)
tree60939cef5248d6d30cdf622b7481764db25d5240 /web/service
parent4d479102ad8ecf309ec340f9e0778f1231788185 (diff)
bug fix
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/service')
-rw-r--r--web/service/inbound.go46
1 files changed, 28 insertions, 18 deletions
diff --git a/web/service/inbound.go b/web/service/inbound.go
index c3f92e5a..9fb9a5b1 100644
--- a/web/service/inbound.go
+++ b/web/service/inbound.go
@@ -266,11 +266,18 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) error {
if err != nil {
return err
}
- existEmail, err := s.checkEmailsExistForClients(clients)
+
+ var settings map[string]interface{}
+ err = json.Unmarshal([]byte(data.Settings), &settings)
if err != nil {
return err
}
+ interfaceClients := settings["clients"].([]interface{})
+ existEmail, err := s.checkEmailsExistForClients(clients)
+ if err != nil {
+ return err
+ }
if existEmail != "" {
return common.NewError("Duplicate email:", existEmail)
}
@@ -280,21 +287,18 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) error {
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 {
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 {
return err
}
@@ -341,6 +345,14 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, index int) 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)
if err != nil {
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 {
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 {
return err
}