Skip to content

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-labelssearch, status, page, perPage ile listele (varsayılan page=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.

İlgili