45 lines
1.6 KiB
PHP
45 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\BuildArtifact;
|
|
use App\Models\Organisation;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Response;
|
|
|
|
class BuildArtifactController extends Controller
|
|
{
|
|
public function index(Request $request): Response
|
|
{
|
|
$organisation = Organisation::findOrFail($request->route('organisation'));
|
|
$application = $organisation->applications()->findOrFail($request->route('application'));
|
|
$environment = $application->environments()->findOrFail($request->route('environment'));
|
|
|
|
return inertia('build-artifacts/Index', [
|
|
'application' => $application,
|
|
'environment' => $environment,
|
|
'artifacts' => $environment->buildArtifacts()
|
|
->with(['builtByOperation', 'builtByService'])
|
|
->latest()
|
|
->paginate(30),
|
|
]);
|
|
}
|
|
|
|
public function show(Request $request): Response
|
|
{
|
|
$organisation = Organisation::findOrFail($request->route('organisation'));
|
|
$application = $organisation->applications()->findOrFail($request->route('application'));
|
|
$environment = $application->environments()->findOrFail($request->route('environment'));
|
|
/** @var BuildArtifact $artifact */
|
|
$artifact = $environment->buildArtifacts()
|
|
->with(['builtByOperation.steps', 'builtByService'])
|
|
->findOrFail($request->route('artifact'));
|
|
|
|
return inertia('build-artifacts/Show', [
|
|
'application' => $application,
|
|
'environment' => $environment,
|
|
'artifact' => $artifact,
|
|
]);
|
|
}
|
|
}
|