Saltar a contenido

Usuarios

Descripción

Los usuarios son personas que utilizan la plataforma E-Training. Cada usuario se identifica por un email único y tiene asociado un rol, una organización, un E-Mode (modo existencial) y un nivel de conocimiento sobre E-Modes. Ver 01-organizaciones.md, 03-roles.md, 05-modos-existenciales.md y 06-niveles.md.

Reglas fundamentales:

  • Un usuario debe tener un rol y no puede tener más de uno.
  • Un usuario debe pertenecer a una organización y no puede pertenecer a más de una.

Alta, modificación y eliminación (ABM)

Desde la API, los usuarios pueden ser creados, modificados y eliminados (soft) por usuarios autenticados con los permisos adecuados.

  • Alta: Un usuario con permiso puede crear otro usuario en su misma organización. El sistema asigna automáticamente la organización del usuario que crea (desde el token). Se deben indicar email, contraseña, nombre, apellido y rol. El email debe ser único; si ya existe, se devuelve error.
  • Modificación: Se puede actualizar nombre, apellido, rol, estado activo, nivel y contraseña. Solo se envían los campos que se desean cambiar. Los identificadores del usuario (id, email, organización) no son editables.
  • Eliminación: La eliminación es soft: el usuario no se borra de la base de datos, se marca con fecha de eliminación. Los listados y consultas por id no devuelven usuarios eliminados.

Creación de usuarios

Los usuarios no se registran por sí solos en el flujo público. Se crean de estas formas:

  1. Registro de organización: Al crear una organización, se crea simultáneamente el primer usuario (contacto principal). Ver 08-registro.md.
  2. Invitación: La organización invita a usuarios por email; el usuario completa el registro mediante un enlace. Ver 09-invitaciones.md.
  3. Alta desde la API (ABM): Un usuario autenticado con permisos puede crear usuarios en su organización mediante POST /users, como se describe arriba.

Onboarding y nivel por defecto

  • Tras el registro (por registro de org o invitación), el usuario debe completar un onboarding (explicación del sistema + test si aplica). Ver 05-modos-existenciales.md.
  • Todo usuario tiene un nivel asignado; por defecto será NIVEL_1 (nivel 1). Ver 06-niveles.md.

Condiciones de negocio (resumen)

  • Un usuario tiene exactamente un rol y una organización.
  • Los usuarios se crean por registro de organización (primer usuario), invitación o alta desde la API (en la organización del creador).
  • Un mismo email no puede estar asociado a más de un usuario.
  • Los usuarios eliminados (soft delete) no aparecen en listados ni en consultas por id.