docs: actualizar documentacion tecnica, arquitectura y manuales de herramientas y QR

This commit is contained in:
2026-11-01 09:28:45 -05:00
parent e71e531b51
commit 82b1a52524
8 changed files with 332 additions and 135 deletions
+37 -7
View File
@@ -30,11 +30,15 @@ help_desk/
│ ├── db.js # Pool de conexión a MariaDB con mysql2/promise
│ ├── errorReporter.js # Cliente y reporter de errores hacia API-SIGMA-WEBCONTROL
│ ├── init.sql # Esquema SQL relacional base
│ ├── setup.js # Script de inicialización y migración multi-tenant (incluye ticket_visitas)
│ ├── setup.js # Script de inicialización y migración multi-tenant
│ ├── uploader.js # Manejo y validación de subida de imágenes
│ └── tareasHubService.js # Conexión e integración con API externa tareas.telcotronics.com
├── scripts/
│ ├── consultar_errores.js # Script CLI para consultar la bitácora centralizada de errores
│ └── test_visita_flow.js # Script CLI de prueba e integración end-to-end para FSM
│ ├── sigma_robot_worker.js # Worker y sincronizador del chat sigma-robot
│ ├── test_visita_flow.js # Script CLI de prueba e integración end-to-end para FSM
│ ├── test_foto_flow.js # Script CLI de verificación de subida de fotos y asignaciones
│ └── test_qr_flow.js # Script CLI de verificación de generación de QR y manifiestos
├── middleware/
│ └── auth.js # Middlewares: isAuthenticated, roles y loadCompany
├── models/
@@ -42,14 +46,19 @@ help_desk/
│ ├── Department.js # Operaciones CRUD para departamentos
│ ├── Ticket.js # Consultas, creación y respuestas de tickets
│ ├── TicketVisita.js # Modelo y persistencia para visitas técnicas y timeline FSM
│ ├── Herramienta.js # Modelo y operaciones de catálogo de herramientas
│ ├── HerramientaSet.js # Modelo de sets, maletines y empaquetado de herramientas
│ ├── HerramientaAsignacion.js # Modelo de asignaciones de custodia a técnicos
│ └── User.js # Autenticación, creación y gestión de usuarios
├── routes/
│ ├── auth.js # Rutas de autenticación (login, register, logout)
│ ├── client.js # Rutas para clientes (creación y seguimiento de tickets)
│ ├── agent.js # Rutas para agentes (gestión, respuesta y asignación)
│ ├── admin.js # Rutas para administradores (usuarios, departamentos)
│ ├── agent.js # Rutas para agentes (gestión, respuesta, FSM y herramientas)
│ ├── admin.js # Rutas para administradores (usuarios, departamentos, herramientas, QR)
│ ├── saas.js # Rutas para superadmin (empresas y tenants)
│ └── company.js # Rutas de ajustes de la empresa
│ ├── company.js # Rutas de ajustes de la empresa
│ ├── api.js # Endpoints M2M para tickets y herramientas
│ └── qr.js # Rutas públicas para manifiestos móviles escaneados por QR
├── views/
│ ├── partials/
│ │ ├── header.ejs # Encabezado HTML y carga de CSS/CDN
@@ -65,12 +74,19 @@ help_desk/
│ │ └── view-ticket.ejs # Detalle del ticket y formulario de respuesta
│ ├── agent/
│ │ ├── dashboard.ejs # Panel general de tickets para agentes
│ │ └── view-ticket.ejs # Vista de resolución, reasignación y respuesta
│ │ ├── view-ticket.ejs # Vista de resolución, reasignación y respuesta
│ │ └── herramientas.ejs # Catálogo de herramientas y sets para agentes
│ ├── admin/
│ │ ├── dashboard.ejs # Panel de control de administrador con estadísticas
│ │ ├── users.ejs # Lista y gestión de usuarios
│ │ ├── create-user.ejs # Formulario para dar de alta usuarios
│ │ └── departments.ejs # Gestión de departamentos de soporte
│ │ ├── departments.ejs # Gestión de departamentos de soporte
│ │ ├── herramientas.ejs # Gestión integral de herramientas, sets y asignaciones
│ │ └── etiqueta_qr.ejs # Vista de impresión térmica de etiqueta QR (95mm)
│ ├── public/
│ │ ├── qr_set.ejs # Manifiesto móvil web responsivo con checklist
│ │ ├── qr_asignacion.ejs # Manifiesto móvil web de acta de custodia
│ │ └── qr_error.ejs # Vista amigable de error por token inválido
│ ├── saas/
│ │ └── companies.ejs # Gestión de empresas para superadmin
│ └── company/
@@ -84,6 +100,8 @@ help_desk/
│ ├── bot-soporte.svg # Mascota oficial vectorizada del Bot de Soporte
│ ├── bot-soporte.png # Mascota en raster alta resolución (192x192)
│ └── bot-soporte-512.png # Mascota en raster alta resolución (512x512)
├── uploads/
│ └── herramientas/ # Almacenamiento de fotos de herramientas y sets
└── js/
└── main.js # Lógica JavaScript en navegador
```
@@ -122,6 +140,17 @@ help_desk/
| **GET** | `/admin/departments` | `isAuthenticated`, `isAdmin` | Catálogo de departamentos |
| **POST** | `/admin/departments` | `isAuthenticated`, `isAdmin` | Creación de departamento |
| **POST** | `/admin/departments/:id/delete` | `isAuthenticated`, `isAdmin` | Eliminación de departamento |
| **GET** | `/admin/herramientas` | `isAuthenticated`, `isAdmin` | Vista de inventario, sets y asignaciones de custodia |
| **POST** | `/admin/herramientas` | `isAuthenticated`, `isAdmin` | Alta de herramienta con subida de fotografía |
| **POST** | `/admin/herramientas/sets` | `isAuthenticated`, `isAdmin` | Creación de set/maletín con foto y token QR |
| **POST** | `/admin/herramientas/sets/:id/items` | `isAuthenticated`, `isAdmin` | Empaquetado de herramientas en el set |
| **POST** | `/admin/herramientas/asignar` | `isAuthenticated`, `isAdmin` | Asignación de custodia a técnico con foto de entrega |
| **POST** | `/admin/herramientas/asignaciones/:id/devolver` | `isAuthenticated`, `isAdmin` | Retorno de custodia a bodega con foto de devolución |
| **GET** | `/admin/herramientas/sets/:id/etiqueta` | `isAuthenticated`, `isAdmin` | Vista para impresión térmica de etiqueta QR (95mm) |
| **GET** | `/agent/herramientas` | `isAuthenticated`, `isAgent` | Catálogo de herramientas y sets para agentes |
| **GET** | `/qr/set/:token` | **Público** | **Manifiesto móvil web responsivo con checklist interactivo** |
| **GET** | `/qr/asignacion/:token` | **Público** | Manifiesto móvil web del acta de custodia asignada |
| **GET** | `/api/external/herramientas/sets` | API Key | Endpoint M2M para consulta externa de sets |
| **GET** | `/saas/companies` | `isAuthenticated`, `isSuperAdmin` | Panel maestro de organizaciones para Superadmin |
| **POST** | `/saas/companies` | `isAuthenticated`, `isSuperAdmin` | Creación de nuevo tenant / empresa |
| **POST** | `/saas/companies/:id/toggle` | `isAuthenticated`, `isSuperAdmin` | Activa / suspende un tenant |
@@ -138,6 +167,7 @@ help_desk/
| `ejs` | ^5.0.2 | Motor de renderizado del lado del servidor |
| `express-session` | ^1.19.0 | Manejo de sesiones de usuario |
| `bcryptjs` | ^3.0.3 | Hashing y verificación de contraseñas |
| `qrcode` | ^1.5.4 | Generador de códigos QR para etiquetas y manifiestos móviles |
| `connect-flash` | ^0.1.1 | Mensajes flash temporales en vistas |
| `cookie-parser` | ^1.4.7 | Parseo de cookies HTTP |
| `express-fileupload`| ^1.5.2 | Manejo de archivos subidos en formularios |