Skip to main content

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 assignedSites alanı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çin add/remove tercih edin.

İlgili Kavramlar

  • Organization User — üyelik ve rol
  • Site — organizasyon içindeki hiyerarşik lokasyonlar