50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package app
|
|
|
|
import (
|
|
"flag"
|
|
"github.com/joho/godotenv"
|
|
"log"
|
|
"moretcgshop/app/controllers"
|
|
"os"
|
|
)
|
|
|
|
func getEnv(key, fallback string) string {
|
|
if value, ok := os.LookupEnv(key); ok {
|
|
return value
|
|
}
|
|
return fallback
|
|
}
|
|
|
|
func Run() {
|
|
var server = controllers.Server{}
|
|
var appConfig = controllers.AppConfig{}
|
|
var dbConfig = controllers.DBConfig{}
|
|
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
log.Fatalf("Fehler beim laden vom .env datei")
|
|
}
|
|
|
|
appConfig.AppName = getEnv("APP_NAME", "More-Tcg Shop")
|
|
appConfig.AppEnv = getEnv("APP_ENV", "development")
|
|
appConfig.AppPort = getEnv("APP_PORT", "9000")
|
|
appConfig.AppURL = getEnv("APP_URL", "http://localhost:9000")
|
|
|
|
dbConfig.DBHost = getEnv("DB_HOST", "localhost")
|
|
dbConfig.DBUser = getEnv("DB_USER", "user")
|
|
dbConfig.DBPassword = getEnv("DB_PASSWORD", "password")
|
|
dbConfig.DBName = getEnv("DB_NAME", "dbname")
|
|
dbConfig.DBPort = getEnv("DB_PORT", "5432")
|
|
dbConfig.DBDriver = getEnv("DB_DRIVER", "postgres")
|
|
|
|
flag.Parse()
|
|
arg := flag.Arg(0)
|
|
|
|
if arg != "" {
|
|
server.InitCommands(appConfig, dbConfig)
|
|
} else {
|
|
server.Initialize(appConfig, dbConfig)
|
|
server.Run(":" + appConfig.AppPort)
|
|
}
|
|
}
|