package controllers import ( "strconv" "github.com/gofiber/fiber/v2" "github.com/sujit-baniya/fiber-boilerplate/pkg/models" ) // Los avisos se programan conversando, pero se ven y se cancelan en el panel: // un agente que agenda cosas invisibles es un agente en el que no se confía. // GetUmindAvisosHandler — GET /umind/avisos?agente_id=N func GetUmindAvisosHandler(c *fiber.Ctx) error { agenteID, _ := strconv.ParseUint(c.Query("agente_id"), 10, 64) if _, err := accesoAgente(c, uint(agenteID)); err != nil { return err } items, err := models.GetUmindAvisosByAgente(uint(agenteID)) if err != nil { return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()}) } return c.JSON(fiber.Map{"items": items}) } // DeleteUmindAvisoHandler — DELETE /umind/avisos/:id func DeleteUmindAvisoHandler(c *fiber.Ctx) error { id, err := strconv.ParseUint(c.Params("id"), 10, 64) if err != nil { return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "id inválido"}) } aviso, err := models.GetUmindAvisoByID(uint(id)) if err != nil { return errSinAcceso(c) } if _, err := accesoAgente(c, aviso.AgenteID); err != nil { return err } if err := models.DeleteUmindAviso(uint(id)); err != nil { return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()}) } return c.JSON(fiber.Map{"ok": true}) }