add rest api for api_bb vue a lot of files
This commit is contained in:
@@ -1,36 +1,37 @@
|
||||
// main.go
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"go-rest-api/internal/config"
|
||||
"go-rest-api/internal/routes"
|
||||
"go-rest-api/pkg/database"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-rest-api/internal/config"
|
||||
"go-rest-api/internal/models"
|
||||
"go-rest-api/internal/routes"
|
||||
)
|
||||
|
||||
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
|
||||
// Загрузка конфигурации
|
||||
cfg := config.Load()
|
||||
|
||||
// Подключение к базе данных
|
||||
db, err := gorm.Open(postgres.Open(cfg.DatabaseURL), &gorm.Config{})
|
||||
if err != nil {
|
||||
log.Fatal("Failed to connect to database:", err)
|
||||
}
|
||||
|
||||
// Автомиграция
|
||||
if err := db.AutoMigrate(&models.User{}); err != nil {
|
||||
log.Fatal("Failed to migrate database:", err)
|
||||
}
|
||||
|
||||
// Настройка роутера
|
||||
router := routes.SetupRouter(db, cfg)
|
||||
|
||||
// Запуск сервера
|
||||
log.Printf("Server starting on port %s", cfg.Port)
|
||||
log.Fatal(http.ListenAndServe(":"+cfg.Port, router))
|
||||
}
|
||||
Reference in New Issue
Block a user