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  }