Добавлены недостающие файлы

This commit is contained in:
Ганеев Артем
2025-11-22 15:27:23 +03:00
parent 83910be95d
commit 19e61e5ed9
5 changed files with 13 additions and 60 deletions

View File

@@ -21,7 +21,7 @@ type ServerConfig struct {
type DatabaseConfig struct {
Username string `yaml:"username" json:"username"`
Password string // Из переменной окружения, не из YAML
Password string
Host string `yaml:"host" json:"host"`
Port string `yaml:"port" json:"port"`
Sslmode string `yaml:"sslmode" json:"sslmode"`
@@ -29,12 +29,12 @@ type DatabaseConfig struct {
}
func LoadConfig(absolutePath string) (*Config, error) {
// Загружаем .env файл (игнорируем ошибку, если файла нет)
_ = godotenv.Load()
config := &Config{}
// Читаем базовую конфигурацию из YAML (без секретов)
file, err := os.Open(absolutePath)
if err != nil {
return nil, err
@@ -56,28 +56,28 @@ func LoadConfig(absolutePath string) (*Config, error) {
// loadFromEnv загружает секретные данные из переменных окружения
func loadFromEnv(config *Config) error {
// Пароль БД (обязательный)
dbPassword := os.Getenv("DB_PASSWORD")
if dbPassword == "" {
return fmt.Errorf("DB_PASSWORD environment variable is required")
}
config.DB.Password = dbPassword
// Access Token Secret (обязательный)
accessTokenSecret := os.Getenv("ACCESS_TOKEN_SECRET")
if accessTokenSecret == "" {
return fmt.Errorf("ACCESS_TOKEN_SECRET environment variable is required")
}
config.Token.AccessToken.SecretWord = accessTokenSecret
// Refresh Token Secret (обязательный)
refreshTokenSecret := os.Getenv("REFRESH_TOKEN_SECRET")
if refreshTokenSecret == "" {
return fmt.Errorf("REFRESH_TOKEN_SECRET environment variable is required")
}
config.Token.RefreshToken.SecretWord = refreshTokenSecret
// Опциональные переопределения (если заданы в env)
if accessTTL := os.Getenv("ACCESS_TOKEN_TTL_MINUTES"); accessTTL != "" {
ttl, err := strconv.Atoi(accessTTL)
if err != nil {