ajout heimdall

This commit is contained in:
2025-01-01 11:24:01 +01:00
parent f8be42e486
commit c52f60fca9
1477 changed files with 15692 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?php namespace App\SupportedApps\Sonarr;
class Sonarr extends \App\SupportedApps implements \App\EnhancedApps {
public $config;
//protected $login_first = true; // Uncomment if api requests need to be authed first
//protected $method = 'POST'; // Uncomment if requests to the API should be set by POST
function __construct() {
//$this->jar = new \GuzzleHttp\Cookie\CookieJar; // Uncomment if cookies need to be set
}
public function test()
{
$attrs = [
'headers' => ['Accept' => 'application/json']
];
$test = parent::appTest($this->url('system/status'), $attrs);
echo $test->status;
}
public function livestats()
{
$status = 'inactive';
$data = [];
$attrs = [
'headers' => ['Accept' => 'application/json']
];
$missing = json_decode(parent::execute($this->url('wanted/missing'), $attrs)->getBody());
$queue = json_decode(parent::execute($this->url('queue'), $attrs)->getBody());
$data = [];
if($missing || $queue) {
$data['missing'] = $missing->totalRecords ?? 0;
$data['queue'] = $queue->totalRecords ?? 0;
}
return parent::getLiveStats($status, $data);
}
public function url($endpoint)
{
$api_url = parent::normaliseurl($this->config->url).'api/v3/'.$endpoint.'?apikey='.$this->config->apikey;
return $api_url;
}
}

View File

@@ -0,0 +1,27 @@
{
"appid": "6e2a525ceb737f9ed8badcef5eb20d1502e39656",
"name": "Sonarr",
"website": "https://sonarr.tv/",
"license": "GNU General Public License v3.0 only",
"description": "Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
"enhanced": true,
"tile_background": "dark",
"icon": "sonarr.png",
"config": {
"type": "apikey",
"stat1": {
"name": "Missing",
"url": ":url:api/wanted/missing?apikey=:apikey:",
"key": "totalRecords",
"filter": "none",
"updateOnChange": "No"
},
"stat2": {
"name": "Queue",
"url": ":url:api/queue?apikey=:apikey:",
"key": null,
"filter": "count",
"updateOnChange": "No"
}
}
}

View File

@@ -0,0 +1,15 @@
<h2>{{ __('app.apps.config') }} ({{ __('app.optional') }}) @include('items.enable')</h2>
<div class="items">
<div class="input">
<label>{{ strtoupper(__('app.url')) }}</label>
{!! Form::text('config[override_url]', (isset($item) ? $item->getconfig()->override_url : null), array('placeholder' => __('app.apps.override'), 'id' => 'override_url', 'class' => 'form-control')) !!}
</div>
<div class="input">
<label>{{ __('app.apps.apikey') }}</label>
{!! Form::text('config[apikey]', (isset($item) ? $item->getconfig()->apikey : null), array('placeholder' => __('app.apps.apikey'), 'data-config' => 'apikey', 'class' => 'form-control config-item')) !!}
</div>
<div class="input">
<button style="margin-top: 32px;" class="btn test" id="test_config">Test</button>
</div>
</div>

View File

@@ -0,0 +1,10 @@
<ul class="livestats">
<li>
<span class="title">Missing</span>
<strong>{!! $missing !!}</strong>
</li>
<li>
<span class="title">Queue</span>
<strong>{!! $queue !!}</strong>
</li>
</ul>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB