config.go 789 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package config
  2. import (
  3. "log"
  4. "os"
  5. "github.com/joho/godotenv"
  6. )
  7. type Config struct {
  8. ServerPort string
  9. DBDriver string
  10. DBPath string
  11. HMACSecret string
  12. }
  13. func Load() Config {
  14. if err := godotenv.Load(); err != nil {
  15. log.Println("ERRO: .env not found.")
  16. }
  17. cfg := Config{
  18. ServerPort: os.Getenv("SERVER_PORT"),
  19. DBDriver: os.Getenv("DB_DRIVER"),
  20. DBPath: os.Getenv("DB_PATH"),
  21. HMACSecret: os.Getenv("HMAC_SECRET"),
  22. }
  23. if cfg.ServerPort == "" {
  24. log.Fatal("ERRO: SERVER_PORT not found.")
  25. }
  26. if cfg.DBDriver == "" {
  27. log.Fatal("ERRO: DB_DRIVER not found.")
  28. }
  29. if cfg.DBPath == "" {
  30. log.Fatal("ERRO: DB_PATH not found.")
  31. }
  32. if cfg.HMACSecret == "" {
  33. log.Fatal("ERRO: HMAC_SECRET not found.")
  34. }
  35. return cfg
  36. }