plateMate/cmd/main.go

52 lines
1.4 KiB
Go
Raw Permalink Normal View History

package main
import (
2024-03-20 15:58:21 +01:00
"log"
"os"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gitea.urkob.com/longinos/plateMate/controllers"
"gitea.urkob.com/longinos/plateMate/models"
"gitea.urkob.com/longinos/plateMate/repositories"
)
func main() {
2024-03-20 15:58:21 +01:00
// Cargar variables de entorno desde el archivo .env
err := godotenv.Load(".env")
if err != nil {
log.Fatal(err)
}
// Inicializar una nueva instancia de Gin
app := gin.Default()
2024-03-20 15:58:21 +01:00
// Inicializar la conexión de base de datos (db)
db, err := gorm.Open(mysql.Open(os.Getenv("DATABASE_URL")), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
})
if err != nil {
log.Fatal("Error al conectar a la base de datos: ", err)
}
2024-03-20 15:58:21 +01:00
// Auto migración de modelos
err = db.AutoMigrate(&models.User{}, &models.Plate{}, &models.Order{})
if err != nil {
log.Fatal("Error al migrar modelos: ", err)
}
2024-03-20 15:58:21 +01:00
// Crear una instancia del repositorio de usuarios y pasar la conexión de base de datos
userRepository := repositories.NewUserRepository(db)
2024-03-20 15:58:21 +01:00
// Configurar las rutas y pasar el repositorio de usuarios a los controladores
controllers.ConfigureUserRoutes(app, userRepository)
// Aquí puedes configurar las rutas para otros recursos (platos, pedidos, etc.)
2024-03-20 15:58:21 +01:00
// Iniciar la aplicación Gin
app.Run(":8080")
}