디스코스를 코믹 리뷰/토론 플랫폼으로 활용하기

저희 보드게임 커뮤니티에서 정확히 이렇게 하고 있습니다. 데이터베이스에 보드게임이 추가되거나 이름이 변경되면, 태그와 사용자 정의 토픽 두 개가 생성/업데이트됩니다.

기억이 정확하지는 않지만, 이 작업을 할 때 단일 태그를 생성하기 위한 특정 엔드포인트는 없었던 것 같습니다(다만 토픽을 생성할 때 새 태그를 추가할 수는 있었습니다). 대신 배치 태그 업로드 기능을 활용해서 처리했습니다.

아래와 같은 코드입니다:

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,
  },
});