github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/actor/sharedaction/check_target.go (about)

     1  package sharedaction
     2  
     3  import "code.cloudfoundry.org/cli/actor/actionerror"
     4  
     5  // CheckTarget confirms that the user is logged in. Optionally it will also
     6  // check if an organization and space are targeted.
     7  func (actor Actor) CheckTarget(targetedOrganizationRequired bool, targetedSpaceRequired bool) error {
     8  	if !actor.IsLoggedIn() {
     9  		return actionerror.NotLoggedInError{
    10  			BinaryName: actor.Config.BinaryName(),
    11  		}
    12  	}
    13  
    14  	if targetedOrganizationRequired {
    15  		if !actor.IsOrgTargeted() {
    16  			return actionerror.NoOrganizationTargetedError{
    17  				BinaryName: actor.Config.BinaryName(),
    18  			}
    19  		}
    20  
    21  		if targetedSpaceRequired {
    22  			if !actor.IsSpaceTargeted() {
    23  				return actionerror.NoSpaceTargetedError{
    24  					BinaryName: actor.Config.BinaryName(),
    25  				}
    26  			}
    27  		}
    28  	}
    29  
    30  	return nil
    31  }
    32  
    33  func (actor Actor) RequireCurrentUser() (string, error) {
    34  	if !actor.IsLoggedIn() {
    35  		return "", actionerror.NotLoggedInError{
    36  			BinaryName: actor.Config.BinaryName(),
    37  		}
    38  	}
    39  
    40  	return actor.Config.CurrentUserName()
    41  }
    42  
    43  func (actor Actor) RequireTargetedOrg() (string, error) {
    44  	if !actor.IsOrgTargeted() {
    45  		return "", actionerror.NoOrganizationTargetedError{
    46  			BinaryName: actor.Config.BinaryName(),
    47  		}
    48  	}
    49  
    50  	return actor.Config.TargetedOrganizationName(), nil
    51  }