Proje: OkulUp API · Hub: OkulUp API — Domain
OkulUp API — Duyuru Modülü
Hedefleme (Targeting)
Bir duyuru şu şekilde hedeflenebilir:
| Kapsam | Nasıl |
|---|---|
| Okul geneli | class_id=null, student_id=null |
| Sınıfa özel | class_id=X |
| Öğrenciye özel | student_id=X |
Publish Akışı
published_at=null → taslak
published_at=datetime → yayında
Okundu Takibi
announcement_reads tablosu. AnnouncementRead::create() ile işaretlenir.
Model scope: scopeWithReadStateForUser() → is_read boolean ekler.
Yetki
- Görüntüleme: tüm roller (rol bazlı scope)
- Oluşturma/Güncelleme: admin, manager, teacher
- Silme: sadece admin/manager
Dashboard’daki Kullanım
DashboardController::getRecentAnnouncements() — her rol için farklı scope.
Auditable
Announcement modeli Auditable trait kullanır — değişiklikler loglanır.
Related
- bildirim-sistemi — announcement_published bildirimi
- dashboard-cache-pattern — recent_announcements