52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"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() {
|
|
// 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()
|
|
|
|
// 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)
|
|
}
|
|
|
|
// Auto migración de modelos
|
|
err = db.AutoMigrate(&models.User{}, &models.Plate{}, &models.Order{})
|
|
if err != nil {
|
|
log.Fatal("Error al migrar modelos: ", err)
|
|
}
|
|
|
|
// Crear una instancia del repositorio de usuarios y pasar la conexión de base de datos
|
|
userRepository := repositories.NewUserRepository(db)
|
|
|
|
// 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.)
|
|
|
|
// Iniciar la aplicación Gin
|
|
app.Run(":8080")
|
|
}
|