forked from grassrootseconomics/visedriver
Fix missing err in config
This commit is contained in:
parent
ec4ad6e44b
commit
dcf777bf08
59
config/config.go
Normal file
59
config/config.go
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"git.grassecon.net/grassrootseconomics/visedriver/env"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
defaultLanguage = "eng"
|
||||||
|
languages []string
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
DbConn string
|
||||||
|
DefaultLanguage string
|
||||||
|
Languages []string
|
||||||
|
)
|
||||||
|
|
||||||
|
func setLanguage() error {
|
||||||
|
defaultLanguage = env.GetEnv("DEFAULT_LANGUAGE", defaultLanguage)
|
||||||
|
languages = strings.Split(env.GetEnv("LANGUAGES", defaultLanguage), ",")
|
||||||
|
haveDefaultLanguage := false
|
||||||
|
for i, v := range(languages) {
|
||||||
|
languages[i] = strings.ReplaceAll(v, " ", "")
|
||||||
|
if languages[i] == defaultLanguage {
|
||||||
|
haveDefaultLanguage = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !haveDefaultLanguage {
|
||||||
|
languages = append([]string{defaultLanguage}, languages...)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func setConn() error {
|
||||||
|
DbConn = env.GetEnv("DB_CONN", "")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadConfig initializes the configuration values after environment variables are loaded.
|
||||||
|
func LoadConfig() error {
|
||||||
|
err := setConn()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = setLanguage()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
DefaultLanguage = defaultLanguage
|
||||||
|
Languages = languages
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
40
env/load.go
vendored
Normal file
40
env/load.go
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package env
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/joho/godotenv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func LoadEnvVariables() {
|
||||||
|
LoadEnvVariablesPath(".")
|
||||||
|
}
|
||||||
|
|
||||||
|
func LoadEnvVariablesPath(dir string) {
|
||||||
|
fp := path.Join(dir, ".env")
|
||||||
|
err := godotenv.Load(fp)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error loading .env file", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper to get environment variables with a default fallback
|
||||||
|
func GetEnv(key, defaultVal string) string {
|
||||||
|
if value, exists := os.LookupEnv(key); exists {
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
return defaultVal
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper to safely convert environment variables to uint
|
||||||
|
func GetEnvUint(key string, defaultVal uint) uint {
|
||||||
|
if value, exists := os.LookupEnv(key); exists {
|
||||||
|
if parsed, err := strconv.Atoi(value); err == nil && parsed >= 0 {
|
||||||
|
return uint(parsed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return defaultVal
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user