2021-07-12 18:22:16 +00:00
|
|
|
package constants
|
|
|
|
|
|
|
|
import (
|
|
|
|
"log"
|
|
|
|
"os"
|
2021-07-17 16:29:50 +00:00
|
|
|
"strings"
|
2021-07-12 18:22:16 +00:00
|
|
|
|
|
|
|
"github.com/joho/godotenv"
|
|
|
|
"github.com/yauthdev/yauth/server/enum"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
2021-07-18 04:07:08 +00:00
|
|
|
YAUTH_ADMIN_SECRET = ""
|
2021-07-17 23:18:42 +00:00
|
|
|
ENV = ""
|
|
|
|
DB_TYPE = ""
|
|
|
|
DB_URL = ""
|
|
|
|
SMTP_HOST = ""
|
|
|
|
SMTP_PORT = ""
|
|
|
|
SENDER_EMAIL = ""
|
|
|
|
SENDER_PASSWORD = ""
|
|
|
|
JWT_TYPE = ""
|
|
|
|
JWT_SECRET = ""
|
|
|
|
FRONTEND_URL = ""
|
|
|
|
SERVER_URL = ""
|
|
|
|
PORT = "8080"
|
|
|
|
REDIS_URL = ""
|
|
|
|
IS_PROD = false
|
|
|
|
COOKIE_NAME = ""
|
|
|
|
GOOGLE_CLIENT_ID = ""
|
|
|
|
GOOGLE_CLIENT_SECRET = ""
|
|
|
|
GITHUB_CLIENT_ID = ""
|
|
|
|
GITHUB_CLIENT_SECRET = ""
|
|
|
|
// FACEBOOK_CLIENT_ID = ""
|
|
|
|
// FACEBOOK_CLIENT_SECRET = ""
|
2021-07-12 18:22:16 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
err := godotenv.Load()
|
|
|
|
if err != nil {
|
|
|
|
log.Println("Error loading .env file")
|
|
|
|
}
|
2021-07-18 04:07:08 +00:00
|
|
|
YAUTH_ADMIN_SECRET = os.Getenv("YAUTH_ADMIN_SECRET")
|
2021-07-14 18:43:19 +00:00
|
|
|
ENV = os.Getenv("ENV")
|
|
|
|
DB_TYPE = os.Getenv("DB_TYPE")
|
|
|
|
DB_URL = os.Getenv("DB_URL")
|
2021-07-12 18:22:16 +00:00
|
|
|
SMTP_HOST = os.Getenv("SMTP_HOST")
|
|
|
|
SMTP_PORT = os.Getenv("SMTP_PORT")
|
|
|
|
SENDER_EMAIL = os.Getenv("SENDER_EMAIL")
|
|
|
|
SENDER_PASSWORD = os.Getenv("SENDER_PASSWORD")
|
|
|
|
JWT_SECRET = os.Getenv("JWT_SECRET")
|
|
|
|
JWT_TYPE = os.Getenv("JWT_TYPE")
|
2021-07-17 16:29:50 +00:00
|
|
|
FRONTEND_URL = strings.TrimSuffix(os.Getenv("FRONTEND_URL"), "/")
|
|
|
|
SERVER_URL = strings.TrimSuffix(os.Getenv("SERVER_URL"), "/")
|
2021-07-14 18:43:19 +00:00
|
|
|
PORT = os.Getenv("PORT")
|
|
|
|
REDIS_URL = os.Getenv("REDIS_URL")
|
|
|
|
COOKIE_NAME = os.Getenv("COOKIE_NAME")
|
2021-07-17 16:29:50 +00:00
|
|
|
GOOGLE_CLIENT_ID = os.Getenv("GOOGLE_CLIENT_ID")
|
|
|
|
GOOGLE_CLIENT_SECRET = os.Getenv("GOOGLE_CLIENT_SECRET")
|
|
|
|
GITHUB_CLIENT_ID = os.Getenv("GITHUB_CLIENT_ID")
|
|
|
|
GITHUB_CLIENT_SECRET = os.Getenv("GITHUB_CLIENT_SECRET")
|
2021-07-17 23:18:42 +00:00
|
|
|
// FACEBOOK_CLIENT_ID = os.Getenv("FACEBOOK_CLIENT_ID")
|
|
|
|
// FACEBOOK_CLIENT_SECRET = os.Getenv("FACEBOOK_CLIENT_SECRET")
|
2021-07-14 18:43:19 +00:00
|
|
|
|
2021-07-18 04:07:08 +00:00
|
|
|
if YAUTH_ADMIN_SECRET == "" {
|
|
|
|
panic("Yauth admin secret is required")
|
|
|
|
}
|
|
|
|
|
2021-07-14 18:43:19 +00:00
|
|
|
if ENV == "" {
|
|
|
|
ENV = "production"
|
|
|
|
}
|
|
|
|
|
|
|
|
if ENV == "production" {
|
|
|
|
IS_PROD = true
|
|
|
|
} else {
|
|
|
|
IS_PROD = false
|
|
|
|
}
|
|
|
|
|
|
|
|
if DB_TYPE == "" {
|
|
|
|
DB_TYPE = enum.Postgres.String()
|
|
|
|
}
|
|
|
|
|
|
|
|
if DB_URL == "" {
|
|
|
|
DB_TYPE = "postgresql://localhost:5432/postgres"
|
|
|
|
}
|
|
|
|
|
|
|
|
if JWT_TYPE == "" {
|
|
|
|
JWT_TYPE = "HS256"
|
|
|
|
}
|
|
|
|
|
|
|
|
if COOKIE_NAME == "" {
|
|
|
|
COOKIE_NAME = "yauth"
|
|
|
|
}
|
2021-07-17 16:29:50 +00:00
|
|
|
|
|
|
|
if SERVER_URL == "" {
|
|
|
|
SERVER_URL = "http://localhost:8080"
|
|
|
|
}
|
2021-07-12 18:22:16 +00:00
|
|
|
}
|