This commit is contained in:
Lizandro Guarnizo
2026-05-16 18:47:40 -05:00
parent b6203c1a68
commit 4c14f4a641
5 changed files with 125 additions and 28 deletions
+19
View File
@@ -372,3 +372,22 @@ func PortalMarcarTodasLeidas(c *fiber.Ctx) error {
}
return c.JSON(fiber.Map{"ok": true})
}
// PortalMarcarTicketLeido marca como leídos todos los mensajes de admin del ticket.
func PortalMarcarTicketLeido(c *fiber.Ctx) error {
u := middlewares.PortalUserFromLocals(c)
if u == nil {
return c.Status(401).JSON(fiber.Map{"error": "no autenticado"})
}
ticketID, _ := c.ParamsInt("id")
// Verificar que el ticket pertenece al portal user
ticket, err := models.GetTicketByID(uint(ticketID))
if err != nil || ticket == nil {
return c.Status(404).JSON(fiber.Map{"error": "ticket no encontrado"})
}
if ticket.PortalUserID != u.ID {
return c.Status(403).JSON(fiber.Map{"error": "sin permiso"})
}
_ = models.MarkTicketMessagesReadByPortal(uint(ticketID))
return c.JSON(fiber.Map{"ok": true})
}
+1
View File
@@ -25,6 +25,7 @@ func PortalRoutes(app fiber.Router) {
// Tickets
portal.Post("/tickets", controllers.PortalCrearTicket)
portal.Post("/tickets/:id/mensaje", controllers.PortalResponderTicket)
portal.Post("/tickets/:id/leido", controllers.PortalMarcarTicketLeido)
// Descargas
portal.Get("/entregables/:id/download", controllers.PortalDownloadEntregable)