- Added `removeAccessAccount` function to handle account deletion in the database, ensuring no external references exist. - Created `deleteAccount` API function to facilitate account deletion requests from the client. - Developed `AccountDeleteDialog` component for user confirmation before account deletion, integrating with the delete API. - Introduced resource image handling with validation for PNG uploads, including UI components for image selection and preview. - Implemented resource icon template evolution logic to maintain icon bindings without overwriting existing fields. - Added scripts for auditing account deletion and usage checks, ensuring robust testing of the new features.
10 KiB
Plan de desarrollo
Metis Desk es una aplicación interna para técnicos que dan soporte a pequeñas empresas. El proyecto es independiente de factuges-erp y comparte sus convenciones de programación.
Entrega 0: base técnica
Incluye monorepo PNPM y Turborepo, TypeScript estricto, Biome, Express, React, Vite, Tailwind, TanStack Query, shadcn/ui con Base UI, Zod y traducciones es/en. El endpoint de salud comprueba la vida del proceso. La pantalla Inicio muestra indicadores, avisos y actividad de los datos registrados; véase Dashboard de inicio.
Acceso y usuarios: implementado
MariaDB, Sequelize v6, migraciones iniciales, configuración única del administrador, login, sesiones y gestión de usuarios sin catálogo de roles. React Hook Form y componentes shadcn/ui para estos formularios.
Entrega 1: compañías clientes, implementado
Crear, consultar, editar y buscar compañías; activar o desactivar compañías y contactos; crear y editar sedes con dirección opcional. Formularios con React Hook Form, listado con TanStack Table y componentes shadcn/ui. Consultar Compañías, contactos y sedes.
Distinguir:
- Organización que presta el soporte: contexto de acceso.
- Cliente atendido: empresa sobre la que se registran datos.
- Técnico: usuario autenticado de Metis Desk.
- Contacto: persona del cliente.
- Usuario de un equipo: persona asignada a un puesto; no implica acceso a la aplicación.
El modelo persistente actual identifica compañías clientes. La adopción de una sola organización de soporte o de varias sigue pendiente. No crear un sistema multiempresa complejo sin necesidad, companyId identifica a la compañía cliente; no se utiliza como identificador de tenant.
Personas y departamentos: implementado
Personas sin acceso a Metis Desk, contactos como clasificación, puesto general y pertenencia a varios departamentos con puestos específicos, un principal, periodos e historial. Datos existentes e identificadores preservados. Consultar Personas y departamentos.
Cuentas, grupos y recursos: implementado
Catálogos globales con adiciones por compañía, entornos, cuentas con uso editable compatible con sus relaciones y caducidad opcional, relaciones con personas, plantillas globales de grupos, pertenencias sin anidación, recursos y permisos configurables, necesidades y cobertura calculada. Las autorizaciones y configuraciones se registran por separado, con historial, actor y avisos de revisión. Consultar Cuentas, grupos y recursos.
Campos y plantillas de activos: implementado
Catálogo global con 30 campos y 12 plantillas de serie protegidas, cinco tipos de dato, copias personalizables, adiciones por compañía y ajustes locales de disponibilidad. Características opcionales por defecto, modales con ayuda y alta rápida de campos desde las plantillas. Consultar Campos y plantillas de activos.
Perfiles de usuario: base implementada
Persona y dispositivo fijos, cuenta de inicio de sesión opcional, perfiles vigentes y archivados, múltiples personas/dispositivos, historial y avisos de revisión. Consultar Perfiles de usuario. La ficha Entorno actual reúne las configuraciones implementadas; el mapa visual queda aplazado.
Buzones y correo por perfil: implementado
Buzones independientes corporativos o externos, cuenta informática opcional, periodos de uso por persona, configuraciones POP/IMAP por perfil y avisos de revisión. Los registros anteriores mantienen UUID e historial y se vinculan explícitamente. Consultar Buzones y correo por perfil.
Recursos con campos y plantillas: base implementada
Catálogo independiente de activos, 20 campos y seis plantillas de serie, adiciones globales y por compañía, disponibilidad local y recursos con especificación capturada e historial. Los buzones y recursos básicos anteriores están migrados, conservando UUID, historial y relaciones. La gestión anterior se ha retirado; sus tablas se mantienen como proyecciones para permisos y configuraciones existentes. Consultar Recursos, campos y plantillas.
Impresoras por perfil: implementado
Configuraciones USB o red sobre activos de la compañía, una predeterminada por perfil, estados de preparación y retirada, historial y avisos de revisión. Disponible desde la compañía y cada perfil. Modales, ayuda inferior y altas rápidas. Consultar Impresoras del perfil.
Aplicaciones por perfil: implementado
Recursos de plantilla Aplicación o plantilla personalizada con uso Aplicación, instaladas o de acceso web, versión opcional, estados de preparación y retirada, historial y revisión. Modales y altas rápidas de recurso/perfil. Consultar Aplicaciones del perfil.
Certificados por perfil: implementado
Recursos de plantilla Certificado digital o plantilla personalizada con ese uso, ubicación opcional, estados de preparación y retirada, historial y revisión por inactividad o caducidad. Modales y altas rápidas de recurso/perfil. Consultar Certificados del perfil.
Entorno actual: implementado
Ficha de consulta por perfil con equipo, características registradas, composición de los puestos vigentes, cuenta de inicio y configuraciones abiertas de correo, carpetas, impresoras, aplicaciones y certificados. Resumen de preparación, retirada y revisión; filtro de atención y acceso a cada gestión. Consultar Entorno actual.
Teletrabajo: autorización implementada
Autorización por persona, fechas opcionales inclusivas, revocación y renovación con historial, consulta desde Entorno actual y modales con alta rápida de persona. No modifica los permisos ni las conexiones reales. Consultar Teletrabajo.
Accesos remotos de personas: implementado
Origen corporativo o personal sin inventario detallado, herramienta libre, destino red/sede/equipo/recurso, requisito VPN, preparación y retirada, historial y revisión según autorización y disponibilidad. Consulta desde Entorno actual. Documenta accesos; no actúa sobre conexiones reales. Consultar Accesos remotos.
Procesos de personas: implementado
Plantillas globales de alta/cambio/salida, copias de instrucciones por ejecución, seguimiento por persona con tareas UUID, resultados, cierres, historial y revisión de registros actuales. Cambio y salida incorporan revisiones de cuentas, configuraciones, activos asignados y accesos remotos personales. Modales, altas rápidas y protección frente a ediciones concurrentes. Consultar Procesos de personas.
Asistencia técnica remota: implementada
Varios métodos por activo, catálogo global ampliable con herramientas de serie, destino opcional, requisito VPN, estados, preferido opcional e historial. Modales en ficha del activo y Entorno actual. Consultar Asistencia técnica remota.
Siguientes entregas: orden actualizado
- Vinculación explícita entre un acceso remoto y su VPN previa, si resulta necesaria.
Este orden se concreta antes de cada entrega. El registro de licencias como recursos y el vínculo informativo con instalaciones del ordenador están implementados. Las asignaciones por cuenta/persona y el cálculo de capacidad quedan pendientes. Véase Software del ordenador.
Inventario: implementado
Activos por compañía, plantilla capturada, sede opcional, cuatro estados, características tipadas y revisiones con actor y fecha. La persona se relaciona mediante puestos de trabajo y perfiles de usuario. Altas rápidas y consulta del historial mediante modales. Consultar Inventario de activos.
Las relaciones entre activos están implementadas: catálogo global y local, cinco tipos de serie, vínculos en ambos sentidos y retirada con auditoría. Los puestos de trabajo están implementados, sin anidación, con sede y responsable, composición exclusiva, ordenador principal e historial. El alta exige sede, al menos un activo y ordenador principal; el responsable es opcional.
Licencias de software: registro implementado
Plantilla global protegida, siete campos nuevos y cuatro reutilizados del catálogo de recursos. Registro por compañía, características opcionales, modalidades, criterio de licenciamiento, cantidad contratada, caducidad, renovación e historial. Modales con ayuda específica. Implementado el vínculo opcional con las instalaciones de aplicaciones y sistemas operativos del ordenador, con historial y revisión por inactividad/caducidad. Pendientes las asignaciones por cuenta/persona y la capacidad disponible. Consultar Recursos, campos y plantillas.
Servicios y documentación: pendiente
Gestión de asignaciones de licencias, Microsoft 365, ERP, antivirus, cloud, dominios, DNS, certificados, contratos y documentación. Las credenciales se resolverán con una solución específica; no almacenarlas como texto libre.
Decisiones pendientes
Permisos por técnico si llegan a necesitarse, despliegue, backups, recuperación administrativa y modelo de organización. El acceso y los usuarios ya están implementados; la base de compañías clientes, personas, departamentos, asignaciones y sedes está implementada. El inventario está implementado. Tickets, intervenciones y sus plantillas están archivados y no forman parte del alcance activo.
Catálogo global de marcas: implementado
24 marcas de serie protegidas y marcas personalizadas, nombre único, activación/desactivación y UUID estable. Listado global común, modales con ayuda inferior y selección con alta rápida en activos. Importación compatible de nombres existentes y referencia opcional con instantáneas históricas. Consultar Catálogo global de marcas.