Proje: Okul Platform · Hub: Okul Platform — Conventions
Observer’lar (app/Observers/)
RevisionObserver (aktif)
Revision::observe(RevisionObserver::class) — EventServiceProvider’da kayıtlı.
- Sadece
action === 'updated'olan revision’larda çalışır - Revision’da sadece değişen field’ları tutar (old/new JSON)
- Array değerleri JSON’a çevirir
LeadObserver (DEPRECATED - aktif değil)
@deprecated — Notlar artık Customer.io üzerinden gönderilecek. (Ege, 2025-12-09)
AppServiceProvider’da comment’li: // Lead::observe(LeadObserver::class);
InflationRateObserver
Enflasyon oranı değiştiğinde müşteri sözleşmelerini günceller.
CustomerAgreementObserver
Sözleşme değişikliğinde yan etkiler.
ArticleObserver
Makale kayıt/güncelleme olayları.
SchoolReferralObserver
Okul yönlendirme değişikliklerini takip eder.
Revisionable Sistemi
sofa/revisionable paketi — Model değişiklik geçmişi.
Revisionable modeller: School, Lead, Customer, CustomerAgreement, Checkout, Media, Article, SchoolComment, CreditCardPayment, SchoolInteraction, SaleSchoolAppointment…
Her modelde: public string $revisionPresenter = Presenters\X::class;
Revision tablosu: revisions — revisionable_type, revisionable_id, user_id, action, table_name, old, new
İzinler: VIEW_REVISION — Revision geçmişini görebilmek için.
Token Adları (AccessTokenNameType)
Sanctum token’larına verilen isimler:
login— Normal email/password loginotp-code— OTP ile loginhash— Hash login (school → api aktarım)
Related
- api-code-conventions — Genel kod konvansiyonları
- api-auth-system — Token tipleri