|
4 | 4 |
|
5 | 5 | use App\Http\Controllers\Controller; |
6 | 6 | use App\Models\Metadata; |
| 7 | +use App\Services\External\LrcLibService; |
7 | 8 | use Illuminate\Http\Request; |
8 | | -use Illuminate\Support\Facades\Http; |
9 | 9 |
|
10 | 10 | class ExternalMetadataController extends Controller { |
| 11 | + public function __construct(protected LrcLibService $lrcLibService) {} |
| 12 | + |
11 | 13 | public function importLyrics(Request $request, $id) { |
12 | 14 | $metadata = Metadata::FindOrFail($id); |
13 | | - $data = [ |
14 | | - 'artist_name' => explode(' - ', $metadata->description)[0], |
15 | | - 'track_name' => $metadata->title, |
16 | | - // 'album_name' => $request->query('album_name'), |
17 | | - 'duration' => $metadata->duration, |
18 | | - ]; |
19 | | - $response = Http::get('https://lrclib.net/api/get', $data); |
20 | 15 |
|
21 | | - return response()->json(['lrclib' => $response->json(), 'payload' => $data]); |
| 16 | + return response()->json($this->lrcLibService->importLyrics($metadata)); |
22 | 17 | } |
23 | 18 |
|
24 | 19 | public function searchLyrics(Request $request, $id) { |
25 | 20 | $metadata = Metadata::FindOrFail($id); |
26 | | - $data = [ |
27 | | - 'artist_name' => explode(' - ', $metadata->description)[0], |
28 | | - 'track_name' => $metadata->title, |
29 | | - // 'album_name' => $request->query('album_name'), |
30 | | - // 'duration' => $metadata->duration, |
31 | | - ]; |
32 | | - // $response = Http::get('https://lrclib.net/api/get', $data); |
33 | | - $response = Http::get('https://lrclib.net/api/search?q=' . implode('+', $data)); |
34 | 21 |
|
35 | | - return response()->json(['lrclib' => $response->json(), 'payload' => $data]); |
| 22 | + return response()->json($this->lrcLibService->searchLyrics($metadata, $request)); |
36 | 23 | } |
37 | 24 | } |
0 commit comments