github.com/orange-cloudfoundry/cli@v7.1.0+incompatible/command/v7/base_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/sharedaction" 5 "code.cloudfoundry.org/cli/actor/v7action" 6 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3" 7 "code.cloudfoundry.org/cli/api/uaa" 8 "code.cloudfoundry.org/cli/command" 9 "code.cloudfoundry.org/cli/command/v7/shared" 10 "code.cloudfoundry.org/clock" 11 ) 12 13 type BaseCommand struct { 14 UI command.UI 15 Config command.Config 16 SharedActor command.SharedActor 17 Actor Actor 18 19 cloudControllerClient *ccv3.Client 20 uaaClient *uaa.Client 21 } 22 23 func (cmd *BaseCommand) Setup(config command.Config, ui command.UI) error { 24 cmd.UI = ui 25 cmd.Config = config 26 sharedActor := sharedaction.NewActor(config) 27 cmd.SharedActor = sharedActor 28 29 ccClient, uaaClient, routingClient, err := shared.GetNewClientsAndConnectToCF(config, ui, "") 30 if err != nil { 31 return err 32 } 33 cmd.cloudControllerClient = ccClient 34 cmd.uaaClient = uaaClient 35 36 cmd.Actor = v7action.NewActor(ccClient, config, sharedActor, uaaClient, routingClient, clock.NewClock()) 37 return nil 38 } 39 40 func (cmd *BaseCommand) GetClients() (*ccv3.Client, *uaa.Client) { 41 return cmd.cloudControllerClient, cmd.uaaClient 42 }