From 18a2d0bd90021e9bf8e72a1d5b513b48cfc33076 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 25 Apr 2023 10:47:13 +0200 Subject: [PATCH] server forms --- app/Http/Controllers/HomeController.php | 17 -------- app/Http/Livewire/Application/General.php | 1 + app/Http/Livewire/Server/Form.php | 41 +++++++++++++++++++ .../Form.php} | 5 ++- app/Jobs/DeployApplicationJob.php | 1 - database/seeders/InstanceSettingsSeeder.php | 1 - database/seeders/ProjectSettingSeeder.php | 2 +- resources/views/home.blade.php | 12 +++--- .../views/livewire/server/form.blade.php | 18 ++++++++ .../form.blade.php} | 2 +- resources/views/server/dashboard.blade.php | 4 ++ resources/views/settings.blade.php | 2 +- routes/web.php | 16 +++++++- 13 files changed, 90 insertions(+), 32 deletions(-) delete mode 100644 app/Http/Controllers/HomeController.php create mode 100644 app/Http/Livewire/Server/Form.php rename app/Http/Livewire/{InstanceSettings.php => Settings/Form.php} (94%) create mode 100644 resources/views/livewire/server/form.blade.php rename resources/views/livewire/{instance-settings.blade.php => settings/form.blade.php} (95%) create mode 100644 resources/views/server/dashboard.blade.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100644 index 12473ceb9..000000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,17 +0,0 @@ -load(['projects'])->projects; - $servers = session('currentTeam')->load(['servers'])->servers; - - return view('home', [ - 'servers' => $servers, - 'projects' => $projects - ]); - } -} diff --git a/app/Http/Livewire/Application/General.php b/app/Http/Livewire/Application/General.php index c015a4028..6e8db8ca7 100644 --- a/app/Http/Livewire/Application/General.php +++ b/app/Http/Livewire/Application/General.php @@ -68,6 +68,7 @@ class General extends Component } public function submit() { + $this->validate(); $this->application->save(); } } diff --git a/app/Http/Livewire/Server/Form.php b/app/Http/Livewire/Server/Form.php new file mode 100644 index 000000000..935ad5c79 --- /dev/null +++ b/app/Http/Livewire/Server/Form.php @@ -0,0 +1,41 @@ + 'required|min:6', + 'server.description' => 'nullable', + 'server.ip' => 'required', + 'server.user' => 'required', + 'server.port' => 'required', + ]; + public function mount() + { + $this->server = Server::find($this->server_id); + } + public function submit() + { + $this->validate(); + // $validation = Validator::make($this->server->toArray(), [ + // 'ip' => [ + // 'ip' + // ], + // ]); + // if ($validation->fails()) { + // foreach ($validation->errors()->getMessages() as $key => $value) { + // $this->addError("server.{$key}", $value[0]); + // } + // return; + // } + $this->server->save(); + } +} diff --git a/app/Http/Livewire/InstanceSettings.php b/app/Http/Livewire/Settings/Form.php similarity index 94% rename from app/Http/Livewire/InstanceSettings.php rename to app/Http/Livewire/Settings/Form.php index 4efa6db6d..ec0b54d73 100644 --- a/app/Http/Livewire/InstanceSettings.php +++ b/app/Http/Livewire/Settings/Form.php @@ -1,11 +1,11 @@ addError('settings.public_port_min', 'The minimum port must be lower than the maximum port.'); return; } + $this->validate(); $this->settings->save(); } } diff --git a/app/Jobs/DeployApplicationJob.php b/app/Jobs/DeployApplicationJob.php index fb3844e8f..325980c3e 100644 --- a/app/Jobs/DeployApplicationJob.php +++ b/app/Jobs/DeployApplicationJob.php @@ -395,7 +395,6 @@ class DeployApplicationJob implements ShouldQueue if ($this->source->is_public) { $git_clone_command = "{$git_clone_command} {$this->source->html_url}/{$this->application->git_repository}.git {$this->workdir}"; $git_clone_command = $this->setGitImportSettings($git_clone_command); - dump($git_clone_command); return [ $this->execute_in_builder($git_clone_command) ]; diff --git a/database/seeders/InstanceSettingsSeeder.php b/database/seeders/InstanceSettingsSeeder.php index b8a8d1229..574e778a4 100644 --- a/database/seeders/InstanceSettingsSeeder.php +++ b/database/seeders/InstanceSettingsSeeder.php @@ -14,7 +14,6 @@ class InstanceSettingsSeeder extends Seeder { InstanceSettings::create([ 'id' => 0, - 'wildcard_domain' => 'coolify.io', 'is_https_forced' => false, 'is_registration_enabled' => true, ]); diff --git a/database/seeders/ProjectSettingSeeder.php b/database/seeders/ProjectSettingSeeder.php index 8a2eddcc1..2fe41976f 100644 --- a/database/seeders/ProjectSettingSeeder.php +++ b/database/seeders/ProjectSettingSeeder.php @@ -10,7 +10,7 @@ class ProjectSettingSeeder extends Seeder public function run(): void { $first_project = Project::find(1); - $first_project->settings->wildcard_domain = 'wildcard.example.com'; + // $first_project->settings->wildcard_domain = 'wildcard.example.com'; $first_project->settings->save(); } } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index cf6d4aaf7..86159f082 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -1,14 +1,14 @@ -

Servers

- @forelse ($servers as $server) - {{ data_get($server, 'name') }} - @empty -

No servers found.

- @endforelse

Projects

@forelse ($projects as $project) {{ data_get($project, 'name') }} @empty

No projects found.

@endforelse +

Servers

+ @forelse ($servers as $server) + {{ data_get($server, 'name') }} + @empty +

No servers found.

+ @endforelse
diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php new file mode 100644 index 000000000..996a3c599 --- /dev/null +++ b/resources/views/livewire/server/form.blade.php @@ -0,0 +1,18 @@ +
+
+
+
+ + +
+
+ + + +
+
+ +
+
diff --git a/resources/views/livewire/instance-settings.blade.php b/resources/views/livewire/settings/form.blade.php similarity index 95% rename from resources/views/livewire/instance-settings.blade.php rename to resources/views/livewire/settings/form.blade.php index b0e988a72..f81c88593 100644 --- a/resources/views/livewire/instance-settings.blade.php +++ b/resources/views/livewire/settings/form.blade.php @@ -10,7 +10,7 @@ - diff --git a/resources/views/server/dashboard.blade.php b/resources/views/server/dashboard.blade.php new file mode 100644 index 000000000..43bfb21c4 --- /dev/null +++ b/resources/views/server/dashboard.blade.php @@ -0,0 +1,4 @@ + +

Server

+ +
diff --git a/resources/views/settings.blade.php b/resources/views/settings.blade.php index 9093f7a07..389f8be41 100644 --- a/resources/views/settings.blade.php +++ b/resources/views/settings.blade.php @@ -1,4 +1,4 @@

Settings

- +
diff --git a/routes/web.php b/routes/web.php index a28e74256..bfe2f035d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,8 +24,8 @@ Route::middleware(['auth'])->group(function () { $projects = session('currentTeam')->load(['projects'])->projects; $servers = session('currentTeam')->load(['servers'])->servers; return view('home', [ - 'servers' => $servers, - 'projects' => $projects + 'servers' => $servers->sortBy('name'), + 'projects' => $projects->sortBy('name') ]); })->name('home'); @@ -54,6 +54,18 @@ Route::middleware(['auth'])->group(function () { })->name('demo'); }); +Route::middleware(['auth'])->group(function () { + Route::get('/server/{server_uuid}', function () { + $server = session('currentTeam')->load(['servers'])->servers->firstWhere('uuid', request()->server_uuid); + if (!$server) { + abort(404); + } + return view('server.dashboard', [ + 'server_id' => $server->id, + ]); + })->name('server.dashboard'); +}); + Route::middleware(['auth'])->group(function () { Route::get( '/project/{project_uuid}',