feat: version 2.15.0 -- menu Equipos (inventario de TI con agente GLPI)
Ingesta POST /api/inventory (JSON/XML, token de instalacion), upsert por deviceid, historial de cambios, pestañas Resumen/Equipos/Software/Agentes, detalle con buscador por pestaña y casilla para ocultar actualizaciones/drivers/componentes del software. Migraciones 023 y 024. Diseño en docs/ARQUITECTURA-INVENTARIO.md. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,10 @@
|
||||
| `notes` | apuntes rápidos personales, menú propio "Notas"; editable solo por el dueño |
|
||||
| `note_shares` | con quién está compartida (solo lectura) cada nota — `note_id, user_id` |
|
||||
| `vault_entries` | repositorio de credenciales privado por usuario (menú "Contraseñas"), contraseña/notas cifradas |
|
||||
| `devices` | inventario de equipos (menú "Equipos"), upsert por `deviceid` del agente GLPI; baja lógica con `status` |
|
||||
| `device_cpus` / `device_memories` / `device_disks` / `device_volumes` / `device_networks` / `device_monitors` / `device_software` | componentes de cada equipo, reemplazados completos en cada reporte |
|
||||
| `device_changes` | diff entre reportes (RAM, discos, software instalado/desinstalado) |
|
||||
| `inventory_tokens` | tokens de ingesta del agente (solo hash sha256) |
|
||||
|
||||
## Relaciones clave
|
||||
|
||||
@@ -202,3 +206,9 @@ Método: archivos SQL idempotentes en `backend/database/migrations/00X-nombre.sq
|
||||
(`CREATE TABLE IF NOT EXISTS` / `information_schema` guards), aplicados con
|
||||
`node src/scripts/migrate-db.js`. Siempre backup (`mysqldump --single-transaction`) antes de migrar
|
||||
en producción.
|
||||
|
||||
- Equipos (desde v2.15.0, migración `023_devices.sql`): `devices.deviceid` UNIQUE; `assigned_user_id`
|
||||
y `department_id` son datos manuales (el agente nunca los toca). Hijos con `ON DELETE CASCADE`.
|
||||
`device_software.is_component` (migración `024`) marca actualizaciones/runtimes/drivers/paquetes del
|
||||
sistema (según `system_category` del agente + nombre, ver `normalizer.js#isComponent`); las vistas de
|
||||
software lo ocultan salvo que se marque la casilla. `inventory_tokens` guarda solo el hash; el token en claro se muestra una vez al crearlo.
|
||||
|
||||
Reference in New Issue
Block a user