From bc5af92c2741f4ae9741c27b0da8ba0f5b79d2af Mon Sep 17 00:00:00 2001 From: netbenix Date: Thu, 23 Dec 2021 09:44:57 +0100 Subject: [PATCH] feat(Config): Generate config if non-existent --- Tools/Config.go | 33 ++++++++++++++++++++++++++++++++- main.go | 1 + 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Tools/Config.go b/Tools/Config.go index 49642d2..0f07684 100644 --- a/Tools/Config.go +++ b/Tools/Config.go @@ -36,9 +36,40 @@ func readConfig() []byte { return file } +func CheckIfConfigExists(){ + logger := Logging.DetailedLogger("ConfigHandler", "CheckIfConfigExists") + + if _, err := os.Stat("config/config.json"); os.IsNotExist(err){ + _, fileErr := os.OpenFile("config/config.json", os.O_CREATE, 0775) + if fileErr != nil{ + logger.Fatal(fileErr) + } + generateDefaultConfig() + } +} + +func generateDefaultConfig() { + logger := Logging.DetailedLogger("ConfigHandler", "GenerateDefaultConfig") + + var config Config + var conf []byte + + conf, err := json.MarshalIndent(config, "", "\t") + //conf, err := json.Marshal(config) + if err != nil { + logger.Fatal(err) + } + + err = os.WriteFile("config/config.json", conf, 0755) + if err != nil { + logger.Fatal(err) + } + +} func GetConfig() Config { - logger := Logging.DetailedLogger("ConfigHandler", "GetConfig()") + + logger := Logging.DetailedLogger("ConfigHandler", "GetConfig") var config Config err := json.Unmarshal(readConfig(), &config) diff --git a/main.go b/main.go index 0d7157e..27e63b3 100644 --- a/main.go +++ b/main.go @@ -12,6 +12,7 @@ import ( ) func main(){ + Tools.CheckIfConfigExists() config := Tools.GetConfig() SQL.CreateDefaultTables(SQL.GetSQLInstance())