Some fixes and improvements (#1077)

* [refactor] api controller

* [update] use status code for jsonMsg and 401 to unauthorize

* [update] handle response status code via axios

* [lint] all .go files
This commit is contained in:
Hamidreza
2024-03-10 20:30:44 +03:30
committed by GitHub
parent e3c2b42048
commit b6ccb2e076
40 changed files with 135 additions and 142 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt"
"strings"
"time"
"x-ui/database"
"x-ui/database/model"
"x-ui/logger"
@@ -90,7 +91,6 @@ func (s *InboundService) getAllEmails() ([]string, error) {
FROM inbounds,
JSON_EACH(JSON_EXTRACT(inbounds.settings, '$.clients')) AS client
`).Scan(&emails).Error
if err != nil {
return nil, err
}
@@ -1044,13 +1044,15 @@ func (s *InboundService) UpdateClientStat(tx *gorm.DB, email string, client *mod
"email": client.Email,
"total": client.TotalGB,
"expiry_time": client.ExpiryTime,
"reset": client.Reset})
"reset": client.Reset,
})
err := result.Error
if err != nil {
return err
}
return nil
}
func (s *InboundService) DelClientStat(tx *gorm.DB, email string) error {
return tx.Where("email = ?", email).Delete(xray.ClientTraffic{}).Error
}
@@ -1131,7 +1133,6 @@ func (s *InboundService) ResetAllClientTraffics(id int) error {
Updates(map[string]interface{}{"enable": true, "up": 0, "down": 0})
err := result.Error
if err != nil {
return err
}
@@ -1146,7 +1147,6 @@ func (s *InboundService) ResetAllTraffics() error {
Updates(map[string]interface{}{"up": 0, "down": 0})
err := result.Error
if err != nil {
return err
}

View File

@@ -4,11 +4,11 @@ import (
"os"
"syscall"
"time"
"x-ui/logger"
)
type PanelService struct {
}
type PanelService struct{}
func (s *PanelService) RestartPanel(delay time.Duration) error {
p, err := os.FindProcess(syscall.Getpid())

View File

@@ -15,6 +15,7 @@ import (
"strconv"
"strings"
"time"
"x-ui/config"
"x-ui/database"
"x-ui/logger"
@@ -250,7 +251,6 @@ func (s *ServerService) GetXrayVersions() ([]string, error) {
}
func (s *ServerService) StopXrayService() (string error) {
err := s.xrayService.StopXray()
if err != nil {
logger.Error("stop xray failed:", err)
@@ -261,7 +261,6 @@ func (s *ServerService) StopXrayService() (string error) {
}
func (s *ServerService) RestartXrayService() (string error) {
s.xrayService.StopXray()
defer func() {
err := s.xrayService.RestartXray(true)
@@ -365,7 +364,6 @@ func (s *ServerService) UpdateXray(version string) error {
}
return nil
}
func (s *ServerService) GetLogs(count string, level string, syslog string) []string {

View File

@@ -9,6 +9,7 @@ import (
"strconv"
"strings"
"time"
"x-ui/database"
"x-ui/database/model"
"x-ui/logger"
@@ -61,8 +62,7 @@ var defaultValueMap = map[string]string{
"warp": "",
}
type SettingService struct {
}
type SettingService struct{}
func (s *SettingService) GetAllSetting() (*entity.AllSetting, error) {
db := database.GetDB()
@@ -406,6 +406,7 @@ func (s *SettingService) GetSubJsonFragment() (string, error) {
func (s *SettingService) GetWarp() (string, error) {
return s.getString("warp")
}
func (s *SettingService) SetWarp(data string) error {
return s.setString("warp", data)
}

View File

@@ -8,6 +8,7 @@ import (
"strconv"
"strings"
"time"
"x-ui/config"
"x-ui/database"
"x-ui/database/model"
@@ -19,10 +20,12 @@ import (
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
var bot *tgbotapi.BotAPI
var adminIds []int64
var isRunning bool
var hostname string
var (
bot *tgbotapi.BotAPI
adminIds []int64
isRunning bool
hostname string
)
type LoginStatus byte

View File

@@ -2,6 +2,7 @@ package service
import (
"errors"
"x-ui/database"
"x-ui/database/model"
"x-ui/logger"
@@ -9,8 +10,7 @@ import (
"gorm.io/gorm"
)
type UserService struct {
}
type UserService struct{}
func (s *UserService) GetFirstUser() (*model.User, error) {
db := database.GetDB()

View File

@@ -4,16 +4,19 @@ import (
"encoding/json"
"errors"
"sync"
"x-ui/logger"
"x-ui/xray"
"go.uber.org/atomic"
)
var p *xray.Process
var lock sync.Mutex
var isNeedXrayRestart atomic.Bool
var result string
var (
p *xray.Process
lock sync.Mutex
isNeedXrayRestart atomic.Bool
result string
)
type XrayService struct {
inboundService InboundService
@@ -87,7 +90,6 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) {
// check users active or not
clientStats := inbound.ClientStats
for _, clientTraffic := range clientStats {
indexDecrease := 0
for index, client := range clients {
c := client.(map[string]interface{})
@@ -96,10 +98,8 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) {
clients = RemoveIndex(clients, index-indexDecrease)
indexDecrease++
}
}
}
}
// clear client config for additional parameters

View File

@@ -8,6 +8,7 @@ import (
"net/http"
"os"
"time"
"x-ui/util/common"
"x-ui/xray"
)