github.com/loafoe/cli@v7.1.0+incompatible/command/v7/unshare_private_domain_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type UnsharePrivateDomainCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.OrgDomain `positional-args:"yes"`
    11  	usage           interface{}    `usage:"CF_NAME unshare-private-domain ORG DOMAIN"`
    12  	relatedCommands interface{}    `related_commands:"delete-private-domain, domains"`
    13  }
    14  
    15  func (cmd UnsharePrivateDomainCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(false, false)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	user, err := cmd.Config.CurrentUser()
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	domain := cmd.RequiredArgs.Domain
    27  	orgName := cmd.RequiredArgs.Organization
    28  
    29  	cmd.UI.DisplayTextWithFlavor("Warning: org {{.Organization}} will no longer be able to access private domain {{.Domain}}",
    30  		map[string]interface{}{
    31  			"Domain":       domain,
    32  			"Organization": orgName,
    33  		})
    34  
    35  	response, err := cmd.UI.DisplayBoolPrompt(false,
    36  		"Really unshare private domain {{.Domain}}?",
    37  		map[string]interface{}{
    38  			"Domain": domain,
    39  		},
    40  	)
    41  
    42  	if err != nil {
    43  		return err
    44  	}
    45  
    46  	if !response {
    47  		cmd.UI.DisplayTextWithFlavor("Domain {{.Domain}} has not been unshared from organization {{.Organization}}",
    48  			map[string]interface{}{
    49  				"Domain":       domain,
    50  				"Organization": orgName,
    51  			})
    52  		return nil
    53  	}
    54  
    55  	cmd.UI.DisplayTextWithFlavor("Unsharing domain {{.Domain}} from org {{.Organization}} as {{.User}}...",
    56  		map[string]interface{}{
    57  			"Domain":       domain,
    58  			"User":         user.Name,
    59  			"Organization": orgName,
    60  		})
    61  
    62  	warnings, err := cmd.Actor.UnsharePrivateDomain(domain, orgName)
    63  	cmd.UI.DisplayWarnings(warnings)
    64  	if err != nil {
    65  		return err
    66  	}
    67  
    68  	cmd.UI.DisplayOK()
    69  
    70  	return nil
    71  }