Hedef Kullanıcılar
IQV API Middleware, backend'den gelen kullanıcı nesnesindeki bir rol alanını (role, user_role, userRole, role_name, roleName alanlarından ilk dolu olanı) okuyarak erişimi sınırlandırır. Bu mantığın tek kaynağı dashboard/src/routes/roleAccess.tsx dosyasıdır; hem kenar menüsü hem de rota koruması aynı fonksiyonları kullanır.
Kaynak kodda fiilen uygulanan tek rol ayrımı, rol değerinin tam olarak user olup olmadığıdır. Aşağıdaki tablo bunu ve arayüzde yalnızca görsel etiket amacıyla tanımlı rol adlarını (erişim kısıtlaması taşımayan) birlikte gösterir.
| Rol | Erişilebilir alanlar | İzin verilen işlemler | Erişim sınırı |
|---|---|---|---|
user (Kullanıcı) |
Yalnızca Platformlar (/platform); kenar menüsünde tek seçenek olarak gösterilir. Hatırlatıcı ve Mail Box rotaları menüde yer almaz ama doğrudan adres çubuğundan da erişilemez değildir — rol bazlı bir engelleri yoktur, yalnızca menüde görünmezler. |
Platform modüllerini görüntüleme ve modül kartlarına tıklayarak yönlendirme. | Notlar (/notlar) ve Ayarlar (/ayarlar) rotalarına doğrudan adresle gidilse bile RequirePlatformAccess koruması devreye girer ve kullanıcı sayfa hiç render edilmeden /platform'a yönlendirilir. |
companyadmin, organizationadmin, admin, superadmin (veya rol alanı boşsa) |
Kenar menüsündeki tüm sayfalar: Platformlar, Notlar, Ayarlar. Hatırlatıcı/Mail Box menüde yok ama doğrudan adresle erişilebilir (herhangi bir oturum açmış kullanıcı için geçerlidir, role özel değildir). |
Tüm not/hatırlatıcı/platform modülü CRUD işlemleri, e-posta ile paylaşım, platform sıralaması kaydetme. | Kod tabanında bu roller arasında ayrı bir kısıtlama tanımlı değildir — hepsi aynı, tam erişime sahiptir. companyadmin/organizationadmin etiketleri yalnızca kullanıcı adı altında görüntülenen rozet metnini belirler (bkz. aşağıda), erişimi etkilemez. |
Önemli notlar
- Oturum şartı: Yukarıdaki rollerden bağımsız olarak,
/logindışındaki tüm sayfalarRequireAuthkoruması altındadır; oturumu olmayan (Reduxadminstate'i boş olan) her ziyaretçi/login'e yönlendirilir. - Rozet metni yalnızca görsel amaçlıdır: Kenar menüsündeki kullanıcı rozetinde
companyadmin→ "Şirket Admini",organizationadmin→ "Organizasyon Admini",user→ "Kullanıcı" gösterilir; tanınmayan veyaadmin/superadmingibi eşlenmemiş bir rol her zaman "Kullanıcı" etiketiyle gösterilir — bu, erişim düzeyini YANSITMAZ, yalnızca bir görüntüleme metnidir. - Kod tabanında
admin/superadminiçin ayrı, daha geniş bir yetki tanımlanmamıştır; bu isimler yalnızcaroleAccess.tsxiçindeki bir yorumda "user dışındaki her şey" anlamında anılır.