diff options
Diffstat (limited to 'app/Http/Controllers/MusicController.php')
-rw-r--r-- | app/Http/Controllers/MusicController.php | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php deleted file mode 100644 index 5e31d86..0000000 --- a/app/Http/Controllers/MusicController.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php - -namespace App\Http\Controllers; - -use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\Config; -use Illuminate\Support\Facades\Http; -use Illuminate\View\View; - -class MusicController extends Controller -{ - public function getCurrentTrack() { - // If it's already cached just return that - if (Cache::has('current_track')) { - return Cache::get('current_track'); - } - - $response = Http::withQueryParameters([ - 'method' => 'user.getrecenttracks', - 'user' => Config::get('services.lastfm.user'), - 'format' => 'json', - 'nowplaying' => 'true', - 'api_key' => Config::get('services.lastfm.key') - ])->get('https://ws.audioscrobbler.com/2.0/'); - $data = $response->json(); - error_log($response->body()); - $track_data = $data["recenttracks"]["track"][0]; - $current_track = [ - 'title' => $track_data["name"], - 'artist' => $track_data["artist"]["#text"], - 'url' => $track_data["url"], - ]; - Cache::put('current_track', $current_track, now()->addSeconds(15)); - return $current_track; - } - - public function getTopTracks() { - // If it's already cached just return that - if (Cache::has('top_tracks')) { - return Cache::get('top_tracks'); - } - - $response = Http::withQueryParameters([ - 'method' => 'user.gettoptracks', - 'user' => Config::get('services.lastfm.user'), - 'format' => 'json', - 'period' => '1month', - 'limit' => 10, - 'api_key' => Config::get('services.lastfm.key') - ])->get('https://ws.audioscrobbler.com/2.0/'); - $data = $response->json(); - $topTracks = []; - foreach ($data["toptracks"]["track"] as $track) { - $topTracks[] = [ - 'title' => $track["name"], - 'artist' => $track["artist"]["name"], - 'url' => $track["url"], - 'plays' => $track["playcount"], - ]; - } - Cache::put('top_tracks', $topTracks, now()->addSeconds(15)); - return $topTracks; - } - public function show() : View { - return view('music') - ->with('current_track', $this->getCurrentTrack()) - ->with('top_tracks', $this->getTopTracks()); - } -} |