Forráskód Böngészése

Update SoftwareUpdateService, add command to refresh latest versions

Daniel Supernault 1 éve
szülő
commit
632f2cb619

+ 37 - 0
app/Console/Commands/SoftwareUpdateRefresh.php

@@ -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!');
+    }
+}

+ 6 - 1
app/Services/Internal/SoftwareUpdateService.php

@@ -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();
         });