From cc1c08786fc1b715c6a3979b675da741e8d2abc3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 26 Apr 2023 10:02:19 +0200 Subject: [PATCH] delete application + init confirm modal --- .../Livewire/Project/Application/Deploy.php | 9 +++++++ .../Project/New/PublicGitRepository.php | 16 +++++++++---- app/Models/Application.php | 4 ++++ .../components/applications/navbar.blade.php | 2 +- .../views/components/confirm-modal.blade.php | 24 +++++++++++++++++++ resources/views/components/layout.blade.php | 3 ++- .../project/application/deploy.blade.php | 3 +++ .../new/public-git-repository.blade.php | 1 + 8 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 resources/views/components/confirm-modal.blade.php diff --git a/app/Http/Livewire/Project/Application/Deploy.php b/app/Http/Livewire/Project/Application/Deploy.php index a8696e506..830018c6b 100644 --- a/app/Http/Livewire/Project/Application/Deploy.php +++ b/app/Http/Livewire/Project/Application/Deploy.php @@ -62,6 +62,15 @@ class Deploy extends Component return $this->redirectToDeployment(); } + public function delete() + { + $this->kill(); + Application::find($this->applicationId)->delete(); + return redirect()->route('project.resources', [ + 'project_uuid' => $this->parameters['project_uuid'], + 'environment_name' => $this->parameters['environment_name'] + ]); + } public function stop() { runRemoteCommandSync($this->destination->server, ["docker stop -t 0 {$this->application->uuid} >/dev/null 2>&1"]); diff --git a/app/Http/Livewire/Project/New/PublicGitRepository.php b/app/Http/Livewire/Project/New/PublicGitRepository.php index 8433ee829..d7ac933e8 100644 --- a/app/Http/Livewire/Project/New/PublicGitRepository.php +++ b/app/Http/Livewire/Project/New/PublicGitRepository.php @@ -24,11 +24,14 @@ class PublicGitRepository extends Component public $swarm_docker; public $chosenServer; public $chosenDestination; + public $is_static = false; public $github_apps; public $gitlab_apps; protected $rules = [ 'public_repository_url' => 'required|url', + 'port' => 'required|numeric', + 'is_static' => 'required|boolean', ]; public function mount() { @@ -65,13 +68,14 @@ class PublicGitRepository extends Component 'description' => fake()->sentence(), 'team_id' => session('currentTeam')->id, ]); + $environment = $project->environments->first(); $application_init = [ 'name' => fake()->words(2, true), 'git_repository' => $git_repository, 'git_branch' => $git_branch, 'build_pack' => 'nixpacks', 'ports_exposes' => $this->port, - 'environment_id' => $project->environments->first()->id, + 'environment_id' => $environment->id, 'destination_id' => $this->chosenDestination->id, 'destination_type' => $this->chosenDestination->getMorphClass(), ]; @@ -82,9 +86,13 @@ class PublicGitRepository extends Component $application_init['source_id'] = GitlabApp::where('name', 'Public GitLab')->first()->id; $application_init['source_type'] = GitlabApp::class; } elseif ($git_host == 'bitbucket.org') { - // $application_init['source_id'] = GithubApp::where('name', 'Public Bitbucket')->first()->id; - // $application_init['source_type'] = GithubApp::class; } - Application::create($application_init); + $application = Application::create($application_init); + + return redirect()->route('project.application.configuration', [ + 'project_uuid' => $project->uuid, + 'environment_name' => $environment->name, + 'application_uuid' => $application->uuid, + ]); } } diff --git a/app/Models/Application.php b/app/Models/Application.php index fdcbeb5be..5f402e163 100644 --- a/app/Models/Application.php +++ b/app/Models/Application.php @@ -14,6 +14,10 @@ class Application extends BaseModel 'application_id' => $application->id, ]); }); + static::deleting(function ($application) { + $application->settings()->delete(); + $application->persistentStorages()->delete(); + }); } protected $fillable = [ diff --git a/resources/views/components/applications/navbar.blade.php b/resources/views/components/applications/navbar.blade.php index ef6716338..f4fb53b46 100644 --- a/resources/views/components/applications/navbar.blade.php +++ b/resources/views/components/applications/navbar.blade.php @@ -1,4 +1,4 @@ -