From 0da184c56ea8995c7a62adb42de30a1f6e71d4b4 Mon Sep 17 00:00:00 2001 From: Boy132 Date: Thu, 13 Jun 2024 08:23:45 +0200 Subject: [PATCH] Get latest Panel & Wings version from github api (#379) * get latest panel % wings version from github api * fix tests * remove unused CdnVersionFetchingException --- .../Helper/CdnVersionFetchingException.php | 7 ------ .../Helpers/SoftwareVersionService.php | 25 +++++++++++++------ 2 files changed, 17 insertions(+), 15 deletions(-) delete mode 100644 app/Exceptions/Service/Helper/CdnVersionFetchingException.php diff --git a/app/Exceptions/Service/Helper/CdnVersionFetchingException.php b/app/Exceptions/Service/Helper/CdnVersionFetchingException.php deleted file mode 100644 index 3a2575f58..000000000 --- a/app/Exceptions/Service/Helper/CdnVersionFetchingException.php +++ /dev/null @@ -1,7 +0,0 @@ -cache->remember(self::VERSION_CACHE_KEY, CarbonImmutable::now()->addMinutes(config('panel.cdn.cache_time', 60)), function () { - try { - $response = $this->client->request('GET', config('panel.cdn.url')); + $versionData = []; + try { + $response = $this->client->request('GET', 'https://api.github.com/repos/pelican-dev/panel/releases/latest'); if ($response->getStatusCode() === 200) { - return json_decode($response->getBody(), true); + $panelData = json_decode($response->getBody(), true); + $versionData['panel'] = trim($panelData['tag_name'], 'v'); } - throw new CdnVersionFetchingException(); - } catch (Exception) { - return []; + $response = $this->client->request('GET', 'https://api.github.com/repos/pelican-dev/wings/releases/latest'); + if ($response->getStatusCode() === 200) { + $wingsData = json_decode($response->getBody(), true); + $versionData['daemon'] = trim($wingsData['tag_name'], 'v'); + } + } catch (ClientException $e) { } + + $versionData['discord'] = 'https://pelican.dev/discord'; + $versionData['donate'] = 'https://pelican.dev/donate'; + + return $versionData; }); }