diff --git a/composer.lock b/composer.lock
index d569c2b5c..e62951b60 100644
--- a/composer.lock
+++ b/composer.lock
@@ -234,12 +234,12 @@
"source": {
"type": "git",
"url": "https://github.com/AzuraCast/nowplaying.git",
- "reference": "511403a915d7f54edbd79876f53a58463aed0280"
+ "reference": "f159715c22b8c7878eb08381577fc5c4765e53f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/AzuraCast/nowplaying/zipball/511403a915d7f54edbd79876f53a58463aed0280",
- "reference": "511403a915d7f54edbd79876f53a58463aed0280",
+ "url": "https://api.github.com/repos/AzuraCast/nowplaying/zipball/f159715c22b8c7878eb08381577fc5c4765e53f3",
+ "reference": "f159715c22b8c7878eb08381577fc5c4765e53f3",
"shasum": ""
},
"require": {
@@ -297,7 +297,7 @@
"type": "patreon"
}
],
- "time": "2021-04-11T22:23:09+00:00"
+ "time": "2021-04-25T01:42:46+00:00"
},
{
"name": "bacon/bacon-qr-code",
diff --git a/frontend/vue/Dashboard.vue b/frontend/vue/Dashboard.vue
index 45a8cc6ab..25d1e8217 100644
--- a/frontend/vue/Dashboard.vue
+++ b/frontend/vue/Dashboard.vue
@@ -131,7 +131,7 @@
- {{ item.listeners.current }}
+ {{ item.listeners.total }}
|
diff --git a/src/Entity/Api/NowPlayingListeners.php b/src/Entity/Api/NowPlayingListeners.php
index b17ad4f86..4a2c5bd81 100644
--- a/src/Entity/Api/NowPlayingListeners.php
+++ b/src/Entity/Api/NowPlayingListeners.php
@@ -10,11 +10,11 @@ use OpenApi\Annotations as OA;
class NowPlayingListeners
{
/**
- * Current listeners, either unique (if supplied) or total (non-unique)
- * @OA\Property(example=15)
+ * Total non-unique current listeners
+ * @OA\Property(example=20)
* @var int
*/
- public int $current = 0;
+ public int $total = 0;
/**
* Total unique current listeners
@@ -24,21 +24,19 @@ class NowPlayingListeners
public int $unique = 0;
/**
- * Total non-unique current listeners
+ * Total non-unique current listeners (Legacy field, may be retired in the future.)
* @OA\Property(example=20)
* @var int
*/
- public int $total = 0;
+ public int $current = 0;
- public function __construct(?array $listeners = [])
- {
- if (isset($listeners['current'])) {
- $this->current = (int)$listeners['current'];
- } else {
- $this->current = (int)($listeners['unique'] ?? $listeners['total'] ?? 0);
- }
+ public function __construct(
+ int $total = 0,
+ ?int $unique = null
+ ) {
+ $this->total = $total;
+ $this->current = $total;
- $this->unique = (int)($listeners['unique'] ?? $listeners['current'] ?? 0);
- $this->total = (int)($listeners['total'] ?? $listeners['current'] ?? 0);
+ $this->unique = $unique ?? 0;
}
}
diff --git a/src/Entity/ApiGenerator/NowPlayingApiGenerator.php b/src/Entity/ApiGenerator/NowPlayingApiGenerator.php
index e37d2e7d1..6fc4ea3ae 100644
--- a/src/Entity/ApiGenerator/NowPlayingApiGenerator.php
+++ b/src/Entity/ApiGenerator/NowPlayingApiGenerator.php
@@ -57,11 +57,8 @@ class NowPlayingApiGenerator
$np->is_online = $npResult->meta->online;
$np->station = ($this->stationApiGenerator)($station, $baseUri);
$np->listeners = new Entity\Api\NowPlayingListeners(
- [
- 'current' => $npResult->listeners->current,
- 'unique' => $npResult->listeners->unique,
- 'total' => $npResult->listeners->total,
- ]
+ total: $npResult->listeners->total,
+ unique: $npResult->listeners->unique
);
// Pull from current NP data if song details haven't changed .
diff --git a/src/Entity/StationMount.php b/src/Entity/StationMount.php
index 5cf214107..ee7c80512 100644
--- a/src/Entity/StationMount.php
+++ b/src/Entity/StationMount.php
@@ -419,10 +419,8 @@ class StationMount implements StationMountInterface
$response->url = $fa->getUrlForMount($this->station, $this, $base_url);
$response->listeners = new Api\NowPlayingListeners(
- [
- 'unique' => $this->listeners_unique,
- 'total' => $this->listeners_total,
- ]
+ total: $this->listeners_total,
+ unique: $this->listeners_unique
);
if ($this->enable_autodj) {
diff --git a/src/Entity/StationRemote.php b/src/Entity/StationRemote.php
index 6188086bf..80c6a7c36 100644
--- a/src/Entity/StationRemote.php
+++ b/src/Entity/StationRemote.php
@@ -498,10 +498,8 @@ class StationRemote implements StationMountInterface
$response->url = $adapter->getPublicUrl($this);
$response->listeners = new Api\NowPlayingListeners(
- [
- 'unique' => $this->listeners_unique,
- 'total' => $this->listeners_total,
- ]
+ total: $this->listeners_total,
+ unique: $this->listeners_unique
);
if ($this->enable_autodj || (Adapters::REMOTE_AZURARELAY === $this->type)) {
diff --git a/src/Radio/Frontend/Icecast.php b/src/Radio/Frontend/Icecast.php
index d4ef5dd17..08563de4f 100644
--- a/src/Radio/Frontend/Icecast.php
+++ b/src/Radio/Frontend/Icecast.php
@@ -58,7 +58,7 @@ class Icecast extends AbstractFrontend
}
$mount->setListenersTotal($result->listeners->total);
- $mount->setListenersUnique($result->listeners->unique);
+ $mount->setListenersUnique($result->listeners->unique ?? 0);
$this->em->persist($mount);
if ($mount->getIsDefault()) {
diff --git a/src/Radio/Frontend/SHOUTcast.php b/src/Radio/Frontend/SHOUTcast.php
index 8489bc79f..1e6db0a94 100644
--- a/src/Radio/Frontend/SHOUTcast.php
+++ b/src/Radio/Frontend/SHOUTcast.php
@@ -86,7 +86,7 @@ class SHOUTcast extends AbstractFrontend
}
$mount->setListenersTotal($result->listeners->total);
- $mount->setListenersUnique($result->listeners->unique);
+ $mount->setListenersUnique($result->listeners->unique ?? 0);
$this->em->persist($mount);
if ($mount->getIsDefault()) {
diff --git a/src/Radio/Remote/AbstractRemote.php b/src/Radio/Remote/AbstractRemote.php
index 596228897..c15b44a40 100644
--- a/src/Radio/Remote/AbstractRemote.php
+++ b/src/Radio/Remote/AbstractRemote.php
@@ -60,7 +60,7 @@ abstract class AbstractRemote
$this->logger->debug('NowPlaying adapter response', ['response' => $result]);
$remote->setListenersTotal($result->listeners->total);
- $remote->setListenersUnique($result->listeners->unique);
+ $remote->setListenersUnique($result->listeners->unique ?? 0);
$this->em->persist($remote);
$this->em->flush();
|