clientService->newClient(); $feed = $client->get($url); $episodes = $this->episodeActionReader->parseRssXml((string) $feed->getBody()); usort($episodes, fn (EpisodeActionExtraData $a, EpisodeActionExtraData $b) => $b->getFetchedAtUnix() <=> $a->getFetchedAtUnix()); $episodes = array_intersect_key($episodes, array_unique(array_map(fn (EpisodeActionExtraData $episode) => $episode->getEpisodeGuid(), $episodes))); return new JSONResponse($episodes, $feed->getStatusCode()); } public function action(string $url): JSONResponse { $action = $this->episodeActionReader->findByEpisodeUrl($url); if ($action) { return new JSONResponse($action->toArray()); } return new JSONResponse([], Http::STATUS_NOT_FOUND); } }