Change summary
config.go | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
Detailed changes
@@ -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
}