<?php namespace App\Http\Controllers\Download; use App\Http\Requests\Download\SongRequest; use App\Repositories\SongRepository; use App\Services\DownloadService; /** * @group 6. Download */ class SongController extends Controller { private $songRepository; public function __construct(DownloadService $downloadService, SongRepository $songRepository) { parent::__construct($downloadService); $this->songRepository = $songRepository; } /** * Download one or several songs * * @queryParam songs array An array of song IDs * * @response [] */ public function show(SongRequest $request) { $songs = $this->songRepository->getByIds($request->songs); return response()->download($this->downloadService->from($songs)); } }