add rest api for api_bb vue a lot of files

This commit is contained in:
2025-10-09 05:59:40 +05:00
parent 654c682b05
commit 700e404a06
17 changed files with 512 additions and 211 deletions
+30 -29
View File
@@ -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))
}