ceremonyclient/client/utils/userInputUtils.go
Tyler Sturos 9cfbdef12c
Feat/2.1 qclient refactor and node install (#429)
* initial auto-update

* working link, update, and testing docker container and scripts

* refactor packages/folders

* move files to proper folders

* fix typos

Closes #421

* optimize rpm imports

* optimize channel imports

* Refactor split command to allow testing of split operations

Closes #338

* modify split and test for folder changes

* remove alias

* fix docker warning about FROM and AS being in different letter case

Closes #422

* QClient Account Command

* Display transaction details and confirmation prompts for transfer and merge commands

* build qclient docker improvements

* update build args for mpfr.so.6

* update install and node commands

* remove NodeConfig check for qclient node commands

* udpate

* working node commands

* update commands

* move utils and rename package

---------

Co-authored-by: Vasyl Tretiakov <vasyl.tretiakov@gmail.com>
Co-authored-by: littleblackcloud <163544315+littleblackcloud@users.noreply.github.com>
Co-authored-by: 0xOzgur <29779769+0xOzgur@users.noreply.github.com>
Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>
2025-04-11 21:43:20 -05:00

38 lines
876 B
Go

package utils
import (
"fmt"
"os"
"os/exec"
"strings"
)
// ConfirmSymlinkOverwrite asks the user to confirm overwriting an existing symlink
func ConfirmSymlinkOverwrite(path string) bool {
fmt.Printf("Symlink already exists at %s. Overwrite? [y/N]: ", path)
var response string
fmt.Scanln(&response)
return strings.ToLower(response) == "y"
}
// CheckAndRequestSudo checks if we have sudo privileges and requests them if needed
func CheckAndRequestSudo(reason string) error {
// Check if we're already root
if os.Geteuid() == 0 {
return nil
}
// Check if sudo is available
if _, err := exec.LookPath("sudo"); err != nil {
return fmt.Errorf("sudo is not available: %w", err)
}
// Request sudo privileges
cmd := exec.Command("sudo", "-v")
if err := cmd.Run(); err != nil {
return fmt.Errorf("failed to get sudo privileges: %w", err)
}
return nil
}