add enviroment variable for golang beckend close #6
This commit is contained in:
59
backend/env/env.go
vendored
Normal file
59
backend/env/env.go
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
package env
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
type EnvKey string
|
||||
|
||||
const (
|
||||
Env EnvKey = "ENV"
|
||||
GinMode EnvKey = "GIN_MODE"
|
||||
Debug EnvKey = "DEBUG"
|
||||
PrivKey EnvKey = "PRIVKEY"
|
||||
Fullchain EnvKey = "FULLCHAIN"
|
||||
Https EnvKey = "HTTPS"
|
||||
Url EnvKey = "URL"
|
||||
Port EnvKey = "PORT"
|
||||
WorkingDir EnvKey = "WORKING_DIR"
|
||||
Spa EnvKey = "SPA"
|
||||
AccessSecret EnvKey = "ACCESS_SECRET"
|
||||
RefreshSecret EnvKey = "REFRESH_SECRET"
|
||||
)
|
||||
|
||||
const (
|
||||
EnvDevelopment = "development"
|
||||
EnvProduction = "Prodction"
|
||||
)
|
||||
|
||||
func (key EnvKey) GetValue() string {
|
||||
return os.Getenv(string(key))
|
||||
}
|
||||
|
||||
func (key EnvKey) GetBoolValue() bool {
|
||||
return strings.ToLower(os.Getenv(string(key))) == "true"
|
||||
}
|
||||
|
||||
func (key EnvKey) GetUIntValue() uint {
|
||||
value, err := strconv.ParseUint(os.Getenv(string(key)), 10, 32)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
return uint(value)
|
||||
}
|
||||
|
||||
func Load(file string) error {
|
||||
return godotenv.Load(file)
|
||||
}
|
||||
|
||||
func InDevelopmentMode() bool {
|
||||
return Env.GetValue() == EnvDevelopment
|
||||
}
|
||||
|
||||
func InDebugMode() bool {
|
||||
return strings.ToLower(Debug.GetValue()) == "true"
|
||||
}
|
||||
Reference in New Issue
Block a user