Update SoftwareUpdateService, add command to refresh latest versions

This commit is contained in:
Daniel Supernault 2024-03-05 07:02:40 -07:00
parent b1cdf4464f
commit 632f2cb619
No known key found for this signature in database
GPG key ID: 23740873EE6F76A1
2 changed files with 43 additions and 1 deletions

View file

@ -0,0 +1,37 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Services\Internal\SoftwareUpdateService;
use Cache;
class SoftwareUpdateRefresh extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'app:software-update-refresh';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Refresh latest software version data';
/**
* Execute the console command.
*/
public function handle()
{
$key = SoftwareUpdateService::cacheKey();
Cache::forget($key);
Cache::remember($key, 1209600, function() {
return SoftwareUpdateService::fetchLatest();
});
$this->info('Succesfully updated software versions!');
}
}

View file

@ -11,11 +11,16 @@ class SoftwareUpdateService
{ {
const CACHE_KEY = 'pf:services:software-update:'; const CACHE_KEY = 'pf:services:software-update:';
public static function cacheKey()
{
return self::CACHE_KEY . 'latest:v1.0.0';
}
public static function get() public static function get()
{ {
$curVersion = config('pixelfed.version'); $curVersion = config('pixelfed.version');
$versions = Cache::remember(self::CACHE_KEY . 'latest:v1.0.0', 1800, function() { $versions = Cache::remember(self::cacheKey(), 1800, function() {
return self::fetchLatest(); return self::fetchLatest();
}); });