Merge remote-tracking branch 'origin/main'

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

# Conflicts:
#	main.go
This commit is contained in:
Lizandro GD
2026-08-03 00:47:00 +00:00
25 changed files with 1584 additions and 79 deletions
+1
View File
@@ -334,6 +334,7 @@ func AdminApiRoutes(api fiber.Router) {
h.Get("/query-runner/tables", controllers.GetTables)
h.Get("/query-runner/test", controllers.TestConnection)
h.Post("/query-runner/run", controllers.RunQuery)
h.Post("/query-runner/run-batch", controllers.RunBatchQuery)
h.Get("/query-runner/history", controllers.GetHistory)
h.Get("/query-runner/columns", controllers.GetTableColumnsHandler)
+4
View File
@@ -76,6 +76,10 @@ func RutasPublicas(web fiber.Router) {
// ─── Página de estado del sistema (Atlassian Statuspage) ────────────────
web.Get("/status", controllers.StatusPage)
// ─── Webhook de soporte (correo entrante) ────────────────────────────────
// Configurar en SendGrid/Mailgun: POST {HOST}/webhooks/soporte/{provider}
web.Post("/webhooks/soporte/:provider", controllers.SoporteWebhook)
// ─── Landing Generator (acceso con X-Landing-Secret) ─────────────────────
// Rutas públicas (sin secret) para lectura de preview y polling
web.Get("/landing/preview/:token", apiControllers.LandingGetSession)
+8
View File
@@ -139,6 +139,7 @@ func UserRoutes(app fiber.Router) {
protected.Get("/query-runner/tables", controllers.GetTables)
protected.Get("/query-runner/test", controllers.TestConnection)
protected.Post("/query-runner/run", controllers.RunQuery)
protected.Post("/query-runner/run-batch", controllers.RunBatchQuery)
protected.Get("/query-runner/history", controllers.GetHistory)
protected.Delete("/query-runner/history", controllers.ClearHistory)
protected.Post("/query-runner/export/csv", controllers.ExportCSV)
@@ -454,6 +455,13 @@ func UserRoutes(app fiber.Router) {
protected.Get("/tickets/data", controllers.GetAllTicketsAdmin)
protected.Put("/tickets/:ticketID/estado", controllers.UpdateTicketEstadoAdmin)
protected.Post("/tickets/:ticketID/mensaje", controllers.AdminResponderTicket)
protected.Put("/tickets/:ticketID/asignar", controllers.AsignarTicket)
protected.Get("/tickets/admins", controllers.GetSoporteAdmins)
// Configuración webhook de soporte
protected.Get("/soporte/webhook", middlewares.MenuMiddleware, controllers.SoporteWebhookConfigPage)
protected.Get("/soporte/webhook/data", controllers.GetSoporteWebhookConfig)
protected.Post("/soporte/webhook", controllers.SaveSoporteWebhookConfig)
// Configuración de notificaciones
protected.Get("/notif-config", middlewares.MenuMiddleware, controllers.NotifConfigIndex)