Buscar en la documentación

Activar y desactivar

Desactivar una cuenta cierra sus sesiones al instante y nunca deja a Trazo sin Super admin; activarla la devuelve sin tocar nada más.

Módulo users1 min de lecturaVer en GitHub

Una cuenta no se borra: se desactiva. Así sus incidentes, su historial y su auditoría siguen apuntando a una persona real. Una cuenta desactivada no puede ingresar (recibe el mismo mensaje que unos datos incorrectos) y no aparece para recibir incidentes. Sus incidentes asignados no se reasignan solos: es decisión de quien supervisa.

Diagrama5 carriles · 7 pasos · 2 salidas de error
SíNoSíNoPulsa Desactivar yconfirma1Envía POST/users/{id}/deactivate2¿Puedeadministrarlay está activa?3Responde 403 o409Si es Superadmin, ¿quedaotro activo?4Responde 409LAST_SUPER_ADMINLa desactiva yborra sus sesiones5Recibesession.changed6Su pantalla secierra con aviso yrecibe un correo7
Los números coinciden con el paso a paso. En pantallas pequeñas el diagrama se desliza de lado.

Paso a paso

  1. AdministraciónPulsa Desactivar y confirma

    En la ficha de la persona; el botón aparece solo si la API lo permite (actions).

  2. NavegadorEnvía POST /users/{id}/deactivate
  3. API¿Puede administrarla y está activa?

    users.activate, no ser él mismo y tener un nivel mayor.

  4. Base de datosSi es Super admin, ¿queda otro activo?

    Lee los Super admin activos con FOR UPDATE dentro de la transacción: dos desactivaciones a la vez no pueden dejar a Trazo sin ninguno.

  5. Base de datosLa desactiva y borra sus sesiones

    En la misma transacción: is_active = false, todos sus tokens revocados y admin_actions (user_deactivated).

  6. Persona afectadaRecibe session.changed

    Por su canal personal, si tiene Trazo abierto.

  7. Persona afectadaSu pantalla se cierra con aviso y recibe un correo

    Al pedir /auth/me la API responde UNAUTHENTICATED. Aunque el aviso no llegue, la regla de cada token rechaza las cuentas desactivadas en la siguiente petición.

Activar (POST /users/{id}/activate) sigue el mismo camino sin el paso del Super admin ni el cierre de sesiones; la persona vuelve a entrar con su contraseña de siempre y recibe un correo.

Qué ve la persona en cada error

CódigoHTTPCuándoMensaje en pantalla
USER_ALREADY_INACTIVE409Ya estaba desactivadaEsta cuenta ya está desactivada. Recarga la página para ver su estado actual.
USER_ALREADY_ACTIVE409Ya estaba activaEsta cuenta ya está activa. Recarga la página para ver su estado actual.
LAST_SUPER_ADMIN409Es el último Super admin activoTrazo necesita al menos un Super admin activo. Antes de este cambio, da el rol de Super admin a otra persona.
USER_SELF_MANAGEMENT403Intenta desactivarse a sí mismoTu propio rol, tus permisos, tu estado y tu acceso los cambia otra persona que administre Trazo.
USER_OUTRANKED403La persona tiene su mismo nivel o uno mayorEsta persona tiene un rol de tu mismo nivel o superior, así que no puedes cambiar su cuenta.

Dónde está en el código