Endpoints / Medidas

PATCH

Actualizar Medida

Actualiza parcialmente los datos editables de una medida, dentro de la empresa del usuario autenticado.

PATCH/medidas/:id

Caso de Uso

Se usa cuando la aplicación necesita modificar el nombre, la abreviatura o el estado de una medida existente. Al usarlo, el usuario obtiene los datos completos de la medida actualizada.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado. La empresa y el usuario autenticado deben estar activos.

Parámetros de ruta

idstringobligatorio

Identificador de la medida.

Body

mdianombrestring opcional

Nuevo nombre de la medida; debe ser único dentro de la empresa.

mdiaabreviaturastring opcional

Nueva abreviatura de la medida; debe ser única dentro de la empresa.

mdiaestadostring opcional

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

Reglas de negocio

1

Solo un usuario con rol jefe o empleado puede actualizar medidas.

2

Solo permite actualizar medidas de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

La medida debe existir dentro de la empresa autenticada.

6

Una medida con estado eliminado no puede actualizarse.

7

Debe enviarse al menos un campo editable con un valor diferente al actual.

8

Si se envía mdianombre, no puede estar vacío.

9

Si se envía mdiaabreviatura, no puede estar vacía.

10

mdianombre no puede repetirse en otra medida de la misma empresa.

11

mdiaabreviatura no puede repetirse en otra medida de la misma empresa.

12

Si se envía mdiaestado, solo puede ser activo, inactivo o eliminado.

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 medida es requerido

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

404Medida no encontrada

La medida no existe dentro de la empresa del usuario autenticado o la actualización no devolvió resultados.

500El nombre de medida es requerido

mdianombre fue enviado vacío.

500La abreviatura de medida es requerida

mdiaabreviatura fue enviado vacío.

500El estado de medida es requerido

mdiaestado fue enviado vacío.

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

mdiaestado tiene un valor no permitido.

500La medida eliminada no puede ser actualizada

La medida existe, pero está en estado eliminado.

500Ya existe una medida con ese nombre

Otra medida de la misma empresa ya usa el mdianombre enviado.

500Ya existe una medida con esa abreviatura

Otra medida de la misma empresa ya usa la mdiaabreviatura enviada.

500Al menos un campo es requerido para actualizar la medida

No se envió ningún campo editable o todos los valores enviados son iguales a los actuales.

500La empresa no existe

La empresa asociada al usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada al usuario autenticado está inactiva.

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 puede acceder a otra empresa

El usuario autenticado intentó acceder a una empresa distinta a la suya.

500El usuario no es jefe, empleado o administrador

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

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para actualizar medidas.

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

Envía solo los campos que deseas actualizar.

3

El body debe incluir al menos un campo editable con un valor distinto al actual.

4

mdiaestado permite el valor eliminado para eliminación lógica de la medida.