2024-02-24 07:28:49 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Services\Streamer\Adapters;
|
|
|
|
|
|
|
|
use App\Models\Song;
|
|
|
|
use App\Services\SongStorages\S3CompatibleStorage;
|
|
|
|
use Illuminate\Http\RedirectResponse;
|
|
|
|
use Illuminate\Routing\Redirector;
|
|
|
|
|
|
|
|
class S3CompatibleStreamerAdapter implements StreamerAdapter
|
|
|
|
{
|
2024-04-18 14:36:28 +00:00
|
|
|
public function __construct(private readonly S3CompatibleStorage $storage)
|
2024-02-24 07:28:49 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public function stream(Song $song, array $config = []): Redirector|RedirectResponse
|
|
|
|
{
|
|
|
|
return redirect($this->storage->getSongPresignedUrl($song));
|
|
|
|
}
|
|
|
|
}
|