Files
animethemes-server/app/Http/Controllers/Admin/LatestWikiDumpController.php
T
paranarimasuandGitHub 6015dcbbbf refactor: migration from laravel-enum package to native php enums (#585)
* refactor: migration from laravel-enum package to native php enums

* style: fix StyleCI findings
2023-06-09 14:29:10 -05:00

40 lines
990 B
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers\Admin;
use App\Actions\Http\Admin\Dump\DumpDownloadAction;
use App\Actions\Storage\Admin\Dump\DumpWikiAction;
use App\Enums\Http\Api\Filter\ComparisonOperator;
use App\Http\Controllers\Controller;
use App\Models\Admin\Dump;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpFoundation\StreamedResponse;
/**
* Class LatestWikiDumpController.
*/
class LatestWikiDumpController extends Controller
{
/**
* Download dump.
*
* @return StreamedResponse
*
* @throws ModelNotFoundException
*/
public function show(): StreamedResponse
{
/** @var Dump $dump */
$dump = Dump::query()
->where(Dump::ATTRIBUTE_PATH, ComparisonOperator::LIKE->value, DumpWikiAction::FILENAME_PREFIX.'%')
->latest()
->firstOrFail();
$action = new DumpDownloadAction($dump);
return $action->download();
}
}