Repository navigation
v2.1.3 — Phase 9.7 AJAX handler extraction
Phase 9.7 — AJAX handler extraction
The eleven remaining ajax_* methods leave the god-class for dedicated single-responsibility handler classes under DataFlair\Toplists\Admin\Ajax\. Each implements AjaxHandlerInterface::handle(array $request): array; nonce + capability checks remain centralised in AjaxRouter.
- Renamed
src/Admin/Handlers/→src/Admin/Ajax/per the v2.1.x plan delta map. - Eleven handlers now host real implementations:
SaveSettingsHandler,FetchAllToplistsHandler,SyncToplistsBatchHandler,SyncBrandsBatchHandler,FetchAllBrandsHandler,GetAlternativeToplistsHandler,SaveAlternativeToplistHandler,DeleteAlternativeToplistHandler,GetAvailableGeosHandler,ApiPreviewHandler,SaveReviewUrlHandler. - Main file:
dataflair-toplists.php~2,773 → ~2,347 LOC.grep -c "function ajax_"returns 0. - No public contract change. Every
wp_ajax_dataflair_*action remains identical to v2.1.2. - Tests: 434 / 1,028 green.