Ana içeriğe geç

Rentiva v4.51.0 — Vendor Yönetimi Faz B: Vendors, Komisyon ve Ayarlar React SPA

· 2 dakikalık okuma
MaxHandMade
Maintainer

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 BY sorgusu — N+1 yok)
  • POST /admin/vendors/{id}/suspend ve POST /admin/vendors/{id}/unsuspend aracı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ı getirir
  • POST /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ı getirir
  • POST /admin/vendor-settings — değişiklikleri kaydeder

Eklenen REST Endpoint'leri (7 toplam)

YöntemRotaAmaç
GET/admin/vendorsSayfalandırılmış vendor listesi
POST/admin/vendors/{id}/suspendVendor'ı askıya al
POST/admin/vendors/{id}/unsuspendVendor'ı askıdan kaldır
GET/admin/commissionKomisyon oranını getir
POST/admin/commissionKomisyon oranını ayarla
GET/admin/vendor-settingsVendor ayarlarını getir
POST/admin/vendor-settingsVendor 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.