second commit

This commit is contained in:
Vicode92 2024-03-20 14:58:21 +00:00
parent 9f539f847c
commit 2186ddc5e1
1 changed files with 39 additions and 22 deletions

View File

@ -1,34 +1,51 @@
package main package main
import ( import (
"gorm.io/gorm" "log"
"os"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"plateMate/controllers" "github.com/joho/godotenv"
"plateMate/repositories" "gorm.io/driver/mysql"
"plateMate/models" "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() { func main() {
// Inicializar la conexión de base de datos (db) // Cargar variables de entorno desde el archivo .env
db, err := gorm.Open("tu_driver_de_base_de_datos", "tu_dsn_de_conexion") err := godotenv.Load(".env")
if err != nil { if err != nil {
panic("Error al conectar a la base de datos: " + err.Error()) 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)
} }
defer db.Close()
// Auto migración de modelos // Auto migración de modelos
db.AutoMigrate(&models.User{}, &models.Plate{}, &models.Order{}) 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 // Crear una instancia del repositorio de usuarios y pasar la conexión de base de datos
userRepository := repositories.NewUserRepository(db) userRepository := repositories.NewUserRepository(db)
// Crear una instancia de Gin
router := gin.Default()
// Configurar las rutas y pasar el repositorio de usuarios a los controladores // Configurar las rutas y pasar el repositorio de usuarios a los controladores
controllers.ConfigureUserRoutes(router, userRepository) controllers.ConfigureUserRoutes(app, userRepository)
// Aquí puedes configurar las rutas para otros recursos (platos, pedidos, etc.) // Aquí puedes configurar las rutas para otros recursos (platos, pedidos, etc.)
// Iniciar la aplicación Gin // Iniciar la aplicación Gin
router.Run(":8080") app.Run(":8080")
} }