feat: agrega integraciones OCR y Whisper ASR (servicios propios)

Nuevos submódulos en Integraciones para conectar el servicio propio de
OCR (extracción de texto de imágenes) y el de transcripción de audio
self-hosted (whisper-asr-webservice, Basic Auth), con panel de
configuración y prueba en vivo, siguiendo el patrón ya usado por
WebSMS/Hostinger.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-13 10:09:40 -05:00
co-authored by Claude Sonnet 5
parent 997e3cc790
commit d493d6dee6
11 changed files with 621 additions and 0 deletions
+12
View File
@@ -619,6 +619,18 @@ func UserRoutes(app fiber.Router) {
protected.Get("/websms/logs", controllers.GetWebSmsLogs)
protected.Get("/websms/webhook-logs", controllers.GetWebSmsWebhookLogs)
// ─── OCR (servicio propio) ─────────────────────────────────────────────────
protected.Get("/ocr", middlewares.MenuMiddleware, controllers.OcrConfigPage)
protected.Get("/ocr/config", controllers.GetOcrConfigHandler)
protected.Post("/ocr/save", controllers.SaveOcrConfigHandler)
protected.Post("/ocr/test", controllers.TestOcrConfigHandler)
// ─── Whisper ASR (transcripción, servicio propio) ─────────────────────────
protected.Get("/whisper-asr", middlewares.MenuMiddleware, controllers.WhisperAsrConfigPage)
protected.Get("/whisper-asr/config", controllers.GetWhisperAsrConfigHandler)
protected.Post("/whisper-asr/save", controllers.SaveWhisperAsrConfigHandler)
protected.Post("/whisper-asr/test", controllers.TestWhisperAsrConfigHandler)
// ─── Planes dLocal (gestión desde panel protegido) ────────────────────────
protected.Get("/dlocal/planes", apiControllers.SeePlanes)
protected.Post("/dlocal/planes", apiControllers.CreatePlan)