Endpoints / Categorías
Actualizar categoría
Actualiza parcialmente los datos editables de una categoría de la empresa del usuario autenticado.
/categories/:idCaso de Uso
Se usa cuando la aplicación necesita modificar el nombre, descripción o estado de una categoría existente. Al usarlo, el usuario obtiene la categoría actualizada con sus datos vigentes.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`.
Parámetros de ruta
idstringobligatorioIdentificador de la categoría.
Body
ctgnombrestring opcionalNuevo nombre de la categoría.
ctgriadescripcionstring | null opcionalNueva descripción de la categoría; puede enviarse como null.
ctgriaestadostring opcionalNuevo estado de la categoría; acepta activo o inactivo.
Reglas de negocio
Solo permite actualizar categorías de la empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
El usuario autenticado debe tener rol jefe o empleado.
La categoría debe existir dentro de la empresa autenticada.
Una categoría con estado eliminado no puede actualizarse.
Debe enviarse al menos un campo editable con un valor diferente al actual.
Si se envía ctgnombre, no puede estar vacío.
ctgnombre no puede repetirse en otra categoría de la misma empresa.
Si se envía ctgriadescripcion como texto, no puede estar vacía.
ctgriadescripcion puede enviarse como null.
Si se envía ctgriaestado, solo puede ser activo o inactivo.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
No se envió el parámetro id en la ruta.
La categoría no existe o no pertenece a la empresa autenticada.
ctgnombre fue enviado vacío.
ctgriadescripcion fue enviada como texto vacío.
ctgriaestado fue enviado vacío.
ctgriaestado tiene un valor no permitido.
No se envió ningún campo editable o todos los valores enviados son iguales a los actuales.
Otra categoría de la misma empresa ya usa el ctgnombre enviado.
La categoría existe, pero está en estado eliminado.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado está inactiva.
El usuario autenticado no fue encontrado dentro de su empresa.
El usuario autenticado no pertenece a la empresa indicada por su sesión.
El usuario autenticado intentó operar sobre una empresa distinta a la suya.
El rol del usuario no está permitido para acceder al módulo de categorías.
El usuario autenticado no tiene un rol permitido para actualizar categorías.
El usuario autenticado está inactivo y no puede usar el sistema.
Ocurrió un error interno al actualizar la categoría.
Notas de uso
Este endpoint no recibe query params.
Envía solo los campos que deseas actualizar.
El body debe incluir al menos un campo editable con un valor distinto al actual.
ctgriadescripcion puede enviarse como null para limpiar la descripción.
La comparación de nombres existentes se realiza ignorando mayúsculas, minúsculas y espacios extremos.
Aunque el mensaje de validación menciona eliminado, la validación actual solo acepta activo o inactivo para ctgriaestado.