Proje: Okul B2B App · Hub: Okul B2B App — Domain
Okul İçerikleri (Duyuru/Etkinlik/Başarı)
content tab’ında yönetilen üç tür içerik.
İçerik Türleri (SchoolContentType)
| Tür | Endpoint | Açıklama |
|---|---|---|
announcements | /customer/school-content/announcements | Duyurular |
events | /customer/school-content/events | Etkinlikler |
achievements | /customer/school-content/achievements | Başarılar |
CRUD İşlemleri
SchoolContentService tüm türler için aynı interface’i kullanır:
SchoolContentService.getList(contentType, page, pageSize, filters, sort, bypassCache)
SchoolContentService.getById(contentType, id)
SchoolContentService.create(contentType, payload)
SchoolContentService.update(contentType, id, payload)
SchoolContentService.delete(contentType, id)
SchoolContentService.toggleStatus(contentType, id, isActive)Filtreler
filter[school_ids][]→ okul bazlı filtreleme (array)filter[search]→ metin aramafilter[is_active]→ aktif/pasif filtresisort=-created_at→ varsayılan sıralama (en yeni önce)
Görsel Yükleme
İçeriklere görsel eklenebilir. Görseller içerikle birlikte form alanı olarak gönderilir. Duyuru görselleri 1:1 full width olarak gösterilir (commit d27da64 sonrasında düzeltildi).
API Hata Yönetimi
ServerError sınıfı üzerinden field-level validation hataları yakalanır:
const fieldErrors = error.getFieldErrors();
// { title: ["Başlık zorunludur"], ... }Related
- firma-okul-hiyerarsisi — okul context’i
- galeri-yonetimi — görsel içerikler