github.com/ablease/cli@v6.37.1-0.20180613014814-3adbb7d7fb19+incompatible/command/v2/oauth_token_command.go (about) 1 package v2 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/sharedaction" 5 "code.cloudfoundry.org/cli/actor/v2action" 6 "code.cloudfoundry.org/cli/command" 7 "code.cloudfoundry.org/cli/command/v2/shared" 8 ) 9 10 //go:generate counterfeiter . OauthTokenActor 11 12 type OauthTokenActor interface { 13 RefreshAccessToken(refreshToken string) (string, error) 14 } 15 16 type OauthTokenCommand struct { 17 usage interface{} `usage:"CF_NAME oauth-token"` 18 relatedCommands interface{} `related_commands:"curl"` 19 20 UI command.UI 21 Config command.Config 22 SharedActor command.SharedActor 23 Actor OauthTokenActor 24 } 25 26 func (cmd *OauthTokenCommand) Setup(config command.Config, ui command.UI) error { 27 cmd.UI = ui 28 cmd.Config = config 29 cmd.SharedActor = sharedaction.NewActor(config) 30 31 ccClient, uaaClient, err := shared.NewClients(config, ui, true) 32 if err != nil { 33 return err 34 } 35 cmd.Actor = v2action.NewActor(ccClient, uaaClient, config) 36 37 return nil 38 } 39 40 func (cmd OauthTokenCommand) Execute(_ []string) error { 41 err := cmd.SharedActor.CheckTarget(false, false) 42 if err != nil { 43 return err 44 } 45 46 accessToken, err := cmd.Actor.RefreshAccessToken(cmd.Config.RefreshToken()) 47 if err != nil { 48 return err 49 } 50 51 cmd.UI.DisplayText(accessToken) 52 return nil 53 }