Spaces:
No application file
No application file
declare(strict_types=1); | |
use Mautic\CoreBundle\DependencyInjection\MauticCoreExtension; | |
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; | |
return function (ContainerConfigurator $configurator): void { | |
$services = $configurator->services() | |
->defaults() | |
->autowire() | |
->autoconfigure() | |
->public(); | |
$excludes = [ | |
'EventCollector', | |
'Executioner/ContactFinder/Limiter/ContactLimiter.php', | |
'Executioner/Dispatcher/Exception', | |
'Executioner/Scheduler/Mode/DAO', | |
'Membership/Exception', | |
]; | |
$services->load('Mautic\\CampaignBundle\\', '../') | |
->exclude('../{'.implode(',', array_merge(MauticCoreExtension::DEFAULT_EXCLUDES, $excludes)).'}'); | |
$services->load('Mautic\\CampaignBundle\\Entity\\', '../Entity/*Repository.php') | |
->tag(Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\ServiceRepositoryCompilerPass::REPOSITORY_SERVICE_TAG); | |
$services->alias('mautic.campaign.model.campaign', Mautic\CampaignBundle\Model\CampaignModel::class); | |
$services->alias('mautic.campaign.model.event', Mautic\CampaignBundle\Model\EventModel::class); | |
$services->alias('mautic.campaign.model.event_log', Mautic\CampaignBundle\Model\EventLogModel::class); | |
$services->alias('mautic.campaign.model.summary', Mautic\CampaignBundle\Model\SummaryModel::class); | |
$services->alias('mautic.campaign.repository.campaign', Mautic\CampaignBundle\Entity\CampaignRepository::class); | |
$services->alias('mautic.campaign.repository.lead', Mautic\CampaignBundle\Entity\LeadRepository::class); | |
$services->alias('mautic.campaign.repository.event', Mautic\CampaignBundle\Entity\EventRepository::class); | |
$services->alias('mautic.campaign.repository.lead_event_log', Mautic\CampaignBundle\Entity\LeadEventLogRepository::class); | |
$services->alias('mautic.campaign.repository.summary', Mautic\CampaignBundle\Entity\SummaryRepository::class); | |
$services->alias('mautic.campaign.executioner.inactive', Mautic\CampaignBundle\Executioner\InactiveExecutioner::class); | |
$services->alias('mautic.campaign.executioner.scheduled', Mautic\CampaignBundle\Executioner\ScheduledExecutioner::class); | |
$services->set(Mautic\CampaignBundle\Executioner\ScheduledExecutioner::class)->tag('kernel.reset', ['method' => 'reset']); | |
if ('test' === $_ENV['APP_ENV']) { | |
$services->set(Mautic\CampaignBundle\Executioner\TestInactiveExecutioner::class) | |
->decorate(Mautic\CampaignBundle\Executioner\InactiveExecutioner::class) | |
->tag('kernel.reset', ['method' => 'reset']); | |
$services->set(Mautic\CampaignBundle\Executioner\TestScheduledExecutioner::class) | |
->decorate(Mautic\CampaignBundle\Executioner\ScheduledExecutioner::class) | |
->tag('kernel.reset', ['method' => 'reset']); | |
} | |
}; | |