Bladeren bron

feat: support the listing of private apps

Attila Kerekes 2 jaren geleden
bovenliggende
commit
6907695c5d
2 gewijzigde bestanden met toevoegingen van 15 en 1 verwijderingen
  1. 7 0
      app/Application.php
  2. 8 1
      app/Http/Controllers/ItemController.php

+ 7 - 0
app/Application.php

@@ -110,6 +110,13 @@ class Application extends Model
     {
         $apps = self::apps();
         $app = $apps->where('appid', $appid)->first();
+
+        if ($app === null) {
+            // Try in db for Private App
+            $appModel = self::where('appid', $appid)->first();
+            $app = json_decode($appModel->toJson());
+        }
+
         if ($app === null) {
             return null;
         }

+ 8 - 1
app/Http/Controllers/ItemController.php

@@ -17,6 +17,7 @@ use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Log;
 use Illuminate\Support\Facades\Route;
 use Illuminate\Support\Facades\Storage;
+use Illuminate\Support\Facades\URL;
 
 class ItemController extends Controller
 {
@@ -376,7 +377,13 @@ class ItemController extends Controller
         }
 
         $output['colour'] = ($app->tile_background == 'light') ? '#fafbfc' : '#161b1f';
-        $output['iconview'] = config('app.appsource').'icons/'.$app->icon;
+        if(strpos($app->icon, 'icons/') !== false) {
+            // Private apps have the icon locally
+            $output['iconview'] = URL::to('/').'/storage/'.$app->icon;
+        } else {
+            $output['iconview'] = config('app.appsource').'icons/'.$app->icon;
+        }
+
 
         return json_encode($output);
     }