@@ -31,14 +31,38 @@ var deleteCmd = &cobra.Command{
31
31
log .Fatalf ("Missing app ID: %s" , err )
32
32
}
33
33
34
+ ctx := cmd .Context ()
35
+ projects , err := config_client .GetProject (ctx , & configv1.GetProjectRequest {})
36
+ if err != nil {
37
+ log .Fatalf ("Getting projects failed: %s" , err )
38
+ }
39
+ project := projects .Project [0 ]
40
+ apps , err := config_client .ListApps (ctx , & configv1.ListAppsRequest {Project : project })
41
+ if err != nil {
42
+ log .Fatalf ("Getting apps for project %s failed: %s" , project , err )
43
+ }
44
+
45
+ if appList := apps .GetApps (); len (appList ) > 0 {
46
+ if ! appIdInAppList (id , appList ) {
47
+ cmd .Printf ("App id '%s' does not exist. Your project has apps: \n " , id )
48
+ if err := printApps (cmd .OutOrStdout (), appList ... ); err != nil {
49
+ log .Fatalf ("Error listing app: %s" , err )
50
+ }
51
+ return
52
+ }
53
+ } else {
54
+ cmd .Println ("No applications found." )
55
+ return
56
+ }
57
+
34
58
if ! force && ! confirm (fmt .Sprintf ("Deleting app %s, are you sure?" , id ), cmd .OutOrStdout (), cmd .InOrStdin ()) {
35
59
cmd .Println ("Deletion aborted." )
36
60
return
37
61
}
38
62
39
63
if ! dry {
40
64
if _ , err := config_client .DeleteApp (
41
- cmd . Context () ,
65
+ ctx ,
42
66
& configv1.DeleteAppRequest {
43
67
AppId : id ,
44
68
},
@@ -82,3 +106,12 @@ func confirm(prompt string, dst io.Writer, src io.Reader) bool {
82
106
}
83
107
}
84
108
}
109
+
110
+ func appIdInAppList (appId string , apps []* configv1.App ) bool {
111
+ for _ , app := range apps {
112
+ if app .GetId () == appId {
113
+ return true
114
+ }
115
+ }
116
+ return false
117
+ }
0 commit comments