Skip to content

Commit

Permalink
Update SoftwareUpdateService, add command to refresh latest versions
Browse files Browse the repository at this point in the history
  • Loading branch information
dansup committed Mar 5, 2024
1 parent b1cdf44 commit 632f2cb
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
37 changes: 37 additions & 0 deletions app/Console/Commands/SoftwareUpdateRefresh.php
Original file line number Diff line number Diff line change
@@ -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!');
}
}
7 changes: 6 additions & 1 deletion app/Services/Internal/SoftwareUpdateService.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,16 @@ class SoftwareUpdateService
{
const CACHE_KEY = 'pf:services:software-update:';

public static function cacheKey()
{
return self::CACHE_KEY . 'latest:v1.0.0';
}

public static function get()
{
$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();
});

Expand Down

0 comments on commit 632f2cb

Please sign in to comment.