Endpoints / Empresas

PATCH

Actualizar estado de empresa

Actualiza el estado de una empresa, permitiendo activar, inactivar o eliminar lógicamente desde administración central.

PATCH/companies/:id/status

Caso de Uso

Se usa cuando un administrador necesita cambiar el estado de una empresa hija, ya sea para activarla, inactivarla temporalmente o marcarla como eliminada. Al usarlo, el usuario obtiene un mensaje de confirmación del cambio de estado.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`. Solo permite acceso a usuarios con rol administrador. La empresa del usuario autenticado debe estar activa y ser empresa padre.

Parámetros de ruta

idstringobligatorio

Identificador de la empresa.

Body

emestadostringobligatorio

Nuevo estado de la empresa; acepta activo, inactivo o eliminado.

Reglas de negocio

1

Solo un usuario con rol administrador puede cambiar el estado de una empresa.

2

La empresa del usuario autenticado debe ser empresa padre.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

emestado es obligatorio y solo acepta activo, inactivo o eliminado.

6

Si la empresa objetivo está en estado eliminado, no puede cambiarse su estado nuevamente.

7

Este endpoint puede operar sobre cualquier empresa hija, no solo sobre la del usuario autenticado.

Errores esperados

401No autorizado

No se envió un token JWT válido o el token no contiene información válida del usuario.

400El id de empresa es requerido

No se envió el parámetro id en la ruta.

404Empresa no encontrada

La empresa objetivo no existe o la actualización no se completó.

500El id de empresa es requerido

El id enviado al servicio fue vacío.

500El estado de empresa es requerido

emestado fue enviado vacío.

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

emestado tiene un valor no permitido.

500La empresa eliminada no puede cambiar de estado

La empresa objetivo ya está en estado eliminado.

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

La empresa asociada al usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada al usuario autenticado está inactiva.

500La empresa no es empresa padre

La empresa del usuario autenticado no es empresa padre.

500El usuario no existe

El usuario autenticado no fue encontrado dentro de su empresa.

500El usuario no pertenece a la empresa

El usuario autenticado no pertenece a la empresa indicada por su sesión.

500El usuario no es administrador

El usuario autenticado no tiene el rol requerido para cambiar el estado de una empresa.

500El usuario no está activo

El usuario autenticado está inactivo y no puede usar el sistema.

Notas de uso

1

Este endpoint no recibe query params.

2

Es un endpoint administrativo y no reemplaza la actualización de datos generales de empresa.

3

La respuesta exitosa no devuelve el objeto empresa completo, solo un mensaje de confirmación.