aboutsummaryrefslogtreecommitdiff
path: root/app/Http/Controllers/MusicController.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Http/Controllers/MusicController.php')
-rw-r--r--app/Http/Controllers/MusicController.php69
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());
- }
-}