diff options
| author | mhsanaei <ho3ein.sanaei@gmail.com> | 2025-03-12 22:13:51 +0300 |
|---|---|---|
| committer | mhsanaei <ho3ein.sanaei@gmail.com> | 2025-03-12 22:43:43 +0300 |
| commit | 0bde51b91ea505e38569ae3cbe575695abd2db60 (patch) | |
| tree | 3d27346586f5802d12cdbb7a1fe95c2b5d46156f /web/service/inbound.go | |
| parent | 280a22b57d14a372d99bcc49add515721290678b (diff) | |
Refactor: Use any instead of interface{}
Diffstat (limited to 'web/service/inbound.go')
| -rw-r--r-- | web/service/inbound.go | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/web/service/inbound.go b/web/service/inbound.go index 4f28af21..fce01634 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -413,13 +413,13 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) (bool, error) { return false, err } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(data.Settings), &settings) if err != nil { return false, err } - interfaceClients := settings["clients"].([]interface{}) + interfaceClients := settings["clients"].([]any) existEmail, err := s.checkEmailsExistForClients(clients) if err != nil { return false, err @@ -450,13 +450,13 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) (bool, error) { } } - var oldSettings map[string]interface{} + var oldSettings map[string]any err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings) if err != nil { return false, err } - oldClients := oldSettings["clients"].([]interface{}) + oldClients := oldSettings["clients"].([]any) oldClients = append(oldClients, interfaceClients...) oldSettings["clients"] = oldClients @@ -489,7 +489,7 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) (bool, error) { if oldInbound.Protocol == "shadowsocks" { cipher = oldSettings["method"].(string) } - err1 := s.xrayApi.AddUser(string(oldInbound.Protocol), oldInbound.Tag, map[string]interface{}{ + err1 := s.xrayApi.AddUser(string(oldInbound.Protocol), oldInbound.Tag, map[string]any{ "email": client.Email, "id": client.ID, "security": client.Security, @@ -519,7 +519,7 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool, logger.Error("Load Old Data Error") return false, err } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(oldInbound.Settings), &settings) if err != nil { return false, err @@ -534,11 +534,11 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool, client_key = "email" } - interfaceClients := settings["clients"].([]interface{}) - var newClients []interface{} + interfaceClients := settings["clients"].([]any) + var newClients []any needApiDel := false for _, client := range interfaceClients { - c := client.(map[string]interface{}) + c := client.(map[string]any) c_id := c[client_key].(string) if c_id == clientId { email, _ = c["email"].(string) @@ -607,13 +607,13 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin return false, err } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(data.Settings), &settings) if err != nil { return false, err } - interfaceClients := settings["clients"].([]interface{}) + interfaceClients := settings["clients"].([]any) oldInbound, err := s.GetInbound(data.Id) if err != nil { @@ -662,12 +662,12 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin } } - var oldSettings map[string]interface{} + var oldSettings map[string]any err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings) if err != nil { return false, err } - settingsClients := oldSettings["clients"].([]interface{}) + settingsClients := oldSettings["clients"].([]any) settingsClients[clientIndex] = interfaceClients[0] oldSettings["clients"] = settingsClients @@ -732,7 +732,7 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin if oldInbound.Protocol == "shadowsocks" { cipher = oldSettings["method"].(string) } - err1 := s.xrayApi.AddUser(string(oldInbound.Protocol), oldInbound.Tag, map[string]interface{}{ + err1 := s.xrayApi.AddUser(string(oldInbound.Protocol), oldInbound.Tag, map[string]any{ "email": clients[0].Email, "id": clients[0].ID, "security": clients[0].Security, @@ -809,7 +809,7 @@ func (s *InboundService) addInboundTraffic(tx *gorm.DB, traffics []*xray.Traffic for _, traffic := range traffics { if traffic.IsInbound { err = tx.Model(&model.Inbound{}).Where("tag = ?", traffic.Tag). - Updates(map[string]interface{}{ + Updates(map[string]any{ "up": gorm.Expr("up + ?", traffic.Up), "down": gorm.Expr("down + ?", traffic.Down), }).Error @@ -893,13 +893,13 @@ func (s *InboundService) adjustTraffics(tx *gorm.DB, dbClientTraffics []*xray.Cl return nil, err } for inbound_index := range inbounds { - settings := map[string]interface{}{} + settings := map[string]any{} json.Unmarshal([]byte(inbounds[inbound_index].Settings), &settings) - clients, ok := settings["clients"].([]interface{}) + clients, ok := settings["clients"].([]any) if ok { - var newClients []interface{} + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) for traffic_index := range dbClientTraffics { if dbClientTraffics[traffic_index].ExpiryTime < 0 && c["email"] == dbClientTraffics[traffic_index].Email { oldExpiryTime := c["expiryTime"].(float64) @@ -909,7 +909,7 @@ func (s *InboundService) adjustTraffics(tx *gorm.DB, dbClientTraffics []*xray.Cl break } } - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } settings["clients"] = newClients modifiedSettings, err := json.MarshalIndent(settings, "", " ") @@ -951,7 +951,7 @@ func (s *InboundService) autoRenewClients(tx *gorm.DB) (bool, int64, error) { var clientsToAdd []struct { protocol string tag string - client map[string]interface{} + client map[string]any } for _, traffic := range traffics { @@ -962,11 +962,11 @@ func (s *InboundService) autoRenewClients(tx *gorm.DB) (bool, int64, error) { return false, 0, err } for inbound_index := range inbounds { - settings := map[string]interface{}{} + settings := map[string]any{} json.Unmarshal([]byte(inbounds[inbound_index].Settings), &settings) - clients := settings["clients"].([]interface{}) + clients := settings["clients"].([]any) for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) for traffic_index, traffic := range traffics { if traffic.Email == c["email"].(string) { newExpiryTime := traffic.ExpiryTime @@ -983,14 +983,14 @@ func (s *InboundService) autoRenewClients(tx *gorm.DB) (bool, int64, error) { struct { protocol string tag string - client map[string]interface{} + client map[string]any }{ protocol: string(inbounds[inbound_index].Protocol), tag: inbounds[inbound_index].Tag, client: c, }) } - clients[client_index] = interface{}(c) + clients[client_index] = any(c) break } } @@ -1147,7 +1147,7 @@ func (s *InboundService) AddClientStat(tx *gorm.DB, inboundId int, client *model func (s *InboundService) UpdateClientStat(tx *gorm.DB, email string, client *model.Client) error { result := tx.Model(xray.ClientTraffic{}). Where("email = ?", email). - Updates(map[string]interface{}{ + Updates(map[string]any{ "enable": true, "email": client.Email, "total": client.TotalGB, @@ -1258,18 +1258,18 @@ func (s *InboundService) SetClientTelegramUserID(trafficId int, tgId int64) (boo return false, common.NewError("Client Not Found For Email:", clientEmail) } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &settings) if err != nil { return false, err } - clients := settings["clients"].([]interface{}) - var newClients []interface{} + clients := settings["clients"].([]any) + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) if c["email"] == clientEmail { c["tgId"] = tgId - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } } settings["clients"] = newClients @@ -1343,18 +1343,18 @@ func (s *InboundService) ToggleClientEnableByEmail(clientEmail string) (bool, bo return false, false, common.NewError("Client Not Found For Email:", clientEmail) } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &settings) if err != nil { return false, false, err } - clients := settings["clients"].([]interface{}) - var newClients []interface{} + clients := settings["clients"].([]any) + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) if c["email"] == clientEmail { c["enable"] = !clientOldEnabled - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } } settings["clients"] = newClients @@ -1405,18 +1405,18 @@ func (s *InboundService) ResetClientIpLimitByEmail(clientEmail string, count int return false, common.NewError("Client Not Found For Email:", clientEmail) } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &settings) if err != nil { return false, err } - clients := settings["clients"].([]interface{}) - var newClients []interface{} + clients := settings["clients"].([]any) + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) if c["email"] == clientEmail { c["limitIp"] = count - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } } settings["clients"] = newClients @@ -1462,18 +1462,18 @@ func (s *InboundService) ResetClientExpiryTimeByEmail(clientEmail string, expiry return false, common.NewError("Client Not Found For Email:", clientEmail) } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &settings) if err != nil { return false, err } - clients := settings["clients"].([]interface{}) - var newClients []interface{} + clients := settings["clients"].([]any) + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) if c["email"] == clientEmail { c["expiryTime"] = expiry_time - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } } settings["clients"] = newClients @@ -1522,18 +1522,18 @@ func (s *InboundService) ResetClientTrafficLimitByEmail(clientEmail string, tota return false, common.NewError("Client Not Found For Email:", clientEmail) } - var settings map[string]interface{} + var settings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &settings) if err != nil { return false, err } - clients := settings["clients"].([]interface{}) - var newClients []interface{} + clients := settings["clients"].([]any) + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) if c["email"] == clientEmail { c["totalGB"] = totalGB * 1024 * 1024 * 1024 - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } } settings["clients"] = newClients @@ -1551,7 +1551,7 @@ func (s *InboundService) ResetClientTrafficByEmail(clientEmail string) error { result := db.Model(xray.ClientTraffic{}). Where("email = ?", clientEmail). - Updates(map[string]interface{}{"enable": true, "up": 0, "down": 0}) + Updates(map[string]any{"enable": true, "up": 0, "down": 0}) err := result.Error if err != nil { @@ -1582,14 +1582,14 @@ func (s *InboundService) ResetClientTraffic(id int, clientEmail string) (bool, e s.xrayApi.Init(p.GetAPIPort()) cipher := "" if string(inbound.Protocol) == "shadowsocks" { - var oldSettings map[string]interface{} + var oldSettings map[string]any err = json.Unmarshal([]byte(inbound.Settings), &oldSettings) if err != nil { return false, err } cipher = oldSettings["method"].(string) } - err1 := s.xrayApi.AddUser(string(inbound.Protocol), inbound.Tag, map[string]interface{}{ + err1 := s.xrayApi.AddUser(string(inbound.Protocol), inbound.Tag, map[string]any{ "email": client.Email, "id": client.ID, "security": client.Security, @@ -1634,7 +1634,7 @@ func (s *InboundService) ResetAllClientTraffics(id int) error { result := db.Model(xray.ClientTraffic{}). Where(whereText, id). - Updates(map[string]interface{}{"enable": true, "up": 0, "down": 0}) + Updates(map[string]any{"enable": true, "up": 0, "down": 0}) err := result.Error return err @@ -1645,7 +1645,7 @@ func (s *InboundService) ResetAllTraffics() error { result := db.Model(model.Inbound{}). Where("user_id > ?", 0). - Updates(map[string]interface{}{"up": 0, "down": 0}) + Updates(map[string]any{"up": 0, "down": 0}) err := result.Error return err @@ -1681,17 +1681,17 @@ func (s *InboundService) DelDepletedClients(id int) (err error) { if err != nil { return err } - var oldSettings map[string]interface{} + var oldSettings map[string]any err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings) if err != nil { return err } - oldClients := oldSettings["clients"].([]interface{}) - var newClients []interface{} + oldClients := oldSettings["clients"].([]any) + var newClients []any for _, client := range oldClients { deplete := false - c := client.(map[string]interface{}) + c := client.(map[string]any) for _, email := range emails { if email == c["email"].(string) { deplete = true @@ -1907,14 +1907,14 @@ func (s *InboundService) MigrationRequirements() { return } for inbound_index := range inbounds { - settings := map[string]interface{}{} + settings := map[string]any{} json.Unmarshal([]byte(inbounds[inbound_index].Settings), &settings) - clients, ok := settings["clients"].([]interface{}) + clients, ok := settings["clients"].([]any) if ok { // Fix Client configuration problems - var newClients []interface{} + var newClients []any for client_index := range clients { - c := clients[client_index].(map[string]interface{}) + c := clients[client_index].(map[string]any) // Add email='' if it is not exists if _, ok := c["email"]; !ok { @@ -1923,7 +1923,7 @@ func (s *InboundService) MigrationRequirements() { // Convert string tgId to int64 if _, ok := c["tgId"]; ok { - var tgId interface{} = c["tgId"] + var tgId any = c["tgId"] if tgIdStr, ok2 := tgId.(string); ok2 { tgIdInt64, err := strconv.ParseInt(strings.ReplaceAll(tgIdStr, " ", ""), 10, 64) if err == nil { @@ -1938,7 +1938,7 @@ func (s *InboundService) MigrationRequirements() { c["flow"] = "" } } - newClients = append(newClients, interface{}(c)) + newClients = append(newClients, any(c)) } settings["clients"] = newClients modifiedSettings, err := json.MarshalIndent(settings, "", " ") @@ -1985,14 +1985,14 @@ func (s *InboundService) MigrationRequirements() { } for _, ep := range externalProxy { - var reverses interface{} - var stream map[string]interface{} + var reverses any + var stream map[string]any json.Unmarshal(ep.StreamSettings, &stream) - if tlsSettings, ok := stream["tlsSettings"].(map[string]interface{}); ok { - if settings, ok := tlsSettings["settings"].(map[string]interface{}); ok { - if domains, ok := settings["domains"].([]interface{}); ok { + if tlsSettings, ok := stream["tlsSettings"].(map[string]any); ok { + if settings, ok := tlsSettings["settings"].(map[string]any); ok { + if domains, ok := settings["domains"].([]any); ok { for _, domain := range domains { - if domainMap, ok := domain.(map[string]interface{}); ok { + if domainMap, ok := domain.(map[string]any); ok { domainMap["forceTls"] = "same" domainMap["port"] = ep.Port domainMap["dest"] = domainMap["domain"].(string) |
