mirror of
https://github.com/linuxserver/Heimdall.git
synced 2025-11-01 13:37:48 +09:00
changes
This commit is contained in:
@@ -6,6 +6,10 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
|
|
||||||
class Application extends Model
|
class Application extends Model
|
||||||
{
|
{
|
||||||
|
public $incrementing = false;
|
||||||
|
|
||||||
|
protected $primaryKey = 'appid';
|
||||||
|
|
||||||
//
|
//
|
||||||
public function icon()
|
public function icon()
|
||||||
{
|
{
|
||||||
|
|||||||
61
app/Console/Commands/RegisterApp.php
Normal file
61
app/Console/Commands/RegisterApp.php
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use App\Application;
|
||||||
|
use App\SupportedApps;
|
||||||
|
|
||||||
|
class RegisterApp extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'register:app {folder}';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Add a local app to the registry';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$folder = $this->argument('folder');
|
||||||
|
$json = app_path('SupportedApps/'.$folder.'/app.json');
|
||||||
|
if(file_exists($json)) {
|
||||||
|
$app = json_decode(file_get_contents($json));
|
||||||
|
$exists = Application::find($app->appid);
|
||||||
|
if($exists) {
|
||||||
|
$this->error('This app is already registered');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
// Doesn't exist so add it
|
||||||
|
SupportedApps::saveApp($app, new Application);
|
||||||
|
$this->info("Application Added - ".$app->name." - ".$app->appid);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$this->error('Could not find '.$json);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -348,7 +348,9 @@ class ItemController extends Controller
|
|||||||
{
|
{
|
||||||
$localapps = Application::all();
|
$localapps = Application::all();
|
||||||
$list = json_decode(SupportedApps::getList()->getBody());
|
$list = json_decode(SupportedApps::getList()->getBody());
|
||||||
|
$validapps = [];
|
||||||
foreach($list->apps as $app) {
|
foreach($list->apps as $app) {
|
||||||
|
$validapps[] = $app->appid;
|
||||||
if(!file_exists(app_path('SupportedApps/'.$app->name))) {
|
if(!file_exists(app_path('SupportedApps/'.$app->name))) {
|
||||||
SupportedApps::getFiles($app);
|
SupportedApps::getFiles($app);
|
||||||
$application = new Application;
|
$application = new Application;
|
||||||
@@ -361,12 +363,11 @@ class ItemController extends Controller
|
|||||||
SupportedApps::getFiles($app);
|
SupportedApps::getFiles($app);
|
||||||
SupportedApps::saveApp($app, $localapp);
|
SupportedApps::saveApp($app, $localapp);
|
||||||
}
|
}
|
||||||
} else { // local folder, add to database
|
}
|
||||||
$application = new Application;
|
|
||||||
SupportedApps::saveApp($app, $application);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//$delete = Application::whereNotIn('appid', $validapps)->delete(); // delete any apps not in list
|
||||||
|
// removed the delete so local apps can be added
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -93,8 +93,9 @@ abstract class SupportedApps
|
|||||||
//die("i: ".$img_src);
|
//die("i: ".$img_src);
|
||||||
copy($img_src, $img_dest);
|
copy($img_src, $img_dest);
|
||||||
|
|
||||||
|
$app->appid = $details->appid;
|
||||||
$app->name = $details->name;
|
$app->name = $details->name;
|
||||||
$app->sha = $details->sha;
|
$app->sha = $details->sha ?? null;
|
||||||
$app->icon = 'supportedapps/'.$details->icon;
|
$app->icon = 'supportedapps/'.$details->icon;
|
||||||
$app->website = $details->website;
|
$app->website = $details->website;
|
||||||
$app->license = $details->license;
|
$app->license = $details->license;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class CreateApplicationsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::create('applications', function (Blueprint $table) {
|
Schema::create('applications', function (Blueprint $table) {
|
||||||
|
|
||||||
$table->increments('id');
|
$table->string('appid')->unique();
|
||||||
$table->string('name')->unique();
|
$table->string('name')->unique();
|
||||||
$table->string('sha')->unique()->nullable();
|
$table->string('sha')->unique()->nullable();
|
||||||
$table->string('icon')->nullable();
|
$table->string('icon')->nullable();
|
||||||
|
|||||||
Reference in New Issue
Block a user