From 42bb6f8bad701cc6bbfd49b81268ba23b8a4724c Mon Sep 17 00:00:00 2001 From: Asaf Gartner Date: Wed, 24 Apr 2024 01:26:31 +0300 Subject: [PATCH] Added config validation --- main.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/main.go b/main.go index eb5ffc8..f21393b 100644 --- a/main.go +++ b/main.go @@ -404,6 +404,14 @@ func sendMail(cfg *Config, recipients []string, subject, html string) ([]Postmar return results, nil } +func ComplainEmpty(val string, complaint string) bool { + if val == "" { + fmt.Println(complaint) + return false + } + return true +} + func main() { /* Read in credentials into Config struct */ /* *** */ @@ -422,6 +430,31 @@ func main() { os.Exit(1) } + if config.BatchSize == 0 { + config.BatchSize = 500 + } + + validConfig := true + + validConfig = ComplainEmpty(config.TestEmail, "* Test email address is missing in config") && validConfig + validConfig = ComplainEmpty(config.HMC.ApiUrl, "* HMC API url is missing in config") && validConfig + validConfig = ComplainEmpty(config.HMC.SharedSecret, "* HMC Shared secret is missing in config") && validConfig + validConfig = ComplainEmpty(config.HMC.City, "* HMC City is missing in config") && validConfig + validConfig = ComplainEmpty(config.Postmark.ServerToken, "* Postmark server token is missing in config") && validConfig + validConfig = ComplainEmpty(config.Postmark.ApiUrl, "* Postmark API url is missing in config") && validConfig + if config.Postmark.TemplateId == 0 { + fmt.Println("* Postmark template ID is missing in config") + validConfig = false + } + validConfig = ComplainEmpty(config.Postmark.SenderName, "* Sender name is missing in config") && validConfig + validConfig = ComplainEmpty(config.Postmark.SenderEmail, "* Sender email is missing in config") && validConfig + validConfig = ComplainEmpty(config.Postmark.MessageStream, "* Postmark message stream is missing in config") && validConfig + + if !validConfig { + fmt.Println("Please fix your config and try again") + os.Exit(1) + } + /* Setup Cobra */ /* *** */ cmd := &cobra.Command{