File "DownloadExport.php"
Full Path: /home/tecassol/public_html/tecas-solar.ma/vendor/filament/actions/src/Exports/Http/Controllers/DownloadExport.php
File size: 787 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Filament\Actions\Exports\Http\Controllers;
use Filament\Actions\Exports\Enums\ExportFormat;
use Filament\Actions\Exports\Models\Export;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use Symfony\Component\HttpFoundation\StreamedResponse;
use function Filament\authorize;
class DownloadExport
{
public function __invoke(Request $request, Export $export): StreamedResponse
{
if (filled(Gate::getPolicyFor($export::class))) {
authorize('view', $export);
} else {
abort_unless($export->user()->is(auth()->user()), 403);
}
$format = ExportFormat::tryFrom($request->query('format'));
abort_unless($format !== null, 404);
return $format->getDownloader()($export);
}
}