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

36 lines
826 B
PHP
Raw Normal View History

2016-06-02 17:53:26 +00:00
<?php
namespace App\Http\Controllers\API\Download;
use App\Http\Requests\API\Download\SongRequest;
2018-08-29 06:15:11 +00:00
use App\Repositories\SongRepository;
use App\Services\DownloadService;
2016-06-02 17:53:26 +00:00
/**
* @group 6. Download
*/
2016-06-02 17:53:26 +00:00
class SongController extends Controller
{
2018-08-29 06:15:11 +00:00
private $songRepository;
public function __construct(DownloadService $downloadService, SongRepository $songRepository)
{
parent::__construct($downloadService);
$this->songRepository = $songRepository;
}
2016-06-02 17:53:26 +00:00
/**
2020-04-07 21:41:30 +00:00
* Download one or several songs.
*
* @queryParam songs array An array of song IDs
*
* @response []
2016-06-02 17:53:26 +00:00
*/
2018-08-18 11:51:52 +00:00
public function show(SongRequest $request)
2016-06-02 17:53:26 +00:00
{
2018-08-29 06:15:11 +00:00
$songs = $this->songRepository->getByIds($request->songs);
2016-06-02 17:53:26 +00:00
2018-08-18 11:51:52 +00:00
return response()->download($this->downloadService->from($songs));
2016-06-02 17:53:26 +00:00
}
}