From 3b4a81be2a5a55e49e6daee4d03092e6c6c47928 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Sun, 3 Nov 2024 23:49:31 +0100 Subject: [PATCH] refactor add environment + remove unnecessary livewire component --- app/Livewire/Project/AddEnvironment.php | 44 ------------------- app/Livewire/Project/Show.php | 39 +++++++++++----- .../project/add-environment.blade.php | 6 --- .../views/livewire/project/show.blade.php | 15 +++---- 4 files changed, 36 insertions(+), 68 deletions(-) delete mode 100644 app/Livewire/Project/AddEnvironment.php delete mode 100644 resources/views/livewire/project/add-environment.blade.php diff --git a/app/Livewire/Project/AddEnvironment.php b/app/Livewire/Project/AddEnvironment.php deleted file mode 100644 index 7b2767dc6..000000000 --- a/app/Livewire/Project/AddEnvironment.php +++ /dev/null @@ -1,44 +0,0 @@ - 'required|string|min:3', - ]; - - protected $validationAttributes = [ - 'name' => 'Environment Name', - ]; - - public function submit() - { - try { - $this->validate(); - $environment = Environment::create([ - 'name' => $this->name, - 'project_id' => $this->project->id, - ]); - - return redirect()->route('project.resource.index', [ - 'project_uuid' => $this->project->uuid, - 'environment_name' => $environment->name, - ]); - } catch (\Throwable $e) { - handleError($e, $this); - } finally { - $this->name = ''; - } - } -} diff --git a/app/Livewire/Project/Show.php b/app/Livewire/Project/Show.php index 1082f078c..8374a98cc 100644 --- a/app/Livewire/Project/Show.php +++ b/app/Livewire/Project/Show.php @@ -2,27 +2,46 @@ namespace App\Livewire\Project; +use App\Models\Environment; use App\Models\Project; +use Livewire\Attributes\Rule; use Livewire\Component; class Show extends Component { public Project $project; - public $environments; + #[Rule(['required', 'string', 'min:3'])] + public string $name; - public function mount() + #[Rule(['nullable', 'string'])] + public ?string $description = null; + + public function mount(string $project_uuid) { - $projectUuid = request()->route('project_uuid'); - $teamId = currentTeam()->id; - - $project = Project::where('team_id', $teamId)->where('uuid', $projectUuid)->first(); - if (! $project) { - return redirect()->route('dashboard'); + try { + $this->project = Project::where('team_id', currentTeam()->id)->where('uuid', $project_uuid)->firstOrFail(); + } catch (\Throwable $e) { + return handleError($e, $this); } + } - $this->environments = $project->environments->sortBy('created_at'); - $this->project = $project; + public function submit() + { + try { + $this->validate(); + $environment = Environment::create([ + 'name' => $this->name, + 'project_id' => $this->project->id, + ]); + + return redirect()->route('project.resource.index', [ + 'project_uuid' => $this->project->uuid, + 'environment_name' => $environment->name, + ]); + } catch (\Throwable $e) { + handleError($e, $this); + } } public function render() diff --git a/resources/views/livewire/project/add-environment.blade.php b/resources/views/livewire/project/add-environment.blade.php deleted file mode 100644 index f1511b18f..000000000 --- a/resources/views/livewire/project/add-environment.blade.php +++ /dev/null @@ -1,6 +0,0 @@ -
- - - Save - - diff --git a/resources/views/livewire/project/show.blade.php b/resources/views/livewire/project/show.blade.php index f4f5299f9..348e0564d 100644 --- a/resources/views/livewire/project/show.blade.php +++ b/resources/views/livewire/project/show.blade.php @@ -5,13 +5,18 @@

Environments

- +
+ + + Save + +
{{ $project->name }}.
- @forelse ($environments as $environment) + @forelse ($project->environments->sortBy('created_at') as $environment)
@@ -28,12 +33,6 @@
- {{-- --}}
@empty

No environments found.