]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/server.go
Add support for account login rename
[rbdr/mobius] / hotline / server.go
index a77e79295e0e8e318a68855ac4fe5111328939e7..aca2221a1adc22676c6bf676e7f7d43f05722d53 100644 (file)
@@ -447,11 +447,12 @@ func (s *Server) UpdateUser(login, newLogin, name, password string, access acces
 
        // update renames the user login
        if login != newLogin {
-               err := os.Rename(filepath.Join(s.ConfigDir, "Users", login+".yaml"), filepath.Join(s.ConfigDir, "Users", newLogin+".yaml"))
+               err := os.Rename(filepath.Join(s.ConfigDir, "Users", path.Join("/", login)+".yaml"), filepath.Join(s.ConfigDir, "Users", path.Join("/", newLogin)+".yaml"))
                if err != nil {
-                       return err
+                       return fmt.Errorf("unable to rename account: %w", err)
                }
                s.Accounts[newLogin] = s.Accounts[login]
+               s.Accounts[newLogin].Login = newLogin
                delete(s.Accounts, login)
        }