Files
soft_usite/rest/middlewares/global.go
T
2025-04-24 02:07:47 +00:00

31 lines
807 B
Go
Executable File

package middlewares
import (
"github.com/gofiber/fiber/v2"
"github.com/sujit-baniya/fiber-boilerplate/pkg/auth"
)
func LoadUserMiddleware(c *fiber.Ctx) error {
user, err := auth.User(c)
if err == nil && user != nil {
// Convertimos el usuario a un map[string]interface{} e incluimos los campos necesarios
userData := map[string]interface{}{
"ID": user.ID,
"Name": user.Name,
"Email": user.Email,
"NombreUsuario": user.NombreUsuario,
"IsAdmin": user.IsAdmin,
"Role": map[string]interface{}{
"ID": user.Role.ID,
"Name": user.Role.Name,
// Incluye otros campos relevantes del rol
},
}
// Guarda el map en el contexto
c.Locals("user", userData)
}
// Si no está autenticado, continuamos sin agregar nada
return c.Next()
}