feat: event listener sur MangaCreated pour ajouter les chapitres à la création
This commit is contained in:
parent
879b8fa2dc
commit
73774f84ff
@@ -6,16 +6,19 @@ use App\Domain\Manga\Application\Command\CreateMangaFromMangadex;
|
||||
use App\Domain\Manga\Domain\Contract\Provider\MangaProviderInterface;
|
||||
use App\Domain\Manga\Domain\Contract\Repository\MangaRepositoryInterface;
|
||||
use App\Domain\Manga\Domain\Contract\Service\ImageProcessorInterface;
|
||||
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;
|
||||
|
||||
readonly class CreateMangaFromMangadexHandler
|
||||
{
|
||||
public function __construct(
|
||||
private MangaProviderInterface $mangaProvider,
|
||||
private MangaRepositoryInterface $mangaRepository,
|
||||
private ImageProcessorInterface $imageProcessor
|
||||
private ImageProcessorInterface $imageProcessor,
|
||||
private MessageBusInterface $messageBus
|
||||
) {}
|
||||
|
||||
public function handle(CreateMangaFromMangadex $command): void
|
||||
@@ -40,5 +43,7 @@ readonly class CreateMangaFromMangadexHandler
|
||||
}
|
||||
|
||||
$this->mangaRepository->save($manga);
|
||||
|
||||
$this->messageBus->dispatch(new MangaCreated($command->externalId));
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ namespace App\Domain\Manga\Application\CommandHandler;
|
||||
use App\Domain\Manga\Application\Command\CreateManga;
|
||||
use App\Domain\Manga\Domain\Contract\Repository\MangaRepositoryInterface;
|
||||
use App\Domain\Manga\Domain\Contract\Service\ImageProcessorInterface;
|
||||
use App\Domain\Manga\Domain\Event\MangaCreated;
|
||||
use App\Domain\Manga\Domain\Model\Manga;
|
||||
use App\Domain\Manga\Domain\Model\ValueObject\ExternalId;
|
||||
use App\Domain\Manga\Domain\Model\ValueObject\ImageUrls;
|
||||
@@ -12,12 +13,14 @@ use App\Domain\Manga\Domain\Model\ValueObject\MangaId;
|
||||
use App\Domain\Manga\Domain\Model\ValueObject\MangaSlug;
|
||||
use App\Domain\Manga\Domain\Model\ValueObject\MangaTitle;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Symfony\Component\Messenger\MessageBusInterface;
|
||||
|
||||
readonly class CreateMangaHandler
|
||||
{
|
||||
public function __construct(
|
||||
private MangaRepositoryInterface $mangaRepository,
|
||||
private ImageProcessorInterface $imageProcessor
|
||||
private ImageProcessorInterface $imageProcessor,
|
||||
private MessageBusInterface $messageBus
|
||||
) {}
|
||||
|
||||
public function handle(CreateManga $command): void
|
||||
@@ -47,5 +50,9 @@ readonly class CreateMangaHandler
|
||||
}
|
||||
|
||||
$this->mangaRepository->save($manga);
|
||||
|
||||
if ($command->externalId) {
|
||||
$this->messageBus->dispatch(new MangaCreated($command->externalId));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user