# Super Admin Scope ## Neden tenant rolünden ayrı? - `tenant_members` bir kullanıcının bir veya daha fazla tenant içindeki rolünü taşır. - `platform_memberships` ise kullanıcının ürün genelindeki yetkisini taşır. - Böylece aynı kullanıcı: - birden fazla klinik/lab tenant'ına bağlı olabilir - aynı anda platformda `super_admin` veya `support` olabilir - tenant rolü ile platform rolü birbirine karışmaz ## İlk faz modülleri ### 1. Tenant & Plan Yönetimi - tenant listeleme - tenant detay - plan atama/değiştirme - aktif/pasif durumu - üye limiti - workflow/feature override görüntüleme ### 2. Abonelik & AI Kredisi - tenant subscription durumu - billing provider bilgileri - aylık AI kredi tahsisi - bonus kredi - manuel kredi düzeltmeleri - kredi hareket geçmişi ### 3. Kullanım & Operasyon - AI kullanım logları - tenant başına maliyet/yoğunluk - en çok kredi tüketen tenant ve kullanıcılar - admin müdahale logları ### 4. Platform Erişimi - super admin atama - support / finance ops / operations rolleri - kim hangi işlemi yaptı audit takibi ## Veri modeli ### `platform_memberships` - `user_id` - `role`: `super_admin | support | finance_ops | operations | read_only` - `status`: `active | suspended` ### `tenant_subscriptions` - `tenant_id` - `plan`: `starter | pro | enterprise` - `status`: `trialing | active | past_due | cancelled | paused` - `billing_provider` - `provider_customer_id` - `provider_subscription_id` - `period_start` - `period_end` - `ai_monthly_credits` - `ai_bonus_credits` ### `ai_credit_ledger` - `tenant_id` - `entry_type`: `monthly_allocation | bonus_allocation | usage_debit | manual_adjustment | refund | expire` - `delta` - `balance_after` - `reference_type` - `reference_id` - `created_by_user_id` - `note` ### `ai_usage_logs` - `tenant_id` - `user_id` - `job_id` - `action` - `model` - `credit_cost` - `token_input` - `token_output` - `latency_ms` ### `admin_audit_logs` - `actor_user_id` - `actor_role` - `action_type` - `target_collection` - `target_record_id` - `target_tenant_id` - `summary` - `metadata` ## Yetki ilkeleri - `super_admin`: tüm platform yetkileri - `finance_ops`: abonelik ve kredi yönetimi - `operations`: tenant ve operasyonel müdahaleler - `support`: destek amaçlı görünüm + sınırlı düzeltmeler - `read_only`: sadece raporlama ve denetim ## Multi-tenant kullanıcı kuralı - bir kullanıcı `tenant_members` üzerinde birden fazla kayda sahip olabilir - her kayıt `(tenant_id, user_id)` bazında benzersiz kalır - aktif tenant seçimi UI durumudur, kimlik modeli değildir - platform erişimi tenant seçimine bağlı değildir ## Uygulama akışı 1. kullanıcı login olur 2. auth katmanı: - `tenant_members` - `platform_memberships` kayıtlarını ayrı çeker 3. normal uygulama tenant seçimiyle çalışır 4. super admin paneli `platform_memberships` üzerinden açılır ## Sonraki implementasyon adımları 1. super admin route guard 2. dashboard ekranı 3. tenant subscription listesi 4. AI kredi müdahale ekranı 5. audit log görünümü