Kullanici ve Yetki Tablolari
Bu sayfa, kullanici kimliklendirme ve yetkilendirme katmanindaki tablo dokumantasyonlarini listeler.
Bu sayfa, Qapu backend içinde kullanıcı kimliği, rol modeli, cihaz bazlı authority yapısı ve izin katmanını detaylı biçimde açıklar. Amaç yalnız kullanıcı hesabı tutmak değil; hangi kullanıcının hangi cihaz üzerinde hangi aksiyonları yapabileceğini veri modeli üzerinden açık ve izlenebilir hale getirmektir.
Identity & Access modelinde dört ayrı seviye vardır:
- Kullanıcı kimliği
- Genel rol / profil
- Cihaz bazlı otorite ve aksiyon izinleri
- Sistem kullanıcısı ve servis istisnaları
Bu dördü aynı şey değildir ve aynı tabloda eritilmez.
Global Kurallar
- Sistem kullanıcısı
id: 0yalnızca teknik işlemler içindir; insan kullanıcı akışlarına dahil edilmez. - Operasyonel sorgularda ve raporlarda insan kullanıcılar için
id != 0filtresi uygulanır. - Sistem kullanıcısı her zaman
status_id: 200 (System)ile tutulur. ai_agentrolündeki servis kullanıcıları cihaz bazlı authority ilişkisine girmez.
Kullanıcı Durum Akışları
Bu bölüm kullanıcı hesabının yaşam döngüsündeki temel durumsal değişimleri gösterir. Hangi durum değişikliğine kim karar veriyor, durumlar arası geçişlerin hangi koşullarda olacağı, sistem otomatiğine kalan hangisi gibi sorulara cevap vermeyi amaçlar.
Temel akışlar: (1) Kayıt (Unverified) → SMS doğrulama sonrası Active, (2) Uzun inaktivite → Askıya alma (Suspended) → Geri aktif veya Blok (Blocked), (3) Ödeme eksikliği → Sınırlı erişim (Limited) → Öde/Aktif, (4) Soft delete (Deleted).
Kullanıcı Durum Geçişleri (Status Transitions)
Tüm status ID'leri ve aralarındaki geçiş kuralları:
Status Geçiş Kuralları:
| Geçiş | Tetikleyici | Sorumlu | Açıklama |
|---|---|---|---|
| 201 → 202 | SMS kodu girme | Sistem | Doğrulama sonrası hesap aktif olur |
| 202 → 204 | 30+ gün inaktif | Sistem (otomatik) | Scheduled job kontrol eder; push gönderimi durdurulur |
| 204 → 202 | Yeniden login | Kullanıcı | Geçici askı kalkar; push gönderimi yeniden açılır |
| 204 → 203 | Askıdayken politika ihlali tespit edilirse | Admin/Moderator | İhlal raporu sonrası bloklanır |
| 202 → 205 | Ödeme vadesi geçti | Faturalama sistemi | Invoice özeti sonrası |
| 205 → 202 | Ödeme tamamlandı | Sistem | Otomatik kontrol |
| 202 → 203 | Kural ihlali | Admin/Moderator | Manuel karar |
| 202 → 206 | Hesap silme isteği | Kullanıcı | GDPR soft delete |
| 203 → (Blok) | Terminal | - | Geri dönüş yok |
| 206 → (Silindi) | Terminal | - | 90 gün sonra hard delete |
Tablolar
- user_roles: Kullanici rol sozlugu.
- users: Kullanici ana kayitlari.
- permissions: Izin sozlugu.
- permission_grants: Izin atama kayitlari.
- authorities: Kullanici-cihaz yetki iliskileri.
- authority_permissions: Yetki-izin eslemeleri.