Saltearse al contenido

updateModel

La función updateModel actualiza un modelo Entity existente. Es el equivalente en JavaScript/TypeScript del endpoint REST PUT /model/entity/:id.

Los params describen el estado final deseado del modelo; el servidor los reconcilia con el modelo actual por id de campo. Mantén el id de cada campo que quieras preservar, añade campos sin id y omite un campo para eliminarlo (lo que también borra sus valores del contenido existente).

Ejemplo:

// Renombra el modelo, mantiene `title` (fíjate en su id), añade un campo; cada campo omitido se elimina.
const { id } = await client.updateModel(modelId, {
name: 'BlogArticle',
fieldList: [
{ id: titleFieldId, name: 'title', type: 'short-text', validations: [{ name: 'required' }, { name: 'max-length', customArgs: { length: 200 } }] },
{ name: 'readingMinutes', type: 'number' },
],
});

Interface

export interface ApiClient {
updateModel: (modelId: string, params: UpdateEntityParams) => Promise<SaveModelResponse>;
// ... otros métodos
}
// Misma forma que CreateEntityParams — ver createModel para FieldSpec / Validation.
export type UpdateEntityParams = CreateEntityParams;
export interface SaveModelResponse {
id: string;
}

Parámetros

NombreDescripción
modelIdEl id de la entidad a actualizar.
paramsEl nuevo nombre y la lista fieldList completa deseada. Consulta createModel para la forma de FieldSpec, los tipos de campo y las validaciones.

Salida

Devuelve una Promise<SaveModelResponse> que se resuelve con { id }. En caso de fallo, lanza un ApiClientError tipado — NOT_FOUND si ninguna entidad tiene ese id, VALIDATION_ERROR para un payload incorrecto.