MCPcopy
hub / github.com/cloudfoundry/cli / Execute

Method Execute

cf/commands/space/delete_space.go:72–121  ·  view source on GitHub ↗
(c flags.FlagContext)

Source from the content-addressed store, hash-verified

70 return cmd
71}
72func (cmd *DeleteSpace) Execute(c flags.FlagContext) error {
73 var space models.Space
74
75 spaceName := c.Args()[0]
76 orgName := c.String("o")
77
78 if orgName == "" {
79 space = cmd.spaceReq.GetSpace()
80
81 orgName = cmd.config.OrganizationFields().Name
82 } else {
83 org, err := cmd.orgRepo.FindByName(orgName)
84 if err != nil {
85 return err
86 }
87
88 space, err = cmd.spaceRepo.FindByNameInOrg(spaceName, org.GUID)
89 if err != nil {
90 return err
91 }
92 }
93
94 if !c.Bool("f") {
95 if !cmd.ui.ConfirmDelete(T("space"), spaceName) {
96 return nil
97 }
98 }
99
100 cmd.ui.Say(T("Deleting space {{.TargetSpace}} in org {{.TargetOrg}} as {{.CurrentUser}}...",
101 map[string]interface{}{
102 "TargetSpace": terminal.EntityNameColor(spaceName),
103 "TargetOrg": terminal.EntityNameColor(orgName),
104 "CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
105 }))
106
107 err := cmd.spaceRepo.Delete(space.GUID)
108 if err != nil {
109 return err
110 }
111
112 cmd.ui.Ok()
113
114 if cmd.config.SpaceFields().GUID == space.GUID {
115 cmd.config.SetSpaceFields(models.SpaceFields{})
116 cmd.ui.Say(T("TIP: No space targeted, use '{{.CfTargetCommand}}' to target a space.",
117 map[string]interface{}{"CfTargetCommand": cf.Name + " target -s"}))
118 }
119
120 return nil
121}

Callers

nothing calls this directly

Calls 15

EntityNameColorFunction · 0.92
ArgsMethod · 0.65
StringMethod · 0.65
GetSpaceMethod · 0.65
OrganizationFieldsMethod · 0.65
FindByNameMethod · 0.65
FindByNameInOrgMethod · 0.65
BoolMethod · 0.65
ConfirmDeleteMethod · 0.65
SayMethod · 0.65
UsernameMethod · 0.65
DeleteMethod · 0.65

Tested by

no test coverage detected