diff options
Diffstat (limited to 'cli/reset_password.go')
-rw-r--r-- | cli/reset_password.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cli/reset_password.go b/cli/reset_password.go new file mode 100644 index 0000000..05a9b51 --- /dev/null +++ b/cli/reset_password.go @@ -0,0 +1,39 @@ +// Copyright 2018 Frédéric Guillot. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package cli + +import ( + "fmt" + "os" + + "github.com/miniflux/miniflux/storage" +) + +func resetPassword(store *storage.Storage) { + username, password := askCredentials() + user, err := store.UserByUsername(username) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + if user == nil { + fmt.Println("User not found!") + os.Exit(1) + } + + user.Password = password + if err := user.ValidatePassword(); err != nil { + fmt.Println(err) + os.Exit(1) + } + + if err := store.UpdateUser(user); err != nil { + fmt.Println(err) + os.Exit(1) + } + + fmt.Println("Password changed!") +} |