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:
-rw-r--r--main.go23
-rw-r--r--web/service/user.go15
2 files changed, 33 insertions, 5 deletions
diff --git a/main.go b/main.go
index d8177458..80111aae 100644
--- a/main.go
+++ b/main.go
@@ -244,21 +244,33 @@ func migrateDb() {
}
func removeSecret() {
- err := database.InitDB(config.GetDBPath())
+ userService := service.UserService{}
+
+ secretExists, err := userService.CheckSecretExistence()
if err != nil {
- fmt.Println(err)
+ fmt.Println("Error checking secret existence:", err)
return
}
- userService := service.UserService{}
+
+ if !secretExists {
+ fmt.Println("No secret exists to remove.")
+ return
+ }
+
err = userService.RemoveUserSecret()
if err != nil {
- fmt.Println(err)
+ fmt.Println("Error removing secret:", err)
+ return
}
+
settingService := service.SettingService{}
err = settingService.SetSecretStatus(false)
if err != nil {
- fmt.Println(err)
+ fmt.Println("Error updating secret status:", err)
+ return
}
+
+ fmt.Println("Secret removed successfully.")
}
func main() {
@@ -285,6 +297,7 @@ func main() {
var remove_secret bool
settingCmd.BoolVar(&reset, "reset", false, "reset all settings")
settingCmd.BoolVar(&show, "show", false, "show current settings")
+ settingCmd.BoolVar(&remove_secret, "remove_secret", false, "remove secret")
settingCmd.IntVar(&port, "port", 0, "set panel port")
settingCmd.StringVar(&username, "username", "", "set login username")
settingCmd.StringVar(&password, "password", "", "set login password")
diff --git a/web/service/user.go b/web/service/user.go
index b8292000..fdfffa3c 100644
--- a/web/service/user.go
+++ b/web/service/user.go
@@ -79,6 +79,21 @@ func (s *UserService) GetUserSecret(id int) *model.User {
return user
}
+func (s *UserService) CheckSecretExistence() (bool, error) {
+ db := database.GetDB()
+
+ var count int64
+ err := db.Model(model.User{}).
+ Where("login_secret IS NOT NULL").
+ Count(&count).
+ Error
+ if err != nil {
+ return false, err
+ }
+
+ return count > 0, nil
+}
+
func (s *UserService) UpdateFirstUser(username string, password string) error {
if username == "" {
return errors.New("username can not be empty")