mirror of
https://gitlab.com/foxixus/neomovies-api.git
synced 2025-10-27 17:38:51 +05:00
Rewrite api to Go
This commit is contained in:
62
pkg/config/config.go
Normal file
62
pkg/config/config.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
MongoURI string
|
||||
TMDBAccessToken string
|
||||
JWTSecret string
|
||||
Port string
|
||||
BaseURL string
|
||||
NodeEnv string
|
||||
GmailUser string
|
||||
GmailPassword string
|
||||
LumexURL string
|
||||
AllohaToken string
|
||||
}
|
||||
|
||||
func New() *Config {
|
||||
// Добавляем отладочное логирование для Vercel
|
||||
mongoURI := getMongoURI()
|
||||
log.Printf("DEBUG: MongoDB URI configured (length: %d)", len(mongoURI))
|
||||
|
||||
return &Config{
|
||||
MongoURI: mongoURI,
|
||||
TMDBAccessToken: getEnv("TMDB_ACCESS_TOKEN", ""),
|
||||
JWTSecret: getEnv("JWT_SECRET", "your-secret-key"),
|
||||
Port: getEnv("PORT", "3000"),
|
||||
BaseURL: getEnv("BASE_URL", "http://localhost:3000"),
|
||||
NodeEnv: getEnv("NODE_ENV", "development"),
|
||||
GmailUser: getEnv("GMAIL_USER", ""),
|
||||
GmailPassword: getEnv("GMAIL_APP_PASSWORD", ""),
|
||||
LumexURL: getEnv("LUMEX_URL", ""),
|
||||
AllohaToken: getEnv("ALLOHA_TOKEN", ""),
|
||||
}
|
||||
}
|
||||
|
||||
// getMongoURI проверяет различные варианты названий переменных для MongoDB URI
|
||||
func getMongoURI() string {
|
||||
// Проверяем различные возможные названия переменных
|
||||
envVars := []string{"MONGO_URI", "MONGODB_URI", "DATABASE_URL", "MONGO_URL"}
|
||||
|
||||
for _, envVar := range envVars {
|
||||
if value := os.Getenv(envVar); value != "" {
|
||||
log.Printf("DEBUG: Using %s for MongoDB connection", envVar)
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
// Если ни одна переменная не найдена, возвращаем пустую строку
|
||||
log.Printf("DEBUG: No MongoDB URI environment variable found")
|
||||
return ""
|
||||
}
|
||||
|
||||
func getEnv(key, defaultValue string) string {
|
||||
if value := os.Getenv(key); value != "" {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
Reference in New Issue
Block a user