Rentiva v4.51.0 — Vendor Yönetimi Faz B: Vendors, Komisyon ve Ayarlar React SPA
Vendor Yönetimi, Faz B ile React SPA göçünü tamamladı: Vendors, Komisyon ve Ayarlar sekmeleri artık tamamen istemci tarafında. Yedi yeni REST endpoint, üç yeni React bileşeni ve vendor listeleme için N+1 sorgu düzeltmesi.
Ne Değişti
Vendors Sekmesi — VendorTable Bileşeni
Vendors sekmesi artık GET /wp-json/mhm-rentiva/v1/admin/vendors tarafından beslenen canlı bir React tablosudur. Özellikler:
- Vendor başına araç sayısıyla sayfalandırılmış vendor listesi (tek
GROUP BYsorgusu — N+1 yok) POST /admin/vendors/{id}/suspendvePOST /admin/vendors/{id}/unsuspendaracılığıyla askıya alma / askıdan kaldırma işlemleri- Sayfa yenilenmeden gerçek zamanlı durum rozetleri ve satır içi geri bildirim
Komisyon Sekmesi — CommissionTab Bileşeni
Komisyon sekmesi, iki yeni REST rotası aracılığıyla global komisyon oranını okur ve yazar:
GET /admin/commission— mevcut oranı getirirPOST /admin/commission— oranı doğrulamayla günceller
PHP render fonksiyonu kaldırıldı; sekme tamamen SPA tarafından yönetiliyor.
Ayarlar Sekmesi — SettingsTab Bileşeni
Vendor Yönetimi ayarları (vendor marketplace etkinleştirme/devre dışı bırakma, şartlar URL'si, onay modu) artık şu rotalar aracılığıyla yönetiliyor:
GET /admin/vendor-settings— tüm ayarları getirirPOST /admin/vendor-settings— değişiklikleri kaydeder
Eklenen REST Endpoint'leri (7 toplam)
| Yöntem | Rota | Amaç |
|---|---|---|
| GET | /admin/vendors | Sayfalandırılmış vendor listesi |
| POST | /admin/vendors/{id}/suspend | Vendor'ı askıya al |
| POST | /admin/vendors/{id}/unsuspend | Vendor'ı askıdan kaldır |
| GET | /admin/commission | Komisyon oranını getir |
| POST | /admin/commission | Komisyon oranını ayarla |
| GET | /admin/vendor-settings | Vendor ayarlarını getir |
| POST | /admin/vendor-settings | Vendor ayarlarını güncelle |
Performans
Vendor listesi daha önce araç sayısını almak için vendor başına bir COUNT(*) sorgusu çalıştırıyordu. Bu sürüm, bunu tek bir GROUP BY toplamlamasıyla değiştiriyor — vendor sayısından bağımsız olarak O(n) → O(1) sorgu.
Test Kapsamı
Tüm 7 REST endpoint'inin izin, doğrulama ve yanıt sözleşmelerini kapsayan 19 yeni PHPUnit testi.
