diff --git a/src/Domain/Manga/Application/CommandHandler/CreateMangaFromMangadexHandler.php b/src/Domain/Manga/Application/CommandHandler/CreateMangaFromMangadexHandler.php index a25c27f..a05d9f9 100644 --- a/src/Domain/Manga/Application/CommandHandler/CreateMangaFromMangadexHandler.php +++ b/src/Domain/Manga/Application/CommandHandler/CreateMangaFromMangadexHandler.php @@ -10,7 +10,7 @@ use App\Domain\Manga\Domain\Event\MangaCreated; use App\Domain\Manga\Domain\Exception\MangaNotFoundException; use App\Domain\Manga\Domain\Model\ValueObject\ExternalId; use App\Domain\Manga\Domain\Model\ValueObject\ImageUrls; -use Symfony\Component\Messenger\MessageBusInterface; +use App\Domain\Shared\Domain\Contract\EventDispatcherInterface; readonly class CreateMangaFromMangadexHandler { @@ -18,7 +18,7 @@ readonly class CreateMangaFromMangadexHandler private MangaProviderInterface $mangaProvider, private MangaRepositoryInterface $mangaRepository, private ImageProcessorInterface $imageProcessor, - private MessageBusInterface $messageBus + private EventDispatcherInterface $eventDispatcher ) {} public function handle(CreateMangaFromMangadex $command): void @@ -44,6 +44,6 @@ readonly class CreateMangaFromMangadexHandler $this->mangaRepository->save($manga); - $this->messageBus->dispatch(new MangaCreated($manga->getId()->getValue(), $command->externalId)); + $this->eventDispatcher->dispatch(new MangaCreated($manga->getId()->getValue(), $command->externalId)); } } diff --git a/src/Domain/Manga/Infrastructure/EventListener/MangaCreatedListener.php b/src/Domain/Manga/Application/EventListener/MangaCreatedEventListener.php similarity index 55% rename from src/Domain/Manga/Infrastructure/EventListener/MangaCreatedListener.php rename to src/Domain/Manga/Application/EventListener/MangaCreatedEventListener.php index 6cb5f88..bc20e4e 100644 --- a/src/Domain/Manga/Infrastructure/EventListener/MangaCreatedListener.php +++ b/src/Domain/Manga/Application/EventListener/MangaCreatedEventListener.php @@ -1,21 +1,21 @@ messageBus->dispatch( + $this->fetchMangaChaptersHandler->handle( new FetchMangaChapters(new MangaId($event->mangaId)) ); } diff --git a/src/Domain/Manga/Infrastructure/MessageHandler/MangaCreatedMessageHandler.php b/src/Domain/Manga/Infrastructure/MessageHandler/MangaCreatedMessageHandler.php new file mode 100644 index 0000000..cfdb6bb --- /dev/null +++ b/src/Domain/Manga/Infrastructure/MessageHandler/MangaCreatedMessageHandler.php @@ -0,0 +1,20 @@ +listener->__invoke($event); + } +} diff --git a/src/Domain/Shared/Domain/Contract/EventDispatcherInterface.php b/src/Domain/Shared/Domain/Contract/EventDispatcherInterface.php new file mode 100644 index 0000000..832a0f2 --- /dev/null +++ b/src/Domain/Shared/Domain/Contract/EventDispatcherInterface.php @@ -0,0 +1,8 @@ +bus->dispatch($event); + } +}