Saltearse al contenido

Actualizar Enum

Actualiza un modelo Enum existente: su nombre y el conjunto completo de valores. Igual que en PUT /model/entity, el body describe el estado final deseado y el servidor lo reconcilia con el enum actual por id de valor.

Cómo funciona la reconciliación

Los values que envías reemplazan la lista de valores del enum, emparejados por id:

  • un valor con un id existente → se mantiene; cambia su string value para renombrarlo (la nueva etiqueta se propaga al contenido existente);
  • un valor sin id → se añade un nuevo valor al final;
  • un valor existente cuyo id está ausente de la lista → se elimina, y se borra de todo el contenido que lo usaba.

Endpoint

shell
curl -X PUT https://api.contentisland.net/api/1.0/model/enum/:id \
--header 'Authorization: Bearer TU_WRITE_TOKEN' \
--header 'Content-Type: application/json' \
--data '{ ... }'

Path Parameters

NombreTipoObligatorioDescripción
idstringEl id de 24 caracteres del enum a actualizar.

Body

interface UpdateEnumPayload {
name: string; // nombre del enum (puede renombrar el enum)
values: EnumValueSpec[]; // la lista de valores completa deseada, emparejada por id
}
interface EnumValueSpec {
id?: string; // inclúyelo para preservar/renombrar un valor existente; omítelo para añadir uno nuevo
value: string;
}

Ejemplo

Renombra SizeTshirtSize, renombra el valor SSmall (manteniendo su id), añade XL y elimina L al omitirlo:

shell
curl -X PUT https://api.contentisland.net/api/1.0/model/enum/660f5b8a3a1c2d4e7f8b34cd \
--header 'Authorization: Bearer TU_WRITE_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "TshirtSize",
"values": [
{ "id": "880b7d0c5c3e4f6a9b0d1234", "value": "Small" },
{ "id": "880b7d0c5c3e4f6a9b0d5678", "value": "M" },
{ "value": "XL" }
]
}'

Respuesta

En caso de éxito, el endpoint devuelve 200 OK con el id del enum:

{
"id": "660f5b8a3a1c2d4e7f8b34cd"
}

Códigos de estado

CódigoDescripción
200El enum se actualizó. El cuerpo de la respuesta contiene el id del enum.
400Payload inválido — nombre incorrecto, values vacío, o valores duplicados.
401No autorizado. El token está ausente, malformado o ha expirado.
403Prohibido. El token no tiene permisos de escritura — usa un Write Token.
404No existe ningún enum con el :id dado en el proyecto.
500Error interno del servidor.