Saltearse al contenido

getContentListSize

La función getContentListSize permite obtener el número total de elementos de contenido disponibles en un proyecto, ya sea de forma general o aplicando filtros específicos. Es especialmente útil para contar elementos de un modelo particular (como post) o para realizar consultas más detalladas utilizando parámetros como idioma, identificadores específicos o valores de campos personalizados.

Por ejemplo, si necesitas saber cuántos contenidos existen en un modelo llamado post, puedes usar esta función para obtener el conteo exacto.

Ejemplo:

// Usando el cliente que ya hemos creado previamente
const size = await client.getContentListSize({ contentType: 'post' });
console.log(size);

Interfaz

La función getContentListSize acepta de forma opcional un objeto de ContentListSizeQueryParams como parámetro y devuelve una promesa que se resuelve con el tamaño de la lista de contenidos.

export interface ApiClient {
getContentListSize: <Model>(
queryParam?: getContentListSize: <Model>(queryParam?: ContentListSizeQueryParams<Model>) => Promise<number>;
) => Promise<number>;
// ... otros métodos
}

Parámetros

  • queryParam: Un objeto que contiene los parámetros de consulta para filtrar la lista de contenidos. Este parámetro es opcional y si no se proporciona, se devolverá una lista de todos los contenidos del proyecto.
interface ContentListSizeQueryParams {
id?: Filter;
contentType?: Filter;
language?: Filter;
'fields.${string}'?: Filter; // Permite filtrar por valores específicos de campos
// Por ejemplo: 'fields.slug': 'my-post'
}
nombredescripción
idEl campo id del contenido a recuperar. Este filtro es útil cuando se quiere recuperar una lista de contenidos pero se conoce los ids de éstos.
Por ejemplo: client.getContentListSize({ id: { in: ['1', '2', '3']})
contentTypeEl modelo del contenido que queremos recuperar.
Por ejemplo: client.getContentListSize({ contentType: 'post' });
languageEl idioma del contenido que queremos recuperar.
Cuando aplicamos este filtro, solamente devolverá los campos del modelo en el idioma seleccionado y descartará los demás.
Por ejemplo: client.getContentListSize({ language: 'es' });
fields.${string}Permite filtrar por valores específicos de campos.
Ejemplos:
client.getContentListSize({ 'fields.slug': 'my-post' } })
client.getContentListSize({ 'fields.title': { in: ['Hello World', 'Hola Mundo'] } })
Recupera contenidos con campos que coincidan con los valores especificados.
type Filter =
| string
| {
in?: string[];
// A futuro se añadirán más filtros
};
nombredescripción
stringFiltra el contentido donde el parámetro es igual a este valor.
Por ejemplo: client.getContentListSize({ contentType: 'post' })
Recupera una lista de contenidos cuyo modelo es igual a post
inFiltra el contenido donde el parámetro contiene alguno de estos valores.
Por ejemplo: client.getContentListSize({ language: { in: ['es', 'en'] } })
Recupera una lista de contenidos filtrando los campos que coincidan con es y/o en

Salida

La función getContentListSize devuelve una promesa que se resuelve con un número que representa el tamaño de la lista de contenidos que coinciden con los parámetros de consulta proporcionados.

Ejemplo:

const size = await client.getContenListSize({ contentType: 'post' });
console.log(size); // 42 Example output: total number of posts in the project

Puedes ver, la salida es un número que representa el conteo total de elementos de contenido que coinciden con los filtros especificados.