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

Method Execute

cf/commands/application/delete.go:68–118  ·  view source on GitHub ↗
(c flags.FlagContext)

Source from the content-addressed store, hash-verified

66}
67
68func (cmd *DeleteApp) Execute(c flags.FlagContext) error {
69 appName := c.Args()[0]
70
71 if !c.Bool("f") {
72 response := cmd.ui.ConfirmDelete(T("app"), appName)
73 if !response {
74 return nil
75 }
76 }
77
78 cmd.ui.Say(T("Deleting app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...",
79 map[string]interface{}{
80 "AppName": terminal.EntityNameColor(appName),
81 "OrgName": terminal.EntityNameColor(cmd.config.OrganizationFields().Name),
82 "SpaceName": terminal.EntityNameColor(cmd.config.SpaceFields().Name),
83 "Username": terminal.EntityNameColor(cmd.config.Username())}))
84
85 app, err := cmd.appRepo.Read(appName)
86
87 switch err.(type) {
88 case nil: // no error
89 case *errors.ModelNotFoundError:
90 cmd.ui.Ok()
91 cmd.ui.Warn(T("App {{.AppName}} does not exist.", map[string]interface{}{"AppName": appName}))
92 return nil
93 default:
94 return err
95 }
96
97 if c.Bool("r") {
98 routes, err := cmd.appRepo.GetAppRoutes(app.GUID)
99 if err != nil {
100 return err
101 }
102
103 for _, route := range routes {
104 err = cmd.routeRepo.Delete(route.GUID)
105 if err != nil {
106 return err
107 }
108 }
109 }
110
111 err = cmd.appRepo.Delete(app.GUID)
112 if err != nil {
113 return err
114 }
115
116 cmd.ui.Ok()
117 return nil
118}

Callers

nothing calls this directly

Calls 13

EntityNameColorFunction · 0.92
ArgsMethod · 0.65
BoolMethod · 0.65
ConfirmDeleteMethod · 0.65
SayMethod · 0.65
OrganizationFieldsMethod · 0.65
SpaceFieldsMethod · 0.65
UsernameMethod · 0.65
ReadMethod · 0.65
OkMethod · 0.65
WarnMethod · 0.65
GetAppRoutesMethod · 0.65

Tested by

no test coverage detected