koel/app/Http/Controllers/API/MediaInformation/SongController.php

38 lines
1 KiB
PHP
Raw Normal View History

2018-08-18 15:19:40 +02:00
<?php
2018-08-18 15:20:02 +02:00
2018-08-18 15:19:40 +02:00
namespace App\Http\Controllers\API\MediaInformation;
use App\Models\Song;
use App\Services\MediaInformationService;
use App\Services\YouTubeService;
2018-08-18 15:19:40 +02:00
use Illuminate\Http\JsonResponse;
class SongController extends Controller
{
private $youTubeService;
public function __construct(MediaInformationService $mediaInformationService, YouTubeService $youTubeService)
{
parent::__construct($mediaInformationService);
$this->youTubeService = $youTubeService;
}
2018-08-18 15:19:40 +02:00
/**
* Get extra information about a song.
*
* @param Song $song
*
* @return JsonResponse
*/
public function show(Song $song)
{
return response()->json([
'lyrics' => $song->lyrics,
'album_info' => $this->mediaInformationService->getAlbumInformation($song->album),
'artist_info' => $this->mediaInformationService->getArtistInformation($song->artist),
'youtube' => $this->youTubeService->searchVideosRelatedToSong($song),
2018-08-18 15:19:40 +02:00
]);
}
}