feat: Renommage de GetManga à GetMangaById + ajout de axios

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-02-12 16:41:11 +01:00
parent 666636e5bf
commit 504c62c155
6 changed files with 34 additions and 26 deletions

View File

@@ -2,9 +2,9 @@
namespace App\Domain\Manga\Application\Query;
readonly class GetManga
readonly class GetMangaById
{
public function __construct(
public string $id
) {}
}
}

View File

@@ -2,18 +2,18 @@
namespace App\Domain\Manga\Application\QueryHandler;
use App\Domain\Manga\Application\Query\GetManga;
use App\Domain\Manga\Application\Query\GetMangaById;
use App\Domain\Manga\Application\Response\MangaResponse;
use App\Domain\Manga\Domain\Contract\Repository\MangaRepositoryInterface;
use App\Domain\Manga\Domain\Exception\MangaNotFoundException;
readonly class GetMangaHandler
readonly class GetMangaByIdHandler
{
public function __construct(
private MangaRepositoryInterface $mangaRepository
) {}
public function handle(GetManga $query): MangaResponse
public function handle(GetMangaById $query): MangaResponse
{
$manga = $this->mangaRepository->findById($query->id);
@@ -35,4 +35,4 @@ readonly class GetMangaHandler
rating: $manga->getRating()
);
}
}
}

View File

@@ -4,19 +4,19 @@ namespace App\Domain\Manga\Infrastructure\ApiPlatform\State\Provider;
use ApiPlatform\Metadata\Operation;
use ApiPlatform\State\ProviderInterface;
use App\Domain\Manga\Application\Query\GetManga;
use App\Domain\Manga\Application\QueryHandler\GetMangaHandler;
use App\Domain\Manga\Application\Query\GetMangaById;
use App\Domain\Manga\Application\QueryHandler\GetMangaByIdHandler;
use App\Domain\Manga\Infrastructure\ApiPlatform\Dto\MangaDetail;
readonly class GetMangaStateProvider implements ProviderInterface
{
public function __construct(
private GetMangaHandler $handler
private GetMangaByIdHandler $handler
) {}
public function provide(Operation $operation, array $uriVariables = [], array $context = []): MangaDetail
{
$query = new GetManga($uriVariables['id']);
$query = new GetMangaById($uriVariables['id']);
$response = $this->handler->handle($query);
return new MangaDetail(
@@ -33,4 +33,4 @@ readonly class GetMangaStateProvider implements ProviderInterface
rating: $response->rating
);
}
}
}