vendor/broadway/broadway-bundle/src/BroadwayBundle.php line 27

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of the broadway/broadway-bundle package.
  5.  *
  6.  * (c) 2020 Broadway project
  7.  *
  8.  * For the full copyright and license information, please view the LICENSE
  9.  * file that was distributed with this source code.
  10.  */
  11. namespace Broadway\Bundle\BroadwayBundle;
  12. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterBusSubscribersCompilerPass;
  13. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterEventListenerCompilerPass;
  14. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterEventStoreCompilerPass;
  15. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterMetadataEnricherSubscriberPass;
  16. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterReadModelRepositoryFactoryCompilerPass;
  17. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterSagaCompilerPass;
  18. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterSagaStateRepositoryCompilerPass;
  19. use Broadway\Bundle\BroadwayBundle\DependencyInjection\RegisterSerializersCompilerPass;
  20. use Symfony\Component\DependencyInjection\ContainerBuilder;
  21. use Symfony\Component\HttpKernel\Bundle\Bundle;
  22. class BroadwayBundle extends Bundle
  23. {
  24.     /**
  25.      * {@inheritdoc}
  26.      */
  27.     public function build(ContainerBuilder $container)
  28.     {
  29.         parent::build($container);
  30.         $container->addCompilerPass(new RegisterEventStoreCompilerPass());
  31.         $container->addCompilerPass(new RegisterReadModelRepositoryFactoryCompilerPass());
  32.         $container->addCompilerPass(new RegisterSagaStateRepositoryCompilerPass());
  33.         $container->addCompilerPass(
  34.             new RegisterSagaCompilerPass(
  35.                 'broadway.saga.multiple_saga_manager',
  36.                 'broadway.saga'
  37.             )
  38.         );
  39.         $container->addCompilerPass(
  40.             new RegisterBusSubscribersCompilerPass(
  41.                 'broadway.command_handling.command_bus',
  42.                 'broadway.command_handler',
  43.                 \Broadway\CommandHandling\CommandHandler::class
  44.             )
  45.         );
  46.         $container->addCompilerPass(
  47.             new RegisterBusSubscribersCompilerPass(
  48.                 'broadway.event_handling.event_bus',
  49.                 'broadway.domain.event_listener',
  50.                 \Broadway\EventHandling\EventListener::class
  51.             )
  52.         );
  53.         $container->addCompilerPass(
  54.             new RegisterEventListenerCompilerPass(
  55.                 'broadway.event_dispatcher',
  56.                 'broadway.event_listener'
  57.             )
  58.         );
  59.         $container->addCompilerPass(
  60.             new RegisterMetadataEnricherSubscriberPass(
  61.                 'broadway.metadata_enriching_event_stream_decorator',
  62.                 'broadway.metadata_enricher'
  63.             )
  64.         );
  65.         $container->addCompilerPass(
  66.             new RegisterSerializersCompilerPass()
  67.         );
  68.     }
  69. }