From c7355afa3db0a3c199241de1c1826166eea8ad41 Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Sat, 15 Mar 2025 20:42:44 +1000 Subject: [PATCH] refactor: move Confirm logic to common place from caddy deployment --- cmd/uncloud/caddy/deploy.go | 23 +---------------------- internal/cli/prompt.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 22 deletions(-) create mode 100644 internal/cli/prompt.go diff --git a/cmd/uncloud/caddy/deploy.go b/cmd/uncloud/caddy/deploy.go index dfa6baef..ed713cfd 100644 --- a/cmd/uncloud/caddy/deploy.go +++ b/cmd/uncloud/caddy/deploy.go @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "github.com/charmbracelet/huh" "github.com/docker/cli/cli/streams" "github.com/docker/compose/v2/pkg/progress" "github.com/spf13/cobra" @@ -144,7 +143,7 @@ func deploy(ctx context.Context, uncli *cli.CLI, opts deployOptions) error { fmt.Println(plan.Format(resolver)) fmt.Println() - confirmed, err := confirm() + confirmed, err := cli.Confirm() if err != nil { return fmt.Errorf("confirm deployment: %w", err) } @@ -214,26 +213,6 @@ func UpdateDomainRecords(ctx context.Context, clusterClient *client.Client, prog return nil } -func confirm() (bool, error) { - var confirmed bool - form := huh.NewForm( - huh.NewGroup( - huh.NewConfirm(). - Title( - "Do you want to continue?", - ). - Affirmative("Yes!"). - Negative("No"). - Value(&confirmed), - ), - ) - if err := form.Run(); err != nil { - return false, err - } - - return confirmed, nil -} - func machineFilter(machines []string) client.MachineFilter { if len(machines) == 0 { return nil diff --git a/internal/cli/prompt.go b/internal/cli/prompt.go new file mode 100644 index 00000000..2d039532 --- /dev/null +++ b/internal/cli/prompt.go @@ -0,0 +1,23 @@ +package cli + +import "github.com/charmbracelet/huh" + +func Confirm() (bool, error) { + var confirmed bool + form := huh.NewForm( + huh.NewGroup( + huh.NewConfirm(). + Title( + "Do you want to continue?", + ). + Affirmative("Yes!"). + Negative("No"). + Value(&confirmed), + ), + ) + if err := form.Run(); err != nil { + return false, err + } + + return confirmed, nil +}