refactor(admin): Migrate AdminAjaxHandler to Clean Architecture
- Move AdminAjaxHandler to Admin/Shared/Infrastructure/Api/Wordpress/ - Create FieldMapperInterface for decentralized field mapping - Create FieldMapperRegistry for module discovery - Create FieldMapperProvider for auto-registration of 12 mappers - Add FieldMappers for all components: - ContactFormFieldMapper (46 fields) - CtaBoxSidebarFieldMapper (32 fields) - CtaLetsTalkFieldMapper - CtaPostFieldMapper - FeaturedImageFieldMapper (15 fields) - FooterFieldMapper (31 fields) - HeroFieldMapper - NavbarFieldMapper - RelatedPostFieldMapper (34 fields) - SocialShareFieldMapper - TableOfContentsFieldMapper - TopNotificationBarFieldMapper (17 fields) - Update functions.php bootstrap with FieldMapperProvider - AdminAjaxHandler reduced from ~700 to 145 lines - Follows SRP, OCP, DIP principles BACKUP BEFORE: Removing CTA A/B Testing legacy system 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -126,8 +126,16 @@ try {
|
||||
// Obtener Use Case para guardar configuraciones
|
||||
$saveComponentSettingsUseCase = $container?->getSaveComponentSettingsUseCase();
|
||||
|
||||
// Crear y registrar el handler AJAX con inyección del Use Case
|
||||
$adminAjaxHandler = new \ROITheme\Admin\Infrastructure\Api\Wordpress\AdminAjaxHandler($saveComponentSettingsUseCase);
|
||||
// === FIELD MAPPER REGISTRY (Auto-registro escalable) ===
|
||||
$fieldMapperRegistry = new \ROITheme\Admin\Shared\Infrastructure\FieldMapping\FieldMapperRegistry();
|
||||
$fieldMapperProvider = new \ROITheme\Admin\Shared\Infrastructure\FieldMapping\FieldMapperProvider($fieldMapperRegistry);
|
||||
$fieldMapperProvider->registerAll();
|
||||
|
||||
// === ADMIN AJAX HANDLER ===
|
||||
$adminAjaxHandler = new \ROITheme\Admin\Shared\Infrastructure\Api\Wordpress\AdminAjaxHandler(
|
||||
$saveComponentSettingsUseCase,
|
||||
$fieldMapperRegistry
|
||||
);
|
||||
$adminAjaxHandler->register();
|
||||
|
||||
// Crear y registrar el handler AJAX para el Contact Form (público)
|
||||
|
||||
Reference in New Issue
Block a user