⚠️ Setting Groups Hardcode Analiz Raporu

📅 Tarih: 2025-11-18 04:56 | 🎯 Kapsam: Tüm Setting Groups | 🔍 Analiz: Database Seeder Dosyaları

🚨 Hardcode Değerler Tespit Edildi!

3 Setting Group seeder'ında tenant-specific hardcode değerler bulundu. Bu değerler tüm tenant'lara aynı şekilde uygulanıyor ve multi-tenant yapıya uygun değil!

3
Problematic Seeder
1
Clean Seeder
25+
Hardcode Değer
6
Toplam Setting Group

📊 Detaylı Analiz

⚠️ Group 10: İletişim Bilgileri

Dosya: ContactSettingsSeeder.php

contact_country
'Türkiye'
❌ Tüm tenant'lara Türkiye ataması yapılıyor!
contact_working_hours
'09:00 - 18:00'
❌ Her tenant farklı çalışma saatine sahip olabilir!
contact_working_days
'Pazartesi - Cuma'
❌ Bazı tenant'lar hafta sonu çalışabilir!

💡 Öneri:

Bu değerler default_value => '' olarak boş bırakılmalı. Her tenant kendi değerlerini admin panelden girmelidir.

⚠️ Group 9: Yapay Zeka

Dosya: AISettingsSeeder.php

🔴 KRİTİK: Tenant 2 (ixtif.com) spesifik değerler tüm sistemde!

ai_assistant_name
'iXtif Yapay Zeka Asistanı'
❌ Her tenant kendi AI asistan adını kullanmalı!
ai_company_sector
'Forklift ve İstif Makineleri'
❌ SADECE Tenant 2 (ixtif.com) forklift sektöründe!
ai_company_founded_year
'2025 (2010'dan beri tecrübeli)'
ai_company_main_services
'Forklift satışı ve kiralama, İstif makinesi...'
ai_company_expertise
'Endüstriyel ekipman, Lojistik çözümleri...'
ai_target_industries
'E-ticaret ve Fulfillment, Lojistik...'
ai_company_certifications
'CE Sertifikası, ISO 9001, TÜV Rheinland'
ai_company_reference_count
'500+'
ai_forbidden_topics
'Politika, Din, Kişisel bilgiler, Rakip markalar'

⚠️ + 10+ select/dropdown default değer (hybrid, friendly, moderate...)

💡 Öneri:

Tenant-specific veriler tamamen kaldırılmalı!

  • Şirket adı, sektör, hizmetler → Boş bırak
  • Select/dropdown değerleri için default → İlk option veya boş
  • Her tenant admin panelden kendi verilerini girmeli

⚠️ Group 11: Bildirim Ayarları

Dosya: NotificationSettingsSeeder.php

⚠️ Boolean/Numeric hardcode değerler (0 veya 1)

Çoklu alan
default_value => '0' veya '1'
⚠️ Boolean alanlar için hardcode default değerler

💡 Öneri:

Boolean/checkbox alanlar için default_value => '0' kabul edilebilir (disabled başlangıç). Ancak tercihen boş bırakılmalı, kullanıcı seçmeli.

Groups 6, 8: Site Ayarları & SEO Ayarları

Dosya: SettingsGroupsTableSeeder.php

✅ TÜM ALANLAR TEMİZ!

Tüm default_value değerleri boş string ('' veya "") olarak ayarlanmış. Hiçbir hardcode değer yok!

🎯 Sonuç ve Öneriler

🔧 Yapılması Gerekenler:

  • ContactSettingsSeeder: 3 hardcode değeri kaldır (country, working_hours, working_days)
  • AISettingsSeeder: Tüm tenant-specific değerleri kaldır (20+ alan)
  • NotificationSettingsSeeder: Boolean değerleri kontrol et, gerekirse boşalt

💡 Best Practice:

  • Text/Textarea alanlar → default_value => ''
  • Select/Dropdown → İlk option veya boş (tenant seçsin)
  • Boolean/Checkbox → Tercihen boş, veya '0' (disabled)
  • URL/Email → Kesinlikle boş!
  • Tenant-specific veri → ASLA hardcode etme!

⚠️ Multi-Tenant Sistemde Hardcode Risk:

  • Tenant 1001 (muzibu.com) → Forklift bilgileri görüyor! ❌
  • Tenant 3+ (diğer sektörler) → İxtif spesifik veriler! ❌
  • Yeni tenant → İxtif'in verilerini görüyor! ❌
  • Kullanıcı kafa karışıklığı → Neden forklift yazıyor? ❌