Spaces:
No application file
No application file
declare(strict_types=1); | |
namespace Mautic\IntegrationsBundle\DependencyInjection\Compiler; | |
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; | |
use Symfony\Component\DependencyInjection\ContainerBuilder; | |
use Symfony\Component\DependencyInjection\Reference; | |
class SyncIntegrationsPass implements CompilerPassInterface | |
{ | |
public function process(ContainerBuilder $container): void | |
{ | |
$taggedServices = $container->findTaggedServiceIds('mautic.sync_integration'); | |
$syncIntegrationsHelper = $container->findDefinition('mautic.integrations.helper.sync_integrations'); | |
foreach ($taggedServices as $id => $tags) { | |
$syncIntegrationsHelper->addMethodCall('addIntegration', [new Reference($id)]); | |
} | |
$taggedServices = $container->findTaggedServiceIds('mautic.sync.notification_handler'); | |
$handlerContainer = $container->findDefinition('mautic.integrations.sync.notification.handler_container'); | |
foreach ($taggedServices as $id => $tags) { | |
$handlerContainer->addMethodCall('registerHandler', [new Reference($id)]); | |
} | |
} | |
} | |