Organization User Site
Bu bağ (junction) tablo, bir üyeliği (Organization User) bir veya daha fazla Site ile ilişkilendirir ve ayrıntılı site tabanlı erişimi sağlar.Kısaca
- Doğrudan atamaları saklar (üyelik → site)
- Etkin erişim = atanan site(ler) + tüm alt site(ler)
- Kök site ataması tüm organizasyona erişim verir
(organizationUserId, siteId)çifti tektir; silmeler cascade ile temizlenir
Erişim Nasıl Hesaplanır?
- Doğrudan atamalar burada tutulur (
assignedSiteIds). - Etkin erişim, atanan site(ler)in tüm alt site(ler)ini de kapsar (rekürsif CTE ile hesaplanır).
- Kök site ataması, organizasyondaki tüm site’lara erişim sağlar.
Kısıtlar ve Bütünlük
(organizationUserId, siteId)çifti tektir (yinelenen atamayı önler).- Silme/güncelleme işlemlerinde ilişkiler otomatik temizlenir (cascade).
- Soft-delete edilmiş site’ler listeleme sorgularında filtrelenir.
Sık Yapılan İşlemler
- Davet sırasında başlangıç site atamaları
- Üyenin site listesini güncelleme (tam değiştirme)
- Çoklu kullanıcı için toplu site güncellemeleri (yerine koy / ekle / kaldır)
Okuma Kalıpları
- Kullanıcı listeleri, her üye için
assignedSitesalanını döndürür (listeleme ve gösterim kolaylığı). - Erişim kontrolleri, alt site’ler dahil edilerek hesaplanan
accessibleSiteIdsüzerinden yapılır. - Kök site, arayüz listelerinde şeffaflık için çoğunlukla “Organization” olarak gösterilir.
Güvenlik
- Site atamalarını yalnızca Manager ve Owner güncelleyebilir.
- Tüm kontroller, işlemi yapan kullanıcının kendi erişebildiği site kapsamı ile sınırlandırılır.
İpuçları ve Köşe Durumlar
- Herhangi bir ataması olmayan kullanıcıların etkin site erişimi yoktur; ancak yönetim listelerinde görünebilirler.
- Toplu işlemlerde idempotent güncelleme için
replace, artımlı değişiklik içinadd/removetercih edin.
İlgili Kavramlar
- Organization User — üyelik ve rol
- Site — organizasyon içindeki hiyerarşik lokasyonlar

