Endpoints / Usuarios

PATCH

Actualizar estado de usuario

Actualiza el estado de un usuario de la empresa autenticada.

PATCH/users/:id/status

Caso de Uso

Se usa cuando se necesita activar, inactivar o eliminar lógicamente a un usuario de la misma empresa. Al usarlo, el usuario obtiene una confirmación de que el estado fue actualizado correctamente.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`.

Parámetros de ruta

idstringobligatorio

Identificador del usuario al que se le actualizará el estado.

Body

usestadostringobligatorio

Nuevo estado del usuario. Valores permitidos: activo, inactivo o eliminado.

Reglas de negocio

1

El usuario autenticado debe pertenecer a una empresa activa.

2

El usuario autenticado debe estar activo.

3

Solo se permite actualizar usuarios de la misma empresa del usuario autenticado.

4

El usuario objetivo debe existir dentro de la empresa autenticada.

5

Los estados permitidos son activo, inactivo y eliminado.

6

Si el usuario objetivo ya está eliminado, no se permite cambiar su estado.

7

El endpoint solo cambia el estado y no devuelve los datos actualizados del usuario.

Errores esperados

400El id de usuario es requerido

No se envió un identificador de usuario válido en la ruta.

401No autorizado

No se envió un token JWT válido o el token no fue aceptado.

404Usuario no encontrado

No existe un usuario con el id indicado dentro de la empresa autenticada.

500El estado de usuario es requerido

No se envió el campo usestado en el body.

500El estado de usuario debe ser activo, inactivo o eliminado

El valor enviado en usestado no corresponde a un estado permitido.

500El código de empresa no es inválido

No se encontró la empresa asociada al usuario autenticado.

500La empresa no está activa

La empresa del usuario autenticado no está en estado activo.

500El usuario no existe

No se encontró el usuario autenticado en la empresa.

500El usuario no pertenece a la empresa

El usuario autenticado no pertenece a la empresa asociada al token.

500El usuario no puede acceder a otra empresa

El usuario autenticado intenta operar sobre una empresa diferente.

500El usuario no es jefe, empleado o administrador

El rol del usuario autenticado no está permitido para acceder al módulo de usuarios.

500El usuario no está activo

El usuario autenticado no está en estado activo.

500El usuario eliminado no puede cambiar de estado

El usuario objetivo ya está eliminado y no puede volver a modificarse.

500Error al actualizar el estado del usuario

Ocurrió un error interno al guardar el nuevo estado.

Notas de uso

1

Envía el id del usuario en la ruta, no en el body.

2

Envía el body en formato JSON con el header Content-Type: application/json.

3

Usa únicamente los valores activo, inactivo o eliminado para usestado.

4

Usa eliminado para una baja lógica del usuario.

5

Después de una actualización exitosa, consulta el usuario o la lista de usuarios si necesitas ver el estado actualizado.