metis-desk/docs/infraestructura-informatica.md
2026-10-17 17:01:16 +02:00

7.4 KiB

Infraestructura informática de la compañía

Implementación del núcleo acordado en la auditoría de infraestructura: conexiones entre equipos, interfaces/IP y consulta del uso documentado de impresoras.

Acceso y clasificación

La compañía incorpora Infraestructura en su navegación. La ruta es /companies/:companyId/infrastructure. Es una vista del mismo inventario de activos; no crea otra copia de los equipos.

Las funciones disponibles son Red, Servidor, Almacenamiento y Periférico compartido. Un activo puede tener varias. Los routers, firewalls, switches y puntos de acceso de serie se presentan por defecto en Red; los servidores en Servidor y los NAS en Almacenamiento. El criterio usa builtinKey, publicado por el catálogo de activos, no el icono ni el nombre traducido. Las clasificaciones guardadas prevalecen sobre esos valores de serie. Las plantillas propias se clasifican expresamente.

Añadir a infraestructura reutiliza el selector de activos y abre el editor sobre el activo elegido. También se accede desde Interfaces y direcciones en la ficha lateral o en la ficha completa de cualquier activo. Marcar Periférico compartido no reserva el activo para un puesto ni instala configuraciones de impresión.

El listado admite búsqueda, filtros por función, columnas y ordenación del patrón común. Muestra interfaces/IP, estado técnico, puestos asignados y relaciones vigentes con enlaces a las fichas de ambos extremos. Para dar de alta un equipo nuevo se utiliza el alta existente de Activos, conservando sus plantillas, sedes e historial.

Interfaces y direcciones

El editor tiene altura estable, scroll interno y ayuda junto al pie. Las interfaces admiten nombre, tipo Ethernet/Wi-Fi/Otra, MAC opcional, notas y cero o varias IP. Máximo 32 interfaces por activo y 32 direcciones por interfaz. Puede haber varias interfaces Ethernet con nombres distintos. Los nombres son únicos dentro del activo, ignorando mayúsculas y espacios exteriores.

Las direcciones admiten IPv4 e IPv6 sin máscara. Se normalizan las IPv6 y las MAC; no se admite repetir una dirección dentro de la misma interfaz. No hay unicidad global por dirección: dos compañías, o dos interfaces, pueden documentar la misma IP. No se infieren subredes, VLAN ni rutas. Una interfaz sin IP conocida se conserva.

Cada interfaz y dirección tiene identidad UUID v7, independiente de su nombre o IP. El editor conserva esas identidades al modificar datos. Repetir un guardado equivalente no añade revisión. Se rechazan identificadores de interfaces o direcciones que no pertenezcan a la configuración que se está editando.

Cada cambio guarda una instantánea con actor y fecha; la ficha permite consultar interfaces, direcciones, notas y funciones anteriores. Retirar una interfaz o una IP del formulario no borra sus instantáneas históricas.

Las IP/MAC que ya existían en características o notas permanecen intactas. Su traslado al nuevo apartado requiere revisar a qué interfaz corresponden; no hay una conversión que invente conexiones o elimine datos anteriores.

Conexiones entre equipos

Se reutiliza Relaciones entre activos. Conectado a es suficiente para indicar impresora ↔ switch o NAS ↔ switch. Se consulta en las fichas de ambos extremos. No se requieren puertos numerados ni conexiones a nivel de interfaz para guardar esa relación. También se conservan Alojado en y los demás tipos de relación existentes.

UniFi conserva el detalle de puertos y cableado. Este núcleo no incorpora sincronización, descubrimiento, monitorización, VLAN o IPAM avanzado. Las relaciones representan información documentada, no una comprobación automática de conectividad actual.

Dónde se utiliza una impresora

La ficha del activo en el espacio de compañía presenta Dónde se utiliza, a partir de printer_configurations y los perfiles existentes. La composición se inyecta desde Companies: Assets no importa repositorios, API ni componentes de Companies.

Se agrupa por equipo, con enlace a su ficha. Varios perfiles del mismo equipo producen una sola entrada de equipo. Dentro se muestran los perfiles, persona, conexión USB/red, estado, condición de predeterminada y avisos de revisión. Se conservan los estados Pendiente de configurar, Configurada y Pendiente de retirar; las configuraciones Retirada y No llegó a configurarse aparecen aparte como historial.

Si una referencia no se resuelve, se informa de ello; los errores de consulta no se presentan como ausencia de uso. Los datos se obtienen de las consultas compartidas de inventario, perfiles e impresoras y admiten reintento.

La consulta describe configuraciones registradas, no actividad de impresión observada. No mantiene una segunda lista editable de equipos usuarios. La reserva exclusiva del puesto no se modifica: una impresora compartida puede usarse en varios perfiles sin incorporarse a sus composiciones.

Dominio, persistencia y HTTP

AssetInfrastructure es el agregado de la documentación de infraestructura de un activo. Contiene interfaces con direcciones identificadas y revisiones inmutables. Los valores normalizados comparan contenido semánticamente, sin serializar JSON.

La migración explícita se integra en el arranque del módulo de activos y es idempotente. Tablas relacionales:

  • asset_infrastructure: identidad, compañía y activo, único por activo.
  • asset_infrastructure_revisions: actor, fecha y posición de cada instantánea.
  • asset_infrastructure_roles: funciones por revisión.
  • asset_interface_snapshots: valores e identidad de las interfaces por revisión.
  • asset_interface_address_snapshots: valores e identidad de direcciones por interfaz/revisión.

Las FK compuestas protegen la pertenencia activo/compañía y dirección/interfaz/revisión. Las revisiones se añaden; los datos actuales se obtienen de la última instantánea. El borrado definitivo permitido de un activo limpia también estos datos propios dentro de la misma transacción. Las asociaciones externas siguen bloqueando ese borrado.

GET /api/asset-infrastructure/:companyId devuelve configuraciones e historial. POST /api/asset-infrastructure/:companyId/:assetId guarda { values } con funciones e interfaces. Los contratos Zod validan entrada y salida. La sesión aporta el actor; las rutas usan la autenticación común y las escrituras la protección HTTP del servidor. El repositorio valida la compañía, verifica la pertenencia del activo y bloquea la compañía durante la escritura para proteger el guardado concurrente.

Validación y límites

Pruebas de normalización, límites, nombres/direcciones duplicados, identidad e historial, repetición sin cambios, clasificación independiente de iconos y uso agrupado por equipo. Las pruebas web comprueban es/en y referencias reales a fichas. Las pruebas HTTP usan Express real y un repositorio en memoria; comprueban sesión, validación y pertenencia. La prueba MariaDB utiliza tablas temporales en metis_desk_test para verificar escritura, rehidratación, historial y limpieza de los datos propios. La migración se ha aplicado y repetido en esa base para comprobar las nuevas restricciones.

Los anfitriones de recursos publicados, colas de impresión, usos sin perfil y mapas opcionales mantienen el carácter de ampliaciones posteriores de la propuesta. No son requisitos para registrar interfaces/IP, conexiones entre equipos o el uso de impresión ya documentado mediante perfiles.