Roller ve yetkiler
Her hesap bir kullanıcı kaydıdır. Kullanıcının tipi, hangi uygulamayı ve hangi uçları kullanacağını belirler. Tip, Prisma UserType enum’udur.
Kullanıcı tipleri
| Tip | Anlamı | Profil tablosu |
|---|---|---|
BUYER | Alıcı işletme. Sipariş verir. | Buyer (kullanıcıyla 1:1) |
SELLER | Tedarikçi. Depoya mal sağlar. | Seller (kullanıcı isteğe bağlıdır) |
OFFICER | Depo / saha / satın alma personeli. | Officer |
ADMIN | Depo ve alıcı yöneten yönetici. | Admin |
SYSTEM | İnsan hesabı değil, sistem kullanıcısı. | — |
Aynı kullanıcı kaydı bu tiplerden birini taşır. Alıcı, satıcı, yetkili ve yönetici profilleri kullanıcıya 1:1 bağlanır.
Yetkili rolleri
Yetkili (OFFICER) ek olarak OfficerRole taşır. Bu, depo içi iş bölümüdür; JWT’deki ana tip yine OFFICER kalır.
| Rol | Kullanıldığı yer (kodda görülen) |
|---|---|
MANAGER | Yönetim |
MARKETING | Yeni alıcı kaydında bildirim alan ekip |
HEADOF_MARKETING | Pazarlama yönetimi |
WORKER | Depo işçiliği |
DRIVER | Teslimat |
PURCHASING | Satın alma |
PURCHASING_ASSISTANT | Satın alma yardımcısı |
ADMIN_ASSISTANT | Yönetici asistanı |
IT | Bilgi işlem |
IK | İnsan kaynakları |
Alıcı CRM notlarında da officerRole tutulabilir; notun hangi ekibe ait olduğunu işaretler.
Giriş nasıl çalışır
- İstemci çoğu
authucunda API anahtarı gönderir. - Telefon kodu, e-posta kodu veya Google / Firebase kimliği doğrulanır.
- API erişim ve yenileme jetonu üretir. Erişim jetonunun yükünde kullanıcı kimliği, rol ve izin listesi vardır.
- Sonraki istekler
Authorization: Bearerile gider. - Çıkışta yenileme jetonu silinir; cihaz kaydı da cihaz kimliğiyle silinebilir.
Akış: Kayıt ve giriş.
İzin kodları
Rol tek başına yetmezse UserPermission tablosundaki kodlar kullanılır. Kodda şu an bağlanan kodlar:
| İzin | Nerede |
|---|---|
admin:buyer:full | Yönetici alıcı CRM ve alıcı panosu |
admin:post:view / admin:post:full | İçerik (slider, banner, hikâye, akademi) |
admin:unit:full / admin:vat:full | Birim ve KDV tanımları |
officer:buyer-order-transfer:full | Yetkilinin sipariş transferi |
İzinler PermissionsGuard ile denetlenir; jeton içindeki permissions dizisine bakılır.
Uçların kime açık olduğu
Aşağıdaki özet, denetleyicilerdeki yol ve bekçilerden derlenmiştir. Tam yol listesi ilgili yapı sayfalarındadır.
| Alan | Tipik erişim |
|---|---|
auth, area, catalog/public, ai, price-analytics/public, payment/*, izibiz | Açık veya API anahtarı |
basket/buyer, purchase/buyer, order/buyer | Alıcı |
procurement/seller | Kimliği doğrulanmış (satıcı amaçlı; sınıf düzeyinde rol bekçisi yok) |
warehouse/*, stock, order/officer | Yetkili ve/veya yönetici |
admin/*, report/*, buyer-group/admin | Yönetici (raporlarda yetkili de var; pazarlama raporu yalnız yönetici) |
message | Çoğu uçta kimliği doğrulanmış herhangi bir tip |
Alıcı–yönetici–yetkili ilişkisi
Bir alıcı yalnızca kullanıcı değildir. Yönetici ile arasında AdminBuyer CRM kaydı vardır (sipariş sayıları, arama, durum). Yetkililer bu kayda AdminBuyerOfficer ile bağlanır. Depo tarafında yetkili, AdminOfficer ile depoya bağlanır.
Şema: CRM ve alıcı grupları.