Files
keystone/app/Http/Controllers/ApplicationController.php

39 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\ServerStatus;
use App\Models\Application;
use App\Models\Organisation;
use Illuminate\Http\Request;
class ApplicationController extends Controller
{
public function index(Request $request)
{
$organisation = Organisation::with('applications.instances.server')->findOrFail($request->route('organisation'));
return inertia('applications/Index', [
'applications' => $organisation->applications,
]);
}
public function show(Request $request)
{
$id = $request->route('application');
$application = Application::with(['instances.server', 'organisation'])->findOrFail($id);
return inertia('applications/Show', [
'application' => $application,
'servers' => inertia()->optional(function () use ($application) {
return $application
->organisation
?->servers()
->where('status', ServerStatus::ACTIVE)
->with('services')
->get() ?? [];
}),
]);
}
}