Files
Mangarr/src/Domain/Manga/Application/CommandHandler/ToggleMangaMonitoringHandler.php
ext.jeremy.guillot@maxicoffee.domains 7506a7a3c1 style: apply php-cs-fixer formatting (PSR-12)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 20:46:59 +01:00

33 lines
877 B
PHP

<?php
namespace App\Domain\Manga\Application\CommandHandler;
use App\Domain\Manga\Application\Command\ToggleMangaMonitoring;
use App\Domain\Manga\Domain\Contract\Repository\MangaRepositoryInterface;
use App\Domain\Manga\Domain\Exception\MangaNotFoundException;
readonly class ToggleMangaMonitoringHandler
{
public function __construct(
private MangaRepositoryInterface $mangaRepository
) {
}
public function handle(ToggleMangaMonitoring $command): void
{
$manga = $this->mangaRepository->findById($command->mangaId->getValue());
if (!$manga) {
throw new MangaNotFoundException($command->mangaId->getValue());
}
if ($command->enabled) {
$manga->enableMonitoring();
} else {
$manga->disableMonitoring();
}
$this->mangaRepository->save($manga);
}
}