ResetPassword runs the interactive password reset process.
(apper Apper, username string)
| 761 | |
| 762 | // ResetPassword runs the interactive password reset process. |
| 763 | func ResetPassword(apper Apper, username string) error { |
| 764 | // Connect to the database |
| 765 | apper.LoadConfig() |
| 766 | connectToDatabase(apper.App()) |
| 767 | defer shutdown(apper.App()) |
| 768 | |
| 769 | // Fetch user |
| 770 | u, err := apper.App().db.GetUserForAuth(username) |
| 771 | if err != nil { |
| 772 | log.Error("Get user: %s", err) |
| 773 | os.Exit(1) |
| 774 | } |
| 775 | |
| 776 | // Prompt for new password |
| 777 | prompt := promptui.Prompt{ |
| 778 | Templates: &promptui.PromptTemplates{ |
| 779 | Success: "{{ . | bold | faint }}: ", |
| 780 | }, |
| 781 | Label: "New password", |
| 782 | Mask: '*', |
| 783 | } |
| 784 | newPass, err := prompt.Run() |
| 785 | if err != nil { |
| 786 | log.Error("%s", err) |
| 787 | os.Exit(1) |
| 788 | } |
| 789 | |
| 790 | // Do the update |
| 791 | log.Info("Updating...") |
| 792 | err = adminResetPassword(apper.App(), u, newPass) |
| 793 | if err != nil { |
| 794 | log.Error("%s", err) |
| 795 | os.Exit(1) |
| 796 | } |
| 797 | log.Info("Success.") |
| 798 | return nil |
| 799 | } |
| 800 | |
| 801 | // DoDeleteAccount runs the confirmation and account delete process. |
| 802 | func DoDeleteAccount(apper Apper, username string) error { |
no test coverage detected