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>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1127d944c7
commit
d2bf699b60
@@ -219,6 +219,7 @@ func AdminApiRoutes(api fiber.Router) {
|
||||
h.Post("/contabilidad/cuentas-cobro", controllers.CreateCuentaCobro)
|
||||
h.Put("/contabilidad/cuentas-cobro/:id", controllers.UpdateCuentaCobro)
|
||||
h.Delete("/contabilidad/cuentas-cobro/:id", controllers.DeleteCuentaCobro)
|
||||
h.Post("/contabilidad/cuentas-cobro/:id/pagar", controllers.MarcarCuentaCobroPagada)
|
||||
h.Post("/contabilidad/cuentas-cobro/:id/generar-documento", controllers.GenerarDocumentoCuentaCobro)
|
||||
// Cuentas por pagar
|
||||
h.Get("/contabilidad/cuentas-pagar", controllers.GetCuentasPagar)
|
||||
|
||||
@@ -18,6 +18,9 @@ func UserRoutes(app fiber.Router) {
|
||||
|
||||
// Perfil del usuario autenticado
|
||||
protected.Get("/profile", middlewares.MenuMiddleware, controllers.Profile)
|
||||
protected.Get("/profile/telegram-status", controllers.TelegramStaffStatus)
|
||||
protected.Post("/profile/telegram-init", controllers.TelegramStaffInit)
|
||||
protected.Post("/profile/telegram-validar", controllers.TelegramStaffValidar)
|
||||
|
||||
// Rutas de la aplicación
|
||||
|
||||
@@ -527,6 +530,7 @@ func UserRoutes(app fiber.Router) {
|
||||
protected.Post("/contabilidad/cuentas-cobro", controllers.CreateCuentaCobro)
|
||||
protected.Put("/contabilidad/cuentas-cobro/:id", controllers.UpdateCuentaCobro)
|
||||
protected.Delete("/contabilidad/cuentas-cobro/:id", controllers.DeleteCuentaCobro)
|
||||
protected.Post("/contabilidad/cuentas-cobro/:id/pagar", controllers.MarcarCuentaCobroPagada)
|
||||
protected.Post("/contabilidad/cuentas-cobro/:id/generar-documento", controllers.GenerarDocumentoCuentaCobro)
|
||||
|
||||
// Cuentas por pagar
|
||||
|
||||
Reference in New Issue
Block a user