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:
Diffstat (limited to 'web/service')
-rw-r--r--web/service/setting.go8
-rw-r--r--web/service/user.go10
2 files changed, 18 insertions, 0 deletions
diff --git a/web/service/setting.go b/web/service/setting.go
index 62d66c11..868d55bc 100644
--- a/web/service/setting.go
+++ b/web/service/setting.go
@@ -322,10 +322,18 @@ func (s *SettingService) GetTwoFactorEnable() (bool, error) {
return s.getBool("twoFactorEnable")
}
+func (s *SettingService) SetTwoFactorEnable(value bool) error {
+ return s.setBool("twoFactorEnable", value)
+}
+
func (s *SettingService) GetTwoFactorToken() (string, error) {
return s.getString("twoFactorToken")
}
+func (s *SettingService) SetTwoFactorToken(value string) error {
+ return s.setString("twoFactorToken", value)
+}
+
func (s *SettingService) GetPort() (int, error) {
return s.getInt("webPort")
}
diff --git a/web/service/user.go b/web/service/user.go
index f0b04f52..ff5b8531 100644
--- a/web/service/user.go
+++ b/web/service/user.go
@@ -79,6 +79,16 @@ func (s *UserService) UpdateUser(id int, username string, password string) error
return err
}
+ twoFactorEnable, err := s.settingService.GetTwoFactorEnable()
+ if err != nil {
+ return err
+ }
+
+ if twoFactorEnable {
+ s.settingService.SetTwoFactorEnable(false)
+ s.settingService.SetTwoFactorToken("")
+ }
+
return db.Model(model.User{}).
Where("id = ?", id).
Updates(map[string]any{"username": username, "password": hashedPassword}).