Skip to content

v2.1.3 — Phase 9.7 AJAX handler extraction

Choose a tag to compare

@mexiter mexiter released this 25 Apr 13:04
· 219 commits to main since this release

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.