package main import ( "log" "net/http" "go-rest-api/internal/config" "go-rest-api/internal/routes" "go-rest-api/pkg/database" ) func main() { // Load configuration cfg := config.Load() log.Printf("Connecting to database with DSN: %s", maskPassword(cfg.DatabaseURL)) // Initialize database db, err := database.InitDB(cfg.DatabaseURL) if err != nil { log.Fatal("Failed to connect to database:", err) } // Initialize router router := routes.SetupRouter(db) log.Printf("Server starting on port %s", cfg.Port) log.Fatal(http.ListenAndServe(":"+cfg.Port, router)) } // maskPassword скрывает пароль в логах func maskPassword(dsn string) string { // Простая маскировка пароля в DSN для безопасности // В реальном приложении лучше использовать более надежный метод return dsn }