Refactor to remove slices and environments, replace with instances.
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Enums\ServerStatus;
|
||||
use App\Models\Application;
|
||||
use App\Models\Organisation;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
@@ -9,7 +11,7 @@ class ApplicationController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$organisation = Organisation::with('applications')->findOrFail($request->route('organisation'));
|
||||
$organisation = Organisation::with('applications.instances.server')->findOrFail($request->route('organisation'));
|
||||
|
||||
return inertia('applications/Index', [
|
||||
'applications' => $organisation->applications,
|
||||
@@ -19,7 +21,18 @@ class ApplicationController extends Controller
|
||||
public function show(Request $request)
|
||||
{
|
||||
$id = $request->route('application');
|
||||
$application = Application::with(['instances.server', 'organisation'])->findOrFail($id);
|
||||
|
||||
return inertia('applications/Show');
|
||||
return inertia('applications/Show', [
|
||||
'application' => $application,
|
||||
'servers' => inertia()->optional(function () use ($application) {
|
||||
return $application
|
||||
->organisation
|
||||
?->servers()
|
||||
->where('status', ServerStatus::ACTIVE)
|
||||
->with('services')
|
||||
->get() ?? [];
|
||||
}),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Enums\ServerStatus;
|
||||
use App\Models\Environment;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class EnvironmentController extends Controller
|
||||
{
|
||||
public function show(Request $request)
|
||||
{
|
||||
$id = $request->route('environment');
|
||||
$environment = Environment::with('application')->findOrFail($id);
|
||||
|
||||
return inertia('environments/Show', [
|
||||
'environment' => $environment,
|
||||
'servers' => inertia()->optional(function () use ($environment) {
|
||||
return $environment
|
||||
->application
|
||||
?->organisation
|
||||
?->servers()
|
||||
->where('status', ServerStatus::ACTIVE)
|
||||
->with('services')
|
||||
->get() ?? [];
|
||||
}),
|
||||
]);
|
||||
}
|
||||
}
|
||||
36
app/Http/Controllers/InstanceController.php
Normal file
36
app/Http/Controllers/InstanceController.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Actions\Applications\CreateInstance;
|
||||
use App\Models\Application;
|
||||
use App\Models\Server;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class InstanceController extends Controller
|
||||
{
|
||||
public function store(Request $request, Application $application)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'server_id' => 'required|exists:servers,id',
|
||||
'branch' => 'required|string|max:255',
|
||||
'config' => 'sometimes|array',
|
||||
]);
|
||||
|
||||
$server = Server::findOrFail($validated['server_id']);
|
||||
|
||||
$instance = (new CreateInstance())->execute(
|
||||
$application,
|
||||
$server,
|
||||
$validated['branch'],
|
||||
$validated['config'] ?? []
|
||||
);
|
||||
|
||||
return redirect()
|
||||
->route('applications.show', [
|
||||
'organisation' => $application->organisation_id,
|
||||
'application' => $application->id
|
||||
])
|
||||
->with('success', 'Instance created successfully');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user