metis-desk/docs/correos-en-dispositivos.md
David dffb4b2794 feat: add process management features including feedback, help, and templates
- Implemented ProcessFeedback component for error handling in process forms.
- Created ProcessHelp component to provide contextual assistance for users.
- Added internationalization support for process-related strings in Spanish and English.
- Developed ProcessStartForm for initiating new processes with person and template selection.
- Introduced ProcessTemplateForm for creating and editing process templates.
- Built ProcessTemplatesPage to display and manage process templates.
- Enhanced ProcessesPage to list current processes and allow for creation and detail viewing.
- Added unit tests for various components to ensure functionality and correctness.
2026-10-07 09:34:18 +02:00

7.4 KiB

Buzones y correo por perfil

Un buzón identifica una dirección de correo, independiente de la cuenta informática usada para iniciar sesión en Windows, un dominio o Microsoft 365. Una persona puede utilizar varios buzones y un buzón puede estar configurado en varios perfiles, con un método distinto en cada uno.

Buzones

La sección «Recursos», mediante la plantilla «Buzón de correo», permite crear y editar dirección, tipo corporativo o externo, contexto opcional, estado activo, notas y una cuenta informática relacionada opcional. La ficha muestra su historial y los periodos de uso por persona. El dominio de la dirección no determina su propiedad: una compañía puede trabajar con varios dominios y las personas pueden utilizar correos externos personales, de clientes, proveedores o colaboraciones.

La cuenta relacionada es solo una referencia documental. No concede acceso ni es obligatoria. Su desactivación o caducidad no sustituye la revisión del buzón y sus usos. Dirección y contexto se pueden actualizar con historial; el tipo queda fijado desde el alta. La dirección se normaliza y es única dentro de la compañía, incluso en buzones inactivos.

«Vincular persona» registra un periodo de uso. En un buzón corporativo representa una autorización documentada; en uno externo documenta el uso sin atribuir su propiedad a la compañía. El inicio está incluido y el día de fin está excluido. Se admite finalizar el mismo día, sin periodo vigente. No se solapan periodos de la misma persona y buzón; varias personas pueden utilizar el mismo buzón simultáneamente.

Persona, buzón e inicio quedan fijos. Finalizar conserva el historial; un periodo finalizado no se reabre ni modifica. Para otro periodo se crea una nueva vinculación. Se pueden cerrar usos aunque la persona o el buzón ya estén inactivos.

Configuración por perfil

«Correos en dispositivos» relaciona perfil de usuario + buzón, método (POP, IMAP, Exchange u otro), estado y notas. El perfil identifica la persona y el equipo. No se solicita otra cuenta informática ni se vuelve a introducir la dirección. También se puede consultar y configurar el correo desde cada fila de «Perfiles de usuario».

Por ejemplo, el perfil de Ana en su portátil puede tener agarcia@uecko.com por IMAP, administracion@pino.com por IMAP y pedidos@uecko.com por POP. Ese mismo buzón podría configurarse en su smartphone mediante otro perfil. El cliente de correo y otras necesidades del perfil se incorporarán en entregas posteriores.

El alta abre un modal desde la cabecera. Los selectores reutilizables ofrecen «+» para crear perfiles y buzones sin perder el formulario principal. Si falta el periodo de uso, una acción explícita permite registrarlo. El modal adicional utiliza opciones existentes; no abre un tercer nivel. Guardar selecciona el elemento creado; cancelar conserva los valores del padre. Una alta ya guardada permanece aunque se cancele el correo. La ayuda aparece inmediatamente antes de Guardar y Cancelar.

Reglas y revisión

Todas las referencias pertenecen a la compañía. Para crear una configuración pendiente o configurada se exige perfil y buzón activos, persona activa, equipo no retirado y uso vigente del buzón por esa persona. Cambiar el método o pasar a configurado vuelve a comprobar la disponibilidad. Se permiten notas y retirada aunque ya se haya perdido la disponibilidad.

Solo existe una configuración abierta por perfil y buzón. El bloqueo de compañía y una clave única protegen la exclusividad concurrente. Ambos destinos quedan fijos tras el alta. No se borran registros; un cambio equivalente no añade revisión.

Estados:

  • Pendiente de configurar → Configurado o No llegó a configurarse.
  • Configurado → Pendiente de retirar.
  • Pendiente de retirar → Retirado.
  • Retirado y No llegó a configurarse son terminales. Una nueva configuración utiliza otro UUID.

Finalizar el uso, desactivar la persona o el buzón, archivar el perfil o retirar el equipo conserva las configuraciones y marca para revisión las que sigan abiertas. No se revocan accesos ni se modifica físicamente el equipo automáticamente. La dirección actual se muestra desde el buzón; las revisiones conservan la dirección conocida al registrarlas.

Compatibilidad con registros anteriores

La migración amplía referencias y admite el formato anterior en lectura. No genera buzones, no atribuye su propiedad y no inventa perfiles. Conserva UUID, valores y revisiones anteriores.

Los registros abiertos anteriores aparecen como pendientes de vinculación. Editar permite elegir o crear un buzón con la misma dirección y un perfil de la misma persona y dispositivo. Se conserva el UUID del registro y se añade una revisión; las anteriores mantienen su formato y cuenta informática original. Los registros terminales anteriores siguen disponibles en el historial.

Arquitectura y API

Resource es el agregado editable del buzón. Mailbox permanece como proyección de compatibilidad de lectura y MailboxUse mantiene su AggregateRoot; sus revisiones son DomainEntity. MailboxValues y MailboxUseValues son Value Objects inmutables, con EmailAddress, UniqueID, CalendarDate y Maybe. MailConfiguration conserva su agregado y revisiones, con referencias al perfil y al buzón. Las altas generan UUID v7; actualizar y rehidratar conservan la identidad.

Las migraciones explícitas e idempotentes crean mailboxes, mailbox_uses y sus revisiones, y amplían mail_configurations. La persistencia verifica referencias, pertenencia, historial ordenado, última revisión y claves derivadas. Las escrituras son transaccionales, bloqueando primero la compañía. El inventario se consulta mediante el servicio público de activos, inyectado en compañías.

  • GET /api/mailboxes/:companyId devuelve buzones, usos e historial.
  • POST /api/resources/:companyId y POST /api/resources/:companyId/:id/update guardan el buzón como recurso. Las antiguas escrituras de buzón devuelven 409 RESOURCE_MOVED.
  • POST /api/mailboxes/:companyId/uses y POST /api/mailboxes/:companyId/uses/:id/update reciben values del periodo.
  • GET /api/mail-configurations/:companyId devuelve configuraciones, revisiones, legacy y needsReview calculado.
  • POST /api/mail-configurations/:companyId y POST /api/mail-configurations/:companyId/:id/update reciben values con profileId, mailboxId, method, state y notes.

Sesión obligatoria; las escrituras exigen origen válido y CSRF. El actor se obtiene de la sesión. No se almacenan contraseñas.

Alcance y pruebas

Incluye buzones corporativos y externos, varios buzones por persona, varios perfiles por buzón, periodos de uso, revisión de retirada y conservación del legado. Los dispositivos externos personales, programas, carpetas, impresoras, certificados, listas de baja, licencias y roles quedan pendientes.

Las pruebas cubren fechas y solapes, permisos vigentes, múltiples buzones/perfiles/personas, UUID e historial, idempotencia, ámbito, concurrencia, protección HTTP, retirada, vinculación explícita del legado, corrupción persistida y textos es/en con ayuda inferior.

Traspaso al catálogo de recursos

Los buzones existentes y todas sus revisiones se han migrado manteniendo los UUID, actores, fechas y relaciones. Su edición ya utiliza Resource. Las tablas antiguas se conservan como proyecciones transaccionales para los usos y configuraciones actuales, sin gestión independiente. Véase Recursos, campos y plantillas.