Model Atlası
Platform 19 Eloquent modeli kullanmaktadır. Tüm modeller SoftDeletes ve is_active özelliklerine sahiptir.
Model Listesi
Kullanıcı Yönetimi
- User - Kullanıcı modeli (UUID, HasApiTokens, RBAC)
- UserDetail - Kullanıcı profil detayları
- UserSetting - Kullanıcı ayarları (locale, timezone, currency)
RBAC
- Role - Roller (priority bazlı hiyerarşi)
- Permission - İzinler (slug + Türkçe isim)
Organizasyon & Müşteri
- Organization - Organizasyonlar (UUID, slug)
- Customer - Müşteriler (UUID, user_id)
- CustomerDetail - Müşteri detayları (sektör, finansal bilgiler)
Başvurular
- Application - Başvurular (UUID, customer_id, type, status)
- ApplicationSubject - Başvuru konuları (katalog)
İçerik & Raporlar
- Content - İçerik yönetimi (UUID, slug, type, status)
- Report - Raporlar (UUID, report_type, filters)
Bildirimler & Entegrasyonlar
- Notification - Bildirimler (UUID, type, is_read)
- ApiKey - API anahtarları (UUID, key hash, expires_at)
- Integration - Entegrasyonlar (UUID, type, provider, config)
Lokalizasyon & Para Birimi
- Locale - Diller (code, native_name, sort_order)
- Currency - Para birimleri (code, symbol, decimal_places)
- Translation - Çeviriler (key, locale, group, value)
Sistem
- AuditLog - Denetim logları (polymorphic, old_values/new_values)
Ortak Özellikler
Soft Delete
Tüm modeller SoftDeletes trait'ini kullanır:
use Illuminate\Database\Eloquent\SoftDeletes;
class Model extends Model
{
use SoftDeletes;
}
is_active
Tüm modeller is_active boolean kolonuna sahiptir (varsayılan: true).
UUID
Public erişim gereken modeller uuid kolonuna sahiptir ve getRouteKeyName() metodu ile route key olarak kullanılır:
public function getRouteKeyName(): string
{
return 'uuid';
}
İlişkiler
User İlişkileri
hasOne(UserDetail)- Kullanıcı detaylarıhasOne(UserSetting)- Kullanıcı ayarlarıbelongsToMany(Role)- RollerbelongsToMany(Permission)- İzinlerbelongsToMany(Organization)- OrganizasyonlarhasMany(Customer)- MüşterilermorphMany(AuditLog)- Denetim logları
Customer İlişkileri
belongsTo(User)- KullanıcıhasOne(CustomerDetail)- Müşteri detaylarıhasMany(Application)- BaşvurularmorphMany(AuditLog)- Denetim logları
Observer'lar
Her model için ilgili observer tanımlıdır. Observer'lar:
- UUID oluşturma
- Slug üretimi
- Varsayılan değer atama
- İlişki side-effect'leri
Detaylı bilgi için Observer Matrisi sayfasına bakın.