package config type Config struct { AppConf AppConfig DBConf DatabaseConfig JWTConf JWTConfig } type AppConfig struct { Host string Port string LogLvl string ApiPrefix string GinMode string } type DatabaseConfig struct { Host string Port string User string Password string SSLMode string DBName string LogLevel string } type JWTConfig struct { Secret string Issuer string AccessExpire string RefreshExpire string } func NewConfig() *Config { return &Config{ AppConf: AppConfig{ Host: getEnv("APP_HOST", ""), Port: getEnv("APP_PORT", ""), LogLvl: getEnv("APP_LOGLVL", ""), ApiPrefix: getEnv("APP_API_PREFIX", ""), GinMode: getEnv("APP_GIN_MODE", ""), }, DBConf: DatabaseConfig{ Host: getEnv("DB_HOST", ""), Port: getEnv("DB_PORT", ""), User: getEnv("DB_USER", ""), Password: getEnv("DB_PASSWORD", ""), SSLMode: getEnv("DB_SSLMODE", ""), DBName: getEnv("DB_NAME", ""), LogLevel: getEnv("DB_LOGLEVEL", ""), }, JWTConf: JWTConfig{ Secret: getEnv("JWT_SECRET", ""), Issuer: getEnv("JWT_ISSUER", ""), AccessExpire: getEnv("JWT_ACCESS_EXPIRE", ""), RefreshExpire: getEnv("JWT_REFRESH_EXPIRE", ""), }, } }