Simplify NP listeners into total/unique, make "current" match "total".
This commit is contained in:
parent
418a54c3c3
commit
888aac7ea4
|
@ -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",
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
</a>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span class="nowplaying-listeners">{{ item.listeners.current }}</span>
|
||||
<span class="nowplaying-listeners">{{ item.listeners.total }}</span>
|
||||
</td>
|
||||
<td>
|
||||
<div v-if="item.now_playing.song.title !== ''">
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 .
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Loading…
Reference in New Issue