*/ final class AnimeForumLookupHandler extends RequestHandlerWithScraperCache { protected function resource(CachedData $results): JsonResource { return new ForumResource( $results ); } /** * @inheritDoc */ public function requestClass(): string { return AnimeForumLookupCommand::class; } protected function getScraperData(string $requestFingerPrint, Collection $requestParams): CachedData { $id = $requestParams->get("id"); $topic = $requestParams->get("filter", AnimeForumFilterEnum::all()->value); return $this->scraperService->findList( $requestFingerPrint, fn (MalClient $jikan, ?int $page = null) => collect( ["topics" => $jikan->getAnimeForum(new AnimeForumRequest($id, $topic))] ) ); } }