Proje: OkulUp API · Hub: OkulUp API — Domain

OkulUp API — Duyuru Modülü

Hedefleme (Targeting)

Bir duyuru şu şekilde hedeflenebilir:

KapsamNasıl
Okul geneliclass_id=null, student_id=null
Sınıfa özelclass_id=X
Öğrenciye özelstudent_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.