Add pricing entry flow and platform admin foundations
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
# 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ü
|
||||
Reference in New Issue
Block a user