Răsfoiți Sursa

Add a force option to the generate-config command

Gary Kramlich 3 ani în urmă
părinte
comite
f97da27731
1 a modificat fișierele cu 11 adăugiri și 0 ștergeri
  1. 11 0
      config/cmd.go

+ 11 - 0
config/cmd.go

@@ -1,15 +1,26 @@
 package config
 
 import (
+	"fmt"
+	"os"
+
 	"gitlab.com/beeper/discord/globals"
 )
 
 type Cmd struct {
 	HomeserverAddress string `kong:"arg,help='The url to for the homeserver',required='1'"`
 	Domain            string `kong:"arg,help='The domain for the homeserver',required='1'"`
+
+	Force bool `kong:"flag,help='Overwrite an existing configuration file if one already exists',short='f',default='0'"`
 }
 
 func (c *Cmd) Run(g *globals.Globals) error {
+	if _, err := os.Stat(g.Config); err == nil {
+		if c.Force == false {
+			return fmt.Errorf("file %q exists, use -f to overwrite", g.Config)
+		}
+	}
+
 	cfg := &Config{
 		Homeserver: homeserver{
 			Address: c.HomeserverAddress,