Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.azalt.co/llms.txt

Use this file to discover all available pages before exploring further.

User

User, Azalt içindeki küresel (platform genelindeki) kullanıcıdır. Bir kullanıcı birden fazla organizasyona üye olabilir ancak aynı anda yalnızca bir geçerli organizasyon bağlamında çalışır.

Kısaca

  • Küresel kimlik: organizasyona bağlı değildir
  • Tek aktif bağlam: currentOrganizationId çalışma organizasyonunu belirler
  • Platform rolü: systemRole = "ADMIN" | "USER"
  • Organizasyon rolleri üyelikten gelir: bkz. Organization User
  • Profil: name, phone, locale, opsiyonel image (Media)

Veri Yapısı

// apps/azalt/src/server/db/types/auth.ts (özet)
interface User {
  id: string;
  email: string;           // Auth adapter'dan
  name?: string | null;    // Auth adapter'dan
  image?: string | null;   // mevcutsa imzalı URL (Media)
  phone: string | null;
  locale: string | null;   // "en" | "tr"; yanıtlarda varsayılan "en"
  systemRole: "ADMIN" | "USER"; // platform düzeyi rol
  currentOrganizationId: string | null; // aktif organizasyon
}

Geçerli Organizasyon Seçimi

  • Ayarlı değilse, en erken ACTIVE üyelik otomatik olarak atanır.
  • Kullanıcı, organization.switch ile açıkça değiştirebilir.
  • Mevcut organizasyon silinirse veya üyelik kaldırılırsa alan temizlenir; varsa bir sonraki ACTIVE üyelik seçilir.
  • Kullanıcının organizasyonu yoksa ilgili sorgular istemci hatası döndürür.

Profil ve Medya

  • Güncellenebilir alanlar: name, phone, locale.
  • E‑posta kimlik doğrulama tarafından yönetilir; profilden değiştirilemez.
  • Profil resimleri Media tablosunda (fieldName = "profilePicture") tutulur ve süreli imzalı URL’lerle sunulur.
// tRPC (apps/azalt/src/server/api/routers/user)
user.me(): { email, name, phone, locale }
user.updateProfile({ name?, phone?, locale?: "en" | "tr" })

Sistem ve Organizasyon Rolleri

  • systemRole platform düzeyi yönetim özelliklerini kontrol eder.
  • Organizasyon rolleri (Owner/Manager/Approver/Collector/Viewer) organizasyon bazında üyelikle atanır.

Sık Yapılan İşlemler

  • Profili görüntüleme/güncelleme (name/phone/locale)
  • Geçerli organizasyonu değiştirme (üye olduğu organizasyonlar arasından)
  • Davetleri kabul etme (kabul sonrası ACTIVE olur)

İpuçları ve Köşe Durumlar

  • Locale ayarlı değilse yanıtlarda "en" döner.
  • Kullanıcı bir organizasyondan kaldırıldığında currentOrganizationId anında temizlenir.
  • Organizasyon kullanıcı listesi, varsa profil resminin imzalı image URL’sini içerir.

İlgili Kavramlar

  • Organization User — üyelik, rol ve durum yönetimi
  • Organization User Site — üyelik için site düzeyi erişim