40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Classes;
|
|
|
|
class RecentMediaHandler extends BaseHandler
|
|
{
|
|
protected int $cacheTTL = 300;
|
|
|
|
public function getRecentMedia(): array
|
|
{
|
|
try {
|
|
$cacheKey = 'recent_media';
|
|
|
|
if ($this->cache) {
|
|
$cached = $this->cache->get($cacheKey);
|
|
|
|
if ($cached) {
|
|
return json_decode($cached, true);
|
|
}
|
|
}
|
|
|
|
$response = $this->makeRequest('GET', 'optimized_recent_media?select=*');
|
|
$activity = $response[0]['recent_activity'] ?? [];
|
|
$data = [
|
|
'recentMusic' => $activity['recentMusic'] ?? [],
|
|
'recentWatchedRead' => $activity['recentWatchedRead'] ?? [],
|
|
];
|
|
|
|
if ($this->cache) {
|
|
$this->cache->set($cacheKey, json_encode($data), $this->cacheTTL);
|
|
}
|
|
|
|
return $data;
|
|
} catch (\Exception $e) {
|
|
error_log('RecentMediaHandler error: '.$e->getMessage());
|
|
|
|
return ['recentMusic' => [], 'recentWatchedRead' => []];
|
|
}
|
|
}
|
|
}
|