From 59df93fe0716d0057368e279a7d603d78c08ba81 Mon Sep 17 00:00:00 2001 From: Amolith Date: Sat, 20 Aug 2022 14:05:29 -0400 Subject: [PATCH] feat: write default config to disk Implements: https://todo.sr.ht/~amolith/public-tracker/8 --- config.go | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) 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 }