هذا بالضبط ما أفعله في مجتمع ألعاب الطاولة الخاص بي: كلما تمت إضافة لعبة لوحية (أو تغيير اسمها) إلى قاعدة بياناتي، يتم إنشاء/تحديث علامة وموضوعين مخصصين.
على ما أذكر، عندما عملت على هذا، لم يكن هناك نقطة نهاية محددة لإنشاء علامة واحدة (يمكنك إضافة علامة جديدة عند إنشاء موضوع)، لكنني تمكنت من استخدام تحميل الدُفعات للعلامات للقيام بذلك.
شيء من هذا القبيل:
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,
},
});