From 2bf38473893b4fcd86ce7c97c04846237bb8cce4 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sun, 25 Jan 2026 16:32:21 +0100 Subject: feat(config): create file if not found at path --- .gitignore | 2 +- common/config.go | 12 ++++++++++-- main.go | 4 ++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 75c893b..de745c8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,7 @@ go.work* .idea .env tmp -config/**.toml +*.toml data docker-compose.yml diff --git a/common/config.go b/common/config.go index 07cff8d..8cb74ab 100644 --- a/common/config.go +++ b/common/config.go @@ -56,9 +56,17 @@ func (c *Config) SetDefaultValues() { func LoadConfig(path string) (*Config, error) { b, err := os.ReadFile(path) + var cfg Config if err != nil { - return nil, err + if !os.IsNotExist(err) { + return nil, err + } + cfg.SetDefaultValues() + b, err := toml.Marshal(cfg) + if err != nil { + return nil, err + } + return nil, os.WriteFile(path, b, 0600) } - var cfg Config return &cfg, toml.Unmarshal(b, &cfg) } diff --git a/main.go b/main.go index 4428edb..8f76d80 100644 --- a/main.go +++ b/main.go @@ -77,6 +77,10 @@ func main() { if err != nil { panic(err) } + if cfg == nil { + println("config initialized") + return + } db, err := cfg.Database.Connect() if err != nil { -- cgit v1.2.3