Skip to main content

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) - Roller
  • belongsToMany(Permission) - İzinler
  • belongsToMany(Organization) - Organizasyonlar
  • hasMany(Customer) - Müşteriler
  • morphMany(AuditLog) - Denetim logları

Customer İlişkileri

  • belongsTo(User) - Kullanıcı
  • hasOne(CustomerDetail) - Müşteri detayları
  • hasMany(Application) - Başvurular
  • morphMany(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.