Ana içeriğe atlaGenel 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:
INVITED → ACTIVE → INACTIVE (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)