Add --yes flag to skip prompts
This commit is contained in:
parent
1dc26e2cb7
commit
427dd93d3b
20
install.go
20
install.go
|
@ -17,21 +17,23 @@ import (
|
|||
|
||||
// install runs the first time setup of creating and
|
||||
// migrating the database and creating the super user.
|
||||
func install(app *App, qMap goyesql.Queries) {
|
||||
func install(app *App, qMap goyesql.Queries, prompt bool) {
|
||||
fmt.Println("")
|
||||
fmt.Println("** First time installation **")
|
||||
fmt.Printf("** IMPORTANT: This will wipe existing listmonk tables and types in the DB '%s' **",
|
||||
ko.String("db.database"))
|
||||
fmt.Println("")
|
||||
|
||||
var ok string
|
||||
fmt.Print("Continue (y/n)? ")
|
||||
if _, err := fmt.Scanf("%s", &ok); err != nil {
|
||||
logger.Fatalf("Error reading value from terminal: %v", err)
|
||||
}
|
||||
if strings.ToLower(ok) != "y" {
|
||||
fmt.Println("Installation cancelled.")
|
||||
return
|
||||
if prompt {
|
||||
var ok string
|
||||
fmt.Print("Continue (y/n)? ")
|
||||
if _, err := fmt.Scanf("%s", &ok); err != nil {
|
||||
logger.Fatalf("Error reading value from terminal: %v", err)
|
||||
}
|
||||
if strings.ToLower(ok) != "y" {
|
||||
fmt.Println("Installation cancelled.")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Migrate the tables.
|
||||
|
|
3
main.go
3
main.go
|
@ -84,6 +84,7 @@ func init() {
|
|||
f.Bool("install", false, "Run first time installation")
|
||||
f.Bool("version", false, "Current version of the build")
|
||||
f.Bool("new-config", false, "Generate sample config file")
|
||||
f.Bool("yes", false, "Assume 'yes' to prompts, eg: during --install")
|
||||
|
||||
// Process flags.
|
||||
if err := f.Parse(os.Args[1:]); err != nil {
|
||||
|
@ -274,7 +275,7 @@ func main() {
|
|||
|
||||
// Run the first time installation.
|
||||
if ko.Bool("install") {
|
||||
install(app, qMap)
|
||||
install(app, qMap, !ko.Bool("yes"))
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue