From 91e5f6b27ce7e1a5b98cb7e5015009d9f553eac4 Mon Sep 17 00:00:00 2001 From: moritz Date: Wed, 7 May 2025 15:34:51 +0200 Subject: [PATCH] =?UTF-8?q?utils.go=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils.go | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 utils.go diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..38ef3fd --- /dev/null +++ b/utils.go @@ -0,0 +1,46 @@ +package main + +import ( + "fmt" + "os" + + "github.com/joho/godotenv" + "gopkg.in/yaml.v3" +) + +func LoadEnv() { + if err := godotenv.Load(); err != nil { + fmt.Println("Warnung: .env Datei konnte nicht geladen werden.") + } +} + +func LoadYAML() ([]Rewrite, error) { + file := os.Getenv("YAML_FILE") + f, err := os.Open(file) + if err != nil { + return nil, err + } + defer f.Close() + + var data struct { + Rewrites []Rewrite `yaml:"rewrites"` + } + err = yaml.NewDecoder(f).Decode(&data) + return data.Rewrites, err +} + +func SaveYAML(rewrites []Rewrite) error { + file := os.Getenv("YAML_FILE") + f, err := os.Create(file) + if err != nil { + return err + } + defer f.Close() + + data := map[string][]Rewrite{ + "rewrites": rewrites, + } + enc := yaml.NewEncoder(f) + enc.SetIndent(2) + return enc.Encode(data) +}