Ana içeriğe atla

Genel Bakış

Organization; veri, kullanıcı ve ayarların en üst düzey kiracısıdır. Her organizasyon, hiyerarşik bir Site ağacına, üyelik (rol) kayıtlarına ve yapılandırmaya sahiptir.

Oluşturma & Varsayılan Yapı

  • Organizasyon oluşturulduğunda otomatik olarak:
    • kök Site (site-root-*, adı root),
    • varsayılan “HQ” alt sitesi ve
    • oluşturan kullanıcı için OWNER rolünde, kök siteye atanmış bir OrganizationUser üyeliği oluşturulur.
  • Oluşturan kullanıcının currentOrganizationId alanı yeni organizasyonu gösterecek şekilde güncellenir.

Ayarlar

Organizasyon ayarları; iş akışlarını, AI özelliklerini ve UI seçeneklerini etkiler:
  • defaultFormWorkflow: { type: "DIRECT_APPROVAL" | "REQUIRE_APPROVAL" } (gönderim durum davranışını belirler)
  • defaultDashboardStatuses: panolarda varsayılan durumlar
  • requireFormAssignment: formlara atama gerektiren roller
  • AI anahtarları (OpenAI/Anthropic): UI/hesaplama üretimi için şifreli saklanır
Yönetici ayarları (admin settings), markalama/terminoloji (ör. site etiketlerinin özelleştirilmesi) içerir.

Üyelik & Roller (RBAC)

OrganizationUser üyeliği, bir User’ı organizasyona rol ve durum ile bağlar:
  • Roller: VIEWER, COLLECTOR, APPROVER, MANAGER, OWNER (hiyerarşik)
  • Durum: INVITEDACTIVEINACTIVE (e‑posta tabanlı davet)

Site Erişimi (ABAC)

Site erişimi OrganizationUserSite atamaları ile verilir. Etkin erişim = atanan site(ler) + tüm alt site(ler). Kök site atanırsa tüm organizasyona erişim verilir.

Temel İşlemler

  • Mevcut organizasyon: organizations.get
  • Organizasyon oluşturma: organizations.create
  • Organizasyon değiştirme: organizations.switch
  • Üyelikleri listeleme: organizations.list
  • Kullanıcı listeleme (çağıranın site erişimiyle filtrelenir): organizations.listUsers
  • Kullanıcı daveti: organizations.inviteUser({ email, role, assignedSiteIds })
  • Rol güncelleme: organizations.updateUserRole({ userId, role, assignedSiteIds? })
  • Site atamaları güncelleme: organizations.updateUserSites({ userId, assignedSiteIds })
  • Toplu rol/site işlemleri: organizations.bulkUpdateUserRoles, organizations.bulkUpdateUserSites
  • Ayar güncelleme: organizations.update
Tüm prosedürler RBAC + ABAC (rol + site erişimi) uygular ve RLS ile korunur.

En İyi Uygulamalar

  • Tam erişim için owner/manager kullanıcıları kök siteye atayın; diğerlerini bölge/site dallarına atayın.
  • defaultFormWorkflow ve requireFormAssignment ayarlarını erken belirleyin.
  • Site adlandırmasını ve etiketlerini net tutun; hiyerarşiyi mümkün olduğunca sığ tasarlayın.
  • Çok sayıda kullanıcı güncellenecekse toplu işlemleri tercih edin.

Dikkat Edilecekler

  • Site ataması olmayan kullanıcıların etkin site erişimi yoktur (yönetim listelerinde görünebilirler).
  • Kök site silinemez; site silme işlemi soft‑delete’tir ve alt site’lere kaskad uygulanabilir.
  • Site koordinatları yanıtlarda string olarak döner; hesaplamalarda sayıya dönüştürün.

Bkz.

  • Site (hiyerarşi, şema, içe aktarma)
  • Organization User (üyelik, roller)
  • Organization User Site (site atamaları ve etkin erişim)