*/ final class AnimeRecommendationsLookupHandler extends RequestHandlerWithScraperCache { protected function resource(CachedData $results): JsonResource { return new RecommendationsResource( $results ); } /** * @inheritDoc */ public function requestClass(): string { return AnimeRecommendationsLookupCommand::class; } protected function getScraperData(string $requestFingerPrint, Collection $requestParams): CachedData { $id = $requestParams->get("id"); return $this->scraperService->findList( $requestFingerPrint, fn (MalClient $jikan, ?int $page = null) => collect( ["recommendations" => $jikan->getAnimeRecommendations(new AnimeRecommendationsRequest($id))] ) ); } }