Discourseをコミックレビュー/ディスカッションプラットフォームとして使用する

私のボードゲームコミュニティでは、まさにそれを行っています。ボードゲームがデータベースに追加された(または名前が変更された)ときには、タグと2つのカスタムトピックが作成/更新されます。

記憶が正しければ、これを担当していたとき、単一のタグを作成するための特定のAPIエンドポイントはありませんでした(トピック作成時に新しいタグを追加することはできますが)。しかし、バッチタグアップロードを使用してこれを実行することができました。

以下のようなものです。

const formData = new FormData();
formData.append("file", Buffer.from("the-tag-name,an-optional-tag-group"), {
  contentType: "text/csv",
  filename: "tags.csv",
});
const { data } = await axios.post(`${process.env.DISCOURSE_URL}/tags/upload.json`, formData, {
  headers: {
    ...formData.getHeaders(),
    "Api-Key": process.env.API_KEY,
  },
});