Commit Graph
60 Commits
Author SHA1 Message Date
Lizandro GDandClaude Sonnet 5 d2bf699b60 fix: seguridad del webhook de soporte, pagos en contabilidad y Telegram para tareas
- soporte: el webhook de correo entrante era público sin ninguna validación;
  ahora exige una API key (query ?key= o header) comparada en tiempo constante.
  Además evita tickets duplicados por reintentos del proveedor (dedup por
  Message-Id) y enhebra respuestas del mismo remitente en vez de abrir un
  ticket nuevo por cada correo.
- contabilidad: marcar una cuenta por cobrar/pagar como pagada ahora crea y
  vincula la Transaccion correspondiente (antes el dashboard de ingresos/
  egresos nunca reflejaba esos pagos). Se corrige además que actualizar una
  cuenta por cobrar borraba su transaccion_id en cada PUT.
- tareas: se activa por defecto el canal Telegram para tarea_asignada (estaba
  apagado desde el seed original) y se agrega un flujo real de vinculación de
  Telegram para el staff interno (código temporal + verificación), igual al
  que ya existía para los usuarios del portal — sin esto el chat_id de cada
  usuario había que pegarlo a mano y la notificación nunca llegaba.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 01:25:17 +00:00
Lizandro GDandClaude Sonnet 5 516220a8a1 feat: automatización de cotizaciones, contratos, actas y cuentas de cobro con IA
Implementa las 4 fases de la especificación de automatización: módulo de
plantillas/tarifas editable por el equipo, generación de PDF (HTML+JS vía
Chrome headless) para cotizaciones/contratos/arquitecturas/cuentas de cobro,
chat propio en el dashboard reutilizando el mismo motor y tools del bot de
Telegram, y nuevas tools del agente para crear estos documentos end-to-end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 00:45:58 +00:00
Lizandro Guarnizo c6c2f890f6 fix: Renovaciones y PartnerRecursos solo asignados a Administrador 2026-07-06 23:44:48 -05:00
Lizandro Guarnizo 7d27240f27 fix: contabilidad y websms solo asignados al rol Administrador, no a todos los roles 2026-07-06 22:39:19 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 37648724f8 feat(notif): integrar notificaciones de tareas con NotifEventoConfig
- SeedNotifDefaults: poblar 10 eventos por defecto (tickets, servidores, tareas)
- notif_dispatch: NotificarTareaAsignada/Estado/Comentario ahora respetan
  canal_email, canal_telegram y canal_sistema de la config de notificaciones
- mail_service: añadir SendTareaAsignadaEmail y SendTareaNotifAdmin
- notif_config.html: agregar eventos tarea_asignada, tarea_estado, tarea_comentario
  al panel de configuración para que el admin pueda activar/desactivar canales

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 22:06:40 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 bc79553b7e 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>
2026-07-06 20:18:26 -05:00
Lizandro Guarnizo 0901ed0d53 fix(url-monitor): asignar submódulo solo al rol Administrador 2026-07-06 09:56:29 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 1840b97256 feat(url-monitor): registrar submódulo en menú bajo "Servidores"
- SeedUrlMonitor() agrega /app/url-monitor al módulo Servidores idempotentemente
- Se llama en el arranque junto al resto de seeds

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 09:54:37 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 5f92934fba feat(url-monitor): agregar monitoreo de disponibilidad de URLs desde servidor
- Modelos UrlMonitor y UrlMonitorLog con purga automática a 7 días
- Cron cada minuto ejecuta chequeos HEAD→GET con fallback, alerta Telegram en cambio de estado
- CRUD completo + chequeo manual + historial de logs
- Migración automática de tablas

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 09:33:48 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 ae74d0ef90 feat(agent): persist 7-day metrics history per server heartbeat
- New table servidor_metricas_history (cpu%, ram%, swap%, disco%, tcp, load1)
- Each heartbeat inserts a compact row (~60 bytes)
- GET /app/servidor/:id/metricas-history?horas=24 returns the data
- Daily cron at 3AM purges rows older than 7 days
- ~1.2 MB per server per 7 days at 30s interval

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 11:03:16 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 e28e2823dc fix: compilar agent/dist en builder stage y agregar módulos contabilidad/websms
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 10:13:17 -05:00
Lizandro Guarnizo 06d85dc0bf up 2026-05-27 10:16:28 -05:00
Lizandro Guarnizo 498e1d5743 up 2026-05-27 09:34:21 -05:00
Lizandro Guarnizo 36c9e0a6d5 up 2026-05-26 21:55:48 -05:00
Lizandro Guarnizo c82831702e up 2026-05-25 15:14:04 -05:00
Lizandro Guarnizo 58d98f23aa Revert "telegram"
This reverts commit 46daf3d4aa.
2026-05-25 12:50:53 -05:00
Lizandro Guarnizo 46daf3d4aa telegram 2026-05-25 10:08:40 -05:00
Lizandro Guarnizo 1a96caeb83 ip 2026-05-21 23:49:37 -05:00
Lizandro Guarnizo af1b8f4bdb feat: agregar configuración de integración para VCard API y actualizar seed de módulos 2026-05-19 20:16:34 -05:00
Lizandro Guarnizo 24e1cf1439 feat: add VCard API integration with configuration and proxy endpoints
- Implemented VCard API controller with methods to manage configuration (save, get).
- Added proxy functions to handle API requests for users, vcards, memberships, payments, transactions, logs, and miniwebs.
- Included error handling and response formatting for API interactions.
2026-05-19 20:08:50 -05:00
Lizandro Guarnizo b1aa437bbd up 2026-05-19 12:55:56 -05:00
Lizandro Guarnizo 25f21be966 up 2026-05-18 19:17:05 -05:00
Lizandro Guarnizo 5aad09f1cd up 2026-05-16 21:41:44 -05:00
Lizandro Guarnizo 4fa506c7d6 up 2026-05-16 21:27:30 -05:00
Lizandro Guarnizo 2b7458b612 up 2026-05-16 20:01:36 -05:00
Lizandro Guarnizo 1b22cc2fe7 k 2026-05-16 15:26:48 -05:00
Lizandro Guarnizo 76a0c28b16 up 2026-05-16 13:44:32 -05:00
Lizandro Guarnizo 49cc56123b up 2026-05-15 23:22:35 -05:00
Lizandro Guarnizo 084f6e3930 up 2026-05-15 22:00:54 -05:00
Lizandro Guarnizo 5ec5595196 up 2026-05-15 21:01:30 -05:00
Lizandro Guarnizo 5555514929 Update migrate.go 2026-05-15 19:56:45 -05:00
Lizandro Guarnizo b340d29583 up 2026-05-15 14:26:52 -05:00
Lizandro Guarnizo 70a43597f3 up 2026-05-15 12:55:57 -05:00
Lizandro Guarnizo 2377371b2c up 2026-05-14 22:52:10 -05:00
Lizandro Guarnizo 61b3eca31d up 2026-05-14 22:30:31 -05:00
Lizandro Guarnizo 381425b7e6 ip 2026-05-12 22:34:10 -05:00
Lizandro Guarnizo f07ac623eb Update migrate.go 2026-05-12 21:58:55 -05:00
Lizandro Guarnizo d09346cee7 Update migrate.go 2026-05-07 16:30:26 -05:00
Lizandro Guarnizo 048ebf5d70 up 2026-05-06 15:44:51 -05:00
Lizandro Guarnizo 1a8cc92a22 up 2026-05-06 15:29:14 -05:00
Lizandro Guarnizo 6bf4b32a18 documentacion 2026-05-06 14:58:55 -05:00
Lizandro Guarnizo 560359173b up 2026-05-01 22:55:51 -05:00
Lizandro Guarnizo c9024274f0 up 2026-05-01 17:36:17 -05:00
Lizandro Guarnizo be28fea806 fix: rutas GET+POST /modules faltantes + seed módulo Administración (roles/módulos/submódulos/usuarios) 2026-05-01 12:55:53 -05:00
Lizandro Guarnizo 92ac8419fe feat: seed módulo Servidores con ConexiónDB, SSH, Query Runner y catálogos 2026-05-01 12:25:21 -05:00
Lizandro Guarnizo 5e0b6ae2f0 up 2026-05-01 12:02:21 -05:00
Lizandro Guarnizo 1731855df8 feat: Query Runner — editor SQL con historial, exportar CSV/JSON, árbol de tablas 2026-05-01 11:14:09 -05:00
Lizandro Guarnizo 357bdc7397 feat: integracion Bold y pagina unificada de pasarelas de pago 2026-05-01 11:05:54 -05:00
Lizandro Guarnizo fbfcca4d2d feat: seed módulo Integraciones (Hostinger + Cloudflare) en menú del sistema 2026-04-30 23:34:13 -05:00
Lizandro Guarnizo cb8e15ec4c feat: integración Hostinger + Cloudflare API (modelo, servicio, controlador, rutas, migración) 2026-04-30 23:23:34 -05:00