bug fix - remove secret

This commit is contained in:
MHSanaei 2024-03-12 20:45:44 +03:30
parent 4d07b99fe7
commit dd21bb2db7
2 changed files with 33 additions and 5 deletions

23
main.go
View file

@ -244,21 +244,33 @@ func migrateDb() {
} }
func removeSecret() { func removeSecret() {
err := database.InitDB(config.GetDBPath()) userService := service.UserService{}
secretExists, err := userService.CheckSecretExistence()
if err != nil { if err != nil {
fmt.Println(err) fmt.Println("Error checking secret existence:", err)
return return
} }
userService := service.UserService{}
if !secretExists {
fmt.Println("No secret exists to remove.")
return
}
err = userService.RemoveUserSecret() err = userService.RemoveUserSecret()
if err != nil { if err != nil {
fmt.Println(err) fmt.Println("Error removing secret:", err)
return
} }
settingService := service.SettingService{} settingService := service.SettingService{}
err = settingService.SetSecretStatus(false) err = settingService.SetSecretStatus(false)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println("Error updating secret status:", err)
return
} }
fmt.Println("Secret removed successfully.")
} }
func main() { func main() {
@ -285,6 +297,7 @@ func main() {
var remove_secret bool var remove_secret bool
settingCmd.BoolVar(&reset, "reset", false, "reset all settings") settingCmd.BoolVar(&reset, "reset", false, "reset all settings")
settingCmd.BoolVar(&show, "show", false, "show current 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.IntVar(&port, "port", 0, "set panel port")
settingCmd.StringVar(&username, "username", "", "set login username") settingCmd.StringVar(&username, "username", "", "set login username")
settingCmd.StringVar(&password, "password", "", "set login password") settingCmd.StringVar(&password, "password", "", "set login password")

View file

@ -79,6 +79,21 @@ func (s *UserService) GetUserSecret(id int) *model.User {
return 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 { func (s *UserService) UpdateFirstUser(username string, password string) error {
if username == "" { if username == "" {
return errors.New("username can not be empty") return errors.New("username can not be empty")