İzinler
Admin panelindeki yetkilendirme RBAC-lite deseniyle çalışır: token’a izin listesi konmaz,
yalnızca rol ve (rol admin ise) admin_rolu taşınır. Bir isteğin belirli bir admin uca
erişip erişemeyeceği, backend’deki sabit bir izin anahtarı → rol matrisi üzerinden (requireIzin
middleware’i ile) kontrol edilir.
export function requireIzin(izin: Izin): MiddlewareHandler<AppOrtam> { return async (c, next) => { const kimlik = c.get('kimlik'); if (kimlik?.rol !== 'admin' || !iznVarMi(kimlik.admin_rolu, izin)) { throw new AppError('YETKI_YOK', 'Bu işlem için yetkiniz yok', 403); } await next(); };}admin_rolu seti
Section titled “admin_rolu seti”owner | yonetici | muhasebe | destek | saha_operasyon | hukuk
İzin anahtarları → kapsadığı uç grupları
Section titled “İzin anahtarları → kapsadığı uç grupları”| İzin | Kapsam (özet) |
|---|---|
dosya:goruntule | Tazminat dosyalarını görüntüleme (liste/detay/evrak), admin erişim yolu |
dosya:durum-gecir | Dosya durumu değiştirme, evrak talebi/karar, sigortaya gönderme |
dosya:eksper-ata | Dosyaya eksper atama |
odeme:yonet | Tahsilat, tamirci fatura onayı, partner cüzdan çekim talebi kararı |
kullanici:yonet | Müşteri/personel yönetimi, araç/şirket onay-red, araç katalogu + TSB import, unvan listesi |
partner:yonet | Partner askıya alma, eksper hesabı açma |
partner:onayla | Partner başvurularını onaylama/reddetme |
yonlendirme:yonet | Yönlendirme (lead) durum yönetimi |
tarife:yonet | Hizmet bedeli, partner ücreti, çekici fiyatı, yakıt fiyatı, asgari ücret tarifeleri |
parametre:yonet | Hesaplama modüllerinin katsayı/parametre setleri (TRH-2010 hariç) |
denetim:goruntule | Denetim kayıtlarını görüntüleme |
rapor:goruntule | Özet rapor ve lead/satış takip raporları |
icerik:yonet | Hak/SSS/yasal içerik ve bilgi bankası yönetimi |
kariyer:yonet | İş ilanı CRUD, başvuru durum yönetimi |
bildirim:gonder | Admin panelden manuel push/SMS bildirim gönderimi |
Rol → izin matrisi
Section titled “Rol → izin matrisi”| İzin | owner | yonetici | muhasebe | destek | saha_operasyon | hukuk |
|---|---|---|---|---|---|---|
| dosya:goruntule | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ |
| dosya:durum-gecir | ✔* | ✔ | — | ✔ | ✔ | ✔ |
| dosya:eksper-ata | ✔* | ✔ | — | — | ✔ | — |
| odeme:yonet | ✔* | — | ✔ | — | — | — |
| kullanici:yonet | ✔* | ✔ | ✔ | ✔ | — | — |
| partner:yonet | ✔* | ✔ | — | — | ✔ | — |
| partner:onayla | ✔* | ✔ | — | — | ✔ | — |
| yonlendirme:yonet | ✔* | ✔ | ✔ | — | — | — |
| tarife:yonet | ✔* | ✔ | ✔ | — | — | — |
| parametre:yonet | ✔* | ✔ | ✔ | — | — | — |
| denetim:goruntule | ✔* | ✔ | ✔ | — | — | ✔ |
| rapor:goruntule | ✔* | ✔ | ✔ | — | ✔ | ✔ |
| icerik:yonet | ✔* | ✔ | — | — | — | — |
| kariyer:yonet | ✔* | ✔ | — | — | — | — |
| bildirim:gonder | ✔* | ✔ | — | ✔ | ✔ | — |
✔* = owner her izinden geçer (matristen bağımsız, kod seviyesinde).
Roller — özet
Section titled “Roller — özet”- owner — her şey + personel ekleme/
admin_roluatama (owner-only istisna). - yonetici —
odeme:yonethariç neredeyse tüm izinler (mali onay dört-göz ilkesiyle muhasebeye ayrılır). - muhasebe — tahsilat, fatura/çekim onayı, tarife/parametre yönetimi, denetim+rapor okuma.
- destek — dosya görüntüleme/durum geçirme, müşteri/araç/şirket onay işleri, bildirim gönderme.
- saha_operasyon — dosya + eksper atama, partner ağı yönetimi/onayı, rapor okuma, bildirim gönderme.
- hukuk — dosya görüntüleme/durum geçirme (dava/itiraz/tahkim), denetim + rapor okuma.