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() }