Endpoints / Marcas

PATCH

Actualizar marca

Actualiza parcialmente los datos editables de una marca de la empresa del usuario autenticado.

PATCH/brands/:id

Caso de Uso

Se usa cuando la aplicación necesita modificar el nombre o estado de una marca existente. Al usarlo, el usuario obtiene la marca actualizada con sus datos vigentes.

Autenticación

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

Parámetros de ruta

idstringobligatorio

Identificador de la marca.

Body

mrcnombrestring opcional

Nuevo nombre de la marca.

mrcestadostring opcional

Nuevo estado de la marca; acepta activo o inactivo.

Reglas de negocio

1

Solo permite actualizar marcas de la empresa del usuario autenticado.

2

La empresa del usuario autenticado debe estar activa.

3

El usuario autenticado debe estar activo.

4

El usuario autenticado debe tener rol jefe o empleado.

5

La marca debe existir dentro de la empresa autenticada.

6

Una marca 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 mrcnombre, no puede estar vacío.

9

mrcnombre no puede repetirse en otra marca de la misma empresa.

10

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

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

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

404Marca no encontrada

La marca no existe o no pertenece a la empresa autenticada.

500El nombre de marca es requerido

mrcnombre fue enviado vacío.

500El estado de marca es requerido

mrcestado fue enviado vacío.

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

mrcestado tiene un valor no permitido.

500Al menos un campo es requerido para actualizar la marca

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

500Ya existe una marca con ese nombre

Otra marca de la misma empresa ya usa el mrcnombre enviado.

500La marca eliminada no puede ser actualizada

La marca existe, pero está en estado eliminado.

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ó operar sobre 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 marcas.

500El usuario no es jefe o empleado

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

500El usuario no está activo

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

500Error updating brand by id

Ocurrió un error interno al actualizar la marca.

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

La comparación de nombres existentes se realiza ignorando mayúsculas, minúsculas y espacios extremos.

5

Aunque el mensaje de validación menciona eliminado, la validación actual solo acepta activo o inactivo para mrcestado.