diff --git a/config.go b/config.go index 904d849b506e2e27f6d0b2f79a1db8cb43f479dd..33b941dd91b41dae59d486dad46bbd4da4c989fa 100644 --- a/config.go +++ b/config.go @@ -15,12 +15,29 @@ func (m *model) parseConfig(configFile *string) { configBytes, err := os.ReadFile(*configFile) if err != nil { log.Println("Config file not found, writing default values to", *flagConfig) - writeDefaultConfig() + err = writeDefaultConfig(*flagConfig) + if err != nil { + log.Fatal("Error creating default config:", err) + } os.Exit(0) } err = yaml.Unmarshal(configBytes, m) } -// TODO -func writeDefaultConfig() { +// writeDefaultConfig takes a config file path as its argument and writes the +// default config to that path +func writeDefaultConfig(configFile string) error { + file, err := os.Create(configFile) + if err != nil { + return err + } + defer file.Close() + + _, err = file.Write([]byte(`listen: 127.0.0.1:1313 +accessToken: CHANGEME +databasePath: badger_db`)) + if err != nil { + return err + } + return nil }