diff options
-rw-r--r-- | cmd-projects.go | 10 | ||||
-rw-r--r-- | cmd-sdks.go | 10 | ||||
-rw-r--r-- | utils.go | 10 |
3 files changed, 30 insertions, 0 deletions
diff --git a/cmd-projects.go b/cmd-projects.go index 6e7241a..713e3f8 100644 --- a/cmd-projects.go +++ b/cmd-projects.go @@ -92,6 +92,10 @@ func initCmdProjects(cmdDef *[]cli.Command) { Usage: "project id", EnvVar: "XDS_PROJECT_ID", }, + cli.BoolFlag{ + Name: "force, f", + Usage: "remove confirmation prompt before removal", + }, }, }, { @@ -209,6 +213,12 @@ func projectsRemove(ctx *cli.Context) error { return cli.NewExitError("id parameter or option must be set", 1) } + if !ctx.Bool("force") { + if !Confirm("Do you permanently remove project id '" + id + "' [yes/No] ? ") { + return nil + } + } + if err := HTTPCli.Delete("/projects/"+id, &res); err != nil { return cli.NewExitError(err, 1) } diff --git a/cmd-sdks.go b/cmd-sdks.go index e140856..f34d8b1 100644 --- a/cmd-sdks.go +++ b/cmd-sdks.go @@ -102,6 +102,10 @@ func initCmdSdks(cmdDef *[]cli.Command) { Usage: "sdk id to un-install", EnvVar: "XDS_SDK_ID", }, + cli.BoolFlag{ + Name: "force, f", + Usage: "remove confirmation prompt before removal", + }, }, }, { @@ -289,6 +293,12 @@ func sdksUnInstall(ctx *cli.Context) error { return cli.NewExitError("id parameter or option must be set", 1) } + if !ctx.Bool("force") { + if !Confirm("Do you permanently remove SDK id '" + id + "' [yes/No] ? ") { + return nil + } + } + delSdk := xaapiv1.SDK{} url := XdsServerComputeURL("/sdks/" + id) if err := HTTPCli.Delete(url, &delSdk); err != nil { @@ -22,6 +22,7 @@ import ( "encoding/json" "fmt" "strconv" + "strings" "github.com/franciscocpg/reflectme" "github.com/iotbzh/xds-agent/lib/xaapiv1" @@ -115,3 +116,12 @@ func GetID(ctx *cli.Context) string { } return id } + +// Confirm Return true when user answer 'y' or 'yes' to a question +func Confirm(question string) bool { + var answer string + fmt.Print(question) + fmt.Scanln(&answer) + ans := strings.ToLower(strings.TrimSpace(answer)) + return (ans == "y" || ans == "yes") +} |