Cómo encontrar una etiqueta usando la plugin-api

Tengo la siguiente declaración de importación en mi código (lado de javascript):

import Tag from "discourse/models/tag";

Sin embargo, no puedo usarla para recuperar un objeto de etiqueta por su nombre. Mi objetivo es obtener la descripción de la etiqueta, pero solo tengo el nombre. Esperaba algo similar a esto:

const tagObj = Tag.find("tag_name");
const tagDesc = tagObj.description;

¿Tiene el modelo Tag una función similar?

1 me gusta

Puedes obtener datos de etiquetas desde el endpoint /tags.json.

En este ejemplo, estoy obteniendo la descripción de una etiqueta email:

import { ajax } from "discourse/lib/ajax";
  ajax(`/tags.json`).then(({ tags }) => {
    const emailTag = tags.find((tag) => tag.name === "email");
    const emailTagDesc = emailTag.description;
  });
4 Me gusta

¡Gracias! Creo que encontré una forma más eficiente de lograr esto:

this.store.find("tag-info", "email").then(data => {
  const tag_desc = data.description
});

Sin embargo, no sé si this.store.find es más rápido que enviar una consulta ajax a todas las etiquetas y filtrar. Quizás esté haciendo lo mismo.

2 Me gusta