Heimdall-Apps/Readarr/Readarr.php
Steve Lambe 633c9f19f0
fix: Fix *arr url creation (#788)
* Update Radarr.php

Radarr was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.

* Update Sonarr.php

Sonarr as well was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.

* Update Readarr.php

Readarr  as well was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.

* Update Lidarr.php

Lidarr as well was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.

* Update Bazarr.php

Bazarr as well was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.

* Update Prowlarr.php

Prowlarr as well was using normaliseurl (which strips the trailing `/`) without passing true to re-add said `/` as needed.
2024-10-18 12:12:39 +02:00

73 lines
1.9 KiB
PHP

<?php
namespace App\SupportedApps\Readarr;
class Readarr 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
public function __construct()
{
//$this->jar = new \GuzzleHttp\Cookie\CookieJar; // Uncomment if cookies need to be set
}
public function test()
{
$test = parent::appTest($this->url("system/status?"));
echo $test->status;
}
public function livestats()
{
$status = "inactive";
$data = [];
$missing = json_decode(
parent::execute($this->url("wanted/missing?"))->getBody()
);
$nextmonth = date(
"Y-m-d",
mktime(0, 0, 0, date("m") + 1, date("d"), date("Y"))
);
$tomorrow = date(
"Y-m-d",
mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"))
);
$queue = json_decode(
parent::execute(
$this->url(
"calendar?start=" . $tomorrow . "&end=" . $nextmonth . "&"
)
)->getBody()
);
$collect = collect($queue);
$upcoming = $collect->where("hasFile", false);
$data = [];
//$date = new DateTime('NOW');
if ($missing || $queue) {
$data["missing"] = $missing->{"totalRecords"} ?? 0;
$data["upcoming"] = $upcoming->count() ?? 0;
}
return parent::getLiveStats($status, $data);
}
public function url($endpoint)
{
$api_url =
parent::normaliseurl($this->config->url, true) .
"api/v1/" .
$endpoint .
"apikey=" .
$this->config->apikey;
return $api_url;
}
}