refactoring (#116)

- refactoring architecture
- fix incomplete ssh logs
- code editor for scripts in the app
- remove Jobs and SSHCommands
This commit is contained in:
Saeed Vaziry
2024-03-14 20:03:43 +01:00
committed by GitHub
parent cee4a70c3c
commit 428140b931
472 changed files with 24110 additions and 8159 deletions

View File

@ -2,9 +2,11 @@
namespace App\Http\Controllers;
use App\Actions\Site\Deploy;
use App\Actions\Site\UpdateBranch;
use App\Actions\Site\UpdateDeploymentScript;
use App\Actions\Site\UpdateEnv;
use App\Exceptions\DeploymentScriptIsEmptyException;
use App\Exceptions\SourceControlIsNotConnected;
use App\Facades\Toast;
use App\Helpers\HtmxResponse;
@ -19,13 +21,15 @@ class ApplicationController extends Controller
public function deploy(Server $server, Site $site): HtmxResponse
{
try {
$site->deploy();
app(Deploy::class)->run($site);
Toast::success('Deployment started!');
} catch (SourceControlIsNotConnected $e) {
Toast::error($e->getMessage());
return htmx()->redirect(route('source-controls'));
} catch (DeploymentScriptIsEmptyException) {
Toast::error('Deployment script is empty!');
}
return htmx()->back();
@ -33,7 +37,7 @@ public function deploy(Server $server, Site $site): HtmxResponse
public function showDeploymentLog(Server $server, Site $site, Deployment $deployment): RedirectResponse
{
return back()->with('content', $deployment->log->content);
return back()->with('content', $deployment->log?->getContent());
}
public function updateDeploymentScript(Server $server, Site $site, Request $request): RedirectResponse
@ -68,9 +72,9 @@ public function updateEnv(Server $server, Site $site, Request $request): Redirec
return back();
}
public function enableAutoDeployment(Server $server, Site $site): RedirectResponse
public function enableAutoDeployment(Server $server, Site $site): HtmxResponse
{
if (! $site->auto_deployment) {
if (! $site->isAutoDeployment()) {
try {
$site->enableAutoDeployment();
@ -82,12 +86,12 @@ public function enableAutoDeployment(Server $server, Site $site): RedirectRespon
}
}
return back();
return htmx()->back();
}
public function disableAutoDeployment(Server $server, Site $site): RedirectResponse
public function disableAutoDeployment(Server $server, Site $site): HtmxResponse
{
if ($site->auto_deployment) {
if ($site->isAutoDeployment()) {
try {
$site->disableAutoDeployment();
@ -99,6 +103,6 @@ public function disableAutoDeployment(Server $server, Site $site): RedirectRespo
}
}
return back();
return htmx()->back();
}
}