2025-07-06 17:59:18 +03:00
|
|
|
package config
|
|
|
|
|
|
|
|
|
|
type Config struct {
|
|
|
|
|
AppConf AppConfig
|
|
|
|
|
DBConf DatabaseConfig
|
2025-07-06 22:25:10 +03:00
|
|
|
JWTConf JWTConfig
|
2025-07-06 17:59:18 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-06 22:25:10 +03:00
|
|
|
type JWTConfig struct {
|
|
|
|
|
Secret string
|
|
|
|
|
Issuer string
|
|
|
|
|
AccessExpire string
|
|
|
|
|
RefreshExpire string
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-06 17:59:18 +03:00
|
|
|
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", ""),
|
|
|
|
|
},
|
2025-07-06 22:25:10 +03:00
|
|
|
|
|
|
|
|
JWTConf: JWTConfig{
|
|
|
|
|
Secret: getEnv("JWT_SECRET", ""),
|
|
|
|
|
Issuer: getEnv("JWT_ISSUER", ""),
|
|
|
|
|
AccessExpire: getEnv("JWT_ACCESS_EXPIRE", ""),
|
|
|
|
|
RefreshExpire: getEnv("JWT_REFRESH_EXPIRE", ""),
|
|
|
|
|
},
|
2025-07-06 17:59:18 +03:00
|
|
|
}
|
|
|
|
|
}
|