feat(tareas): módulo de tablero kanban con drag & drop, comentarios y Telegram

- Modelos Tarea y TareaComentario con GORM, migración automática
- Estados: por_hacer → en_progreso → revisión → hecho; prioridades: baja/media/alta/urgente
- Drag & drop entre columnas via SortableJS (PUT /tarea/:id/estado)
- CRUD completo: crear, editar, eliminar; asignación a usuario + fecha límite
- Panel lateral de detalle: historial de comentarios, adjuntar archivos (uploads/tareas/:id)
- Telegram: notifica asignación, cambio de estado y comentarios nuevos via sendTelegramAdmin
- Seed automático bajo módulo "Administración", solo rol Administrador

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-06 20:18:26 -05:00
co-authored by Claude Sonnet 4.6
parent 0901ed0d53
commit bc79553b7e
7 changed files with 1178 additions and 0 deletions
+11
View File
@@ -84,6 +84,17 @@ func UserRoutes(app fiber.Router) {
protected.Get("/servidor/:id/metricas-history", controllers.GetMetricasHistory)
protected.Post("/servidor/:id/sync-hostinger", controllers.SyncServidorFromHostinger)
// Tareas (kanban)
protected.Get("/tareas", middlewares.MenuMiddleware, controllers.TareasIndex)
protected.Get("/tareas/data", controllers.GetTareas)
protected.Get("/tareas/usuarios", controllers.GetUsuariosSistema)
protected.Post("/tarea", controllers.CreateTarea)
protected.Get("/tarea/:id", controllers.GetTareaDetalle)
protected.Put("/tarea/:id", controllers.UpdateTarea)
protected.Put("/tarea/:id/estado", controllers.CambiarEstadoTarea)
protected.Delete("/tarea/:id", controllers.DeleteTareaHandler)
protected.Post("/tarea/:id/comentario", controllers.AddComentario)
// Monitor de URLs
protected.Get("/url-monitor", middlewares.MenuMiddleware, controllers.UrlMonitorIndex)
protected.Get("/url-monitors", controllers.GetUrlMonitors)