MCPcopy
hub / github.com/cloudfoundry/cli / Execute

Method Execute

cf/commands/passwd.go:50–80  ·  view source on GitHub ↗
(c flags.FlagContext)

Source from the content-addressed store, hash-verified

48}
49
50func (cmd *Password) Execute(c flags.FlagContext) error {
51 oldPassword := cmd.ui.AskForPassword(T("Current Password"))
52 newPassword := cmd.ui.AskForPassword(T("New Password"))
53 verifiedPassword := cmd.ui.AskForPassword(T("Verify Password"))
54
55 cmd.ui.Say(T("Changing password for user {{.Username}}...", map[string]interface{}{
56 "Username": cmd.config.Username(),
57 }))
58
59 if verifiedPassword != newPassword {
60 return errors.New(T("Password verification does not match"))
61 }
62
63 err := cmd.pwdRepo.UpdatePassword(oldPassword, newPassword)
64
65 switch typedErr := err.(type) {
66 case nil:
67 case errors.HTTPError:
68 if typedErr.StatusCode() == 401 {
69 return errors.New(T("Current password did not match"))
70 }
71 return err
72 default:
73 return err
74 }
75
76 cmd.ui.Ok()
77 cmd.config.ClearSession()
78 cmd.ui.Say(T("Please log in again"))
79 return nil
80}

Callers

nothing calls this directly

Calls 8

NewFunction · 0.92
AskForPasswordMethod · 0.65
SayMethod · 0.65
UsernameMethod · 0.65
UpdatePasswordMethod · 0.65
StatusCodeMethod · 0.65
OkMethod · 0.65
ClearSessionMethod · 0.65

Tested by

no test coverage detected