getStation(); $backend = $this->adapters->getBackendAdapter($station); $frontend = $this->adapters->getFrontendAdapter($station); $baseUri = new Uri(''); $nowPlayingApi = $this->nowPlayingApiGenerator->currentOrEmpty($station, $baseUri); $apiResponse = new Entity\Api\StationProfile(); $apiResponse->fromParentObject($nowPlayingApi); $apiResponse->station = ($this->stationApiGenerator)($station, $baseUri, true); $apiResponse->cache = 'database'; $apiResponse->services = new Entity\Api\StationServiceStatus( null !== $backend && $backend->isRunning($station), null !== $frontend && $frontend->isRunning($station), $station->getHasStarted(), $station->getNeedsRestart() ); $apiResponse->schedule = $this->scheduleRepo->getUpcomingSchedule($station); $apiResponse->update(); $apiResponse->resolveUrls($request->getRouter()->getBaseUrl()); return $response->withJson($apiResponse); } }