Etiketler
Etiketler serbest formlu tag'lerdir. Her gönderi birçok etiket taşıyabilir ve çoğu list endpoint'i bir labels filtre query parametresi kabul eder.
Endpoint'ler
Hepsi /api/v1/post-labels altında:
GET /post-labels—search,status,page,perPageile listele (varsayılanpage=1,perPage=25).POST /post-labels—{ name, desc?, color?, status? }ile oluştur.PUT /post-labels/:id— güncelle.PATCH /post-labels/:id/status— aç/kapa.DELETE /post-labels/:id— kaldır.
Etiket modeli
typescript
{
user: ObjectId,
team_id: ObjectId,
name: string,
desc: string,
color: string, // hex / named
status: number,
postSucceed: number, // sayaç
postFailed: number,
}color alanı açık bir string'tir; paleti frontend seçer.
Etiket uygulama
Gönderilerin labels?: ObjectId[] alanı vardır. Oluşturma anında POST /api/v1/posts body'si içinde uygula veya sonra güncelle:
PUT /api/v1/posts/:id
{ "labels": ["<labelId1>", "<labelId2>"] }Ayrı bir join koleksiyonu yoktur; etiket ID'leri dizisi doğrudan gönderiye gömülüdür.
Etikete göre filtreleme
Çoğu list endpoint'i ?labels=<id1>,<id2> kabul eder. Yayın UI'sı /app/publishing sayfasında bir etiket chip filtresi sergiler.