wip livewire migration

This commit is contained in:
Andras Bacsai
2023-12-07 22:56:55 +01:00
parent 718603e37e
commit f934dfef33
64 changed files with 164 additions and 155 deletions

View File

@@ -37,7 +37,7 @@ class CheckLicense extends Component
} catch (\Throwable $e) {
session()->flash('error', 'Something went wrong. Please contact support. <br>Error: ' . $e->getMessage());
ray($e->getMessage());
return redirect()->to('/settings/license');
return $this->redirect('/settings/license', navigate: true);
}
}
}

View File

@@ -36,7 +36,7 @@ class Form extends Component
instant_remote_process(['docker network rm -f ' . $this->destination->network], $this->destination->server);
}
$this->destination->delete();
return redirect()->route('dashboard');
return $this->redirectRoute('dashboard', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -70,7 +70,7 @@ class StandaloneDocker extends Component
]);
}
$this->createNetworkAndAttachToProxy();
return redirect()->route('destination.show', $docker->uuid);
return $this->redirectRoute('destination.show', $docker->uuid, navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -35,7 +35,7 @@ class ForcePasswordReset extends Component
if ($firstLogin) {
send_internal_notification('First login for ' . auth()->user()->email);
}
return redirect()->route('dashboard');
return $this->redirectRoute('dashboard', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -35,7 +35,7 @@ class Change extends Component
if ($this->private_key->isEmpty()) {
$this->private_key->delete();
currentTeam()->privateKeys = PrivateKey::where('team_id', currentTeam()->id)->get();
return redirect()->route('security.private-key.index');
return $this->redirectRoute('security.private-key.index', navigate: true);
}
$this->dispatch('error', 'This private key is in use and cannot be deleted. Please delete all servers, applications, and GitHub/GitLab apps that use this private key before deleting it.');
} catch (\Throwable $e) {

View File

@@ -67,9 +67,9 @@ class Create extends Component
'team_id' => currentTeam()->id
]);
if ($this->from === 'server') {
return redirect()->route('server.create');
return $this->redirectRoute('server.create', navigate: true);
}
return redirect()->route('security.private-key.show', ['private_key_uuid' => $private_key->uuid]);
return $this->redirectRoute('security.private-key.show', ['private_key_uuid' => $private_key->uuid], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -27,7 +27,7 @@ class AddEmpty extends Component
'description' => $this->description,
'team_id' => currentTeam()->id,
]);
return redirect()->route('project.show', $project->uuid);
return $this->redirectRoute('project.show', $project->uuid, navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
} finally {

View File

@@ -27,10 +27,10 @@ class AddEnvironment extends Component
'project_id' => $this->project->id,
]);
return redirect()->route('project.resources', [
return $this->redirectRoute('project.resources', [
'project_uuid' => $this->project->uuid,
'environment_name' => $environment->name,
]);
], navigate: true);
} catch (\Throwable $e) {
handleError($e, $this);
} finally {

View File

@@ -15,15 +15,15 @@ class Configuration extends Component
{
$project = currentTeam()->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
if (!$project) {
return redirect()->route('dashboard');
return $this->redirectRoute('dashboard', navigate: true);
}
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
if (!$environment) {
return redirect()->route('dashboard');
return $this->redirectRoute('dashboard', navigate: true);
}
$application = $environment->applications->where('uuid', request()->route('application_uuid'))->first();
if (!$application) {
return redirect()->route('dashboard');
return $this->redirectRoute('dashboard', navigate: true);
}
$this->application = $application;
$mainServer = $this->application->destination->server;

View File

@@ -52,12 +52,12 @@ class Heading extends Component
force_rebuild: false,
is_new_deployment: true,
);
return redirect()->route('project.application.deployment', [
return $this->redirectRoute('project.application.deployment', [
'project_uuid' => $this->parameters['project_uuid'],
'application_uuid' => $this->parameters['application_uuid'],
'deployment_uuid' => $this->deploymentUuid,
'environment_name' => $this->parameters['environment_name'],
]);
], navigate: true);
}
public function deploy(bool $force_rebuild = false)
{
@@ -101,12 +101,12 @@ class Heading extends Component
restart_only: true,
is_new_deployment: true,
);
return redirect()->route('project.application.deployment', [
return $this->redirectRoute('project.application.deployment', [
'project_uuid' => $this->parameters['project_uuid'],
'application_uuid' => $this->parameters['application_uuid'],
'deployment_uuid' => $this->deploymentUuid,
'environment_name' => $this->parameters['environment_name'],
]);
], navigate: true);
}
public function restart()
{
@@ -116,11 +116,11 @@ class Heading extends Component
deployment_uuid: $this->deploymentUuid,
restart_only: true,
);
return redirect()->route('project.application.deployment', [
return $this->redirectRoute('project.application.deployment', [
'project_uuid' => $this->parameters['project_uuid'],
'application_uuid' => $this->parameters['application_uuid'],
'deployment_uuid' => $this->deploymentUuid,
'environment_name' => $this->parameters['environment_name'],
]);
], navigate: true);
}
}

View File

@@ -52,12 +52,12 @@ class Previews extends Component
force_rebuild: true,
pull_request_id: $pull_request_id,
);
return redirect()->route('project.application.deployment', [
return $this->redirectRoute('project.application.deployment', [
'project_uuid' => $this->parameters['project_uuid'],
'application_uuid' => $this->parameters['application_uuid'],
'deployment_uuid' => $this->deployment_uuid,
'environment_name' => $this->parameters['environment_name'],
]);
], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -29,13 +29,12 @@ class Rollback extends Component
commit: $commit,
force_rebuild: false,
);
return redirect()->route('project.application.deployment', [
return $this->redirectRoute('project.application.deployment', [
'project_uuid' => $this->parameters['project_uuid'],
'application_uuid' => $this->parameters['application_uuid'],
'deployment_uuid' => $deployment_uuid,
'environment_name' => $this->parameters['environment_name'],
]);
], navigate: true);
}
public function loadImages($showToast = false)

View File

@@ -148,10 +148,10 @@ class CloneProject extends Component
}
$newService->parse();
}
return redirect()->route('project.resources', [
return $this->redirectRoute('project.resources', [
'project_uuid' => $newProject->uuid,
'environment_name' => $newEnvironment->name,
]);
], navigate: true);
} catch (\Exception $e) {
return handleError($e, $this);
}

View File

@@ -50,9 +50,9 @@ class BackupEdit extends Component
$url = $url->withoutQueryParameter('selectedBackupId');
$url = $url->withFragment('backups');
$url = $url->getPath() . "#{$url->getFragment()}";
return redirect()->to($url);
return $this->redirect($url,navigate: true);
} else {
redirect()->route('project.database.backups.all', $this->parameters);
return $this->redirectRoute('project.database.backups.all', $this->parameters);
}
}

View File

@@ -23,7 +23,7 @@ class DeleteEnvironment extends Component
$environment = Environment::findOrFail($this->environment_id);
if ($environment->isEmpty()) {
$environment->delete();
return redirect()->route('project.show', ['project_uuid' => $this->parameters['project_uuid']]);
return $this->redirectRoute('project.show', ['project_uuid' => $this->parameters['project_uuid']], navigate: true);
}
return $this->dispatch('error', 'Environment has defined resources, please delete them first.');
}

View File

@@ -25,6 +25,6 @@ class DeleteProject extends Component
return $this->dispatch('error', 'Project has resources defined, please delete them first.');
}
$project->delete();
return redirect()->route('projects');
return $this->redirectRoute('projects', navigate: true);
}
}

View File

@@ -69,11 +69,12 @@ class DockerCompose extends Component
$service->parse(isNew: true);
return redirect()->route('project.service.configuration', [
return $this->redirectRoute('project.service.configuration', [
'service_uuid' => $service->uuid,
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
]);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -64,12 +64,11 @@ class DockerImage extends Component
'name' => 'docker-image-' . $application->uuid,
'fqdn' => $fqdn
]);
redirect()->route('project.application.configuration', [
return $this->redirectRoute('project.application.configuration', [
'application_uuid' => $application->uuid,
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
]);
], navigate: true);
}
public function render()
{

View File

@@ -13,6 +13,6 @@ class EmptyProject extends Component
'name' => generate_random_name(),
'team_id' => currentTeam()->id,
]);
return redirect()->route('project.show', ['project_uuid' => $project->uuid, 'environment_name' => 'production']);
return $this->redirectRoute('project.show', ['project_uuid' => $project->uuid, 'environment_name' => 'production'], navigate: true);
}
}

View File

@@ -151,11 +151,11 @@ class GithubPrivateRepository extends Component
$application->name = generate_application_name($this->selected_repository_owner . '/' . $this->selected_repository_repo, $this->selected_branch_name, $application->uuid);
$application->save();
redirect()->route('project.application.configuration', [
return $this->redirectRoute('project.application.configuration', [
'application_uuid' => $application->uuid,
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
]);
], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -132,11 +132,11 @@ class GithubPrivateRepositoryDeployKey extends Component
$application->name = generate_random_name($application->uuid);
$application->save();
return redirect()->route('project.application.configuration', [
'project_uuid' => $project->uuid,
'environment_name' => $environment->name,
return $this->redirectRoute('project.application.configuration', [
'application_uuid' => $application->uuid,
]);
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -184,11 +184,11 @@ class PublicGitRepository extends Component
$application->fqdn = $fqdn;
$application->save();
return redirect()->route('project.application.configuration', [
'project_uuid' => $project->uuid,
'environment_name' => $environment->name,
return $this->redirectRoute('project.application.configuration', [
'application_uuid' => $application->uuid,
]);
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -53,10 +53,10 @@ class Select extends Component
public function updatedSelectedEnvironment()
{
return redirect()->route('project.resources.new', [
return $this->redirectRoute('project.resources.new', [
'project_uuid' => $this->parameters['project_uuid'],
'environment_name' => $this->selectedEnvironment,
]);
], navigate: true);
}
// public function addExistingPostgresql()
@@ -133,13 +133,13 @@ class Select extends Component
public function setDestination(string $destination_uuid)
{
$this->destination_uuid = $destination_uuid;
redirect()->route('project.resources.new', [
return $this->redirectRoute('project.resources.new', [
'project_uuid' => $this->parameters['project_uuid'],
'environment_name' => $this->parameters['environment_name'],
'type' => $this->type,
'destination' => $this->destination_uuid,
'server_id' => $this->server_id,
]);
], navigate: true);
}
public function loadServers()

View File

@@ -70,10 +70,10 @@ CMD ["nginx", "-g", "daemon off;"]
'fqdn' => $fqdn
]);
redirect()->route('project.application.configuration', [
return $this->redirectRoute('project.application.configuration', [
'application_uuid' => $application->uuid,
'environment_name' => $environment->name,
'project_uuid' => $project->uuid,
]);
], navigate: true);
}
}

View File

@@ -41,7 +41,7 @@ class Application extends Component
try {
$this->application->delete();
$this->dispatch('success', 'Application deleted successfully.');
return redirect()->route('project.service.configuration', $this->parameters);
return $this->redirectRoute('project.service.configuration', $this->parameters, navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -22,10 +22,10 @@ class Danger extends Component
{
try {
DeleteResourceJob::dispatchSync($this->resource);
return redirect()->route('project.resources', [
return $this->redirectRoute('project.resources', [
'project_uuid' => $this->parameters['project_uuid'],
'environment_name' => $this->parameters['environment_name']
]);
], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -19,7 +19,7 @@ class GetLogs extends Component
{
public string $outputs = '';
public string $errors = '';
public Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb $resource;
public Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|null $resource = null;
public ServiceApplication|ServiceDatabase|null $servicesubtype = null;
public Server $server;
public ?string $container = null;
@@ -29,13 +29,15 @@ class GetLogs extends Component
public function mount()
{
if ($this->resource->getMorphClass() === 'App\Models\Application') {
$this->showTimeStamps = $this->resource->settings->is_include_timestamps;
} else {
if ($this->servicesubtype) {
$this->showTimeStamps = $this->servicesubtype->is_include_timestamps;
if (!is_null($this->resource)) {
if ($this->resource->getMorphClass() === 'App\Models\Application') {
$this->showTimeStamps = $this->resource->settings->is_include_timestamps;
} else {
$this->showTimeStamps = $this->resource->is_include_timestamps;
if ($this->servicesubtype) {
$this->showTimeStamps = $this->servicesubtype->is_include_timestamps;
} else {
$this->showTimeStamps = $this->resource->is_include_timestamps;
}
}
}
}
@@ -45,16 +47,18 @@ class GetLogs extends Component
}
public function instantSave()
{
if ($this->resource->getMorphClass() === 'App\Models\Application') {
$this->resource->settings->is_include_timestamps = $this->showTimeStamps;
$this->resource->settings->save();
} else {
if ($this->servicesubtype) {
$this->servicesubtype->is_include_timestamps = $this->showTimeStamps;
$this->servicesubtype->save();
if (!is_null($this->resource)) {
if ($this->resource->getMorphClass() === 'App\Models\Application') {
$this->resource->settings->is_include_timestamps = $this->showTimeStamps;
$this->resource->settings->save();
} else {
$this->resource->is_include_timestamps = $this->showTimeStamps;
$this->resource->save();
if ($this->servicesubtype) {
$this->servicesubtype->is_include_timestamps = $this->showTimeStamps;
$this->servicesubtype->save();
} else {
$this->resource->is_include_timestamps = $this->showTimeStamps;
$this->resource->save();
}
}
}
}

View File

@@ -19,7 +19,7 @@ class Delete extends Component
return;
}
$this->server->delete();
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -13,9 +13,9 @@ class Show extends Component
{
$this->parameters = get_route_parameters();
try {
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($this->server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
} catch (\Throwable $e) {
return handleError($e, $this);

View File

@@ -44,7 +44,9 @@ class Form extends Component
{
$this->wildcard_domain = $this->server->settings->wildcard_domain;
$this->cleanup_after_percentage = $this->server->settings->cleanup_after_percentage;
$this->validateServer();
if (!$this->server->isFunctional()) {
$this->validateServer();
}
}
public function serverRefresh($install = true)
{

View File

@@ -41,9 +41,9 @@ class LogDrains extends Component
{
$this->parameters = get_route_parameters();
try {
$server = Server::ownedByCurrentTeam(['name', 'description', 'ip', 'port', 'user', 'proxy'])->whereUuid(request()->server_uuid)->first();
$server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
$this->server = $server;
} catch (\Throwable $e) {

View File

@@ -79,7 +79,7 @@ class ByIp extends Component
$server->settings->is_swarm_manager = $this->is_swarm_manager;
$server->settings->save();
$server->addInitialNetwork();
return redirect()->route('server.show', $server->uuid);
return $this->redirectRoute('server.show', $server->uuid, navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -17,7 +17,7 @@ class Show extends Component
try {
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($this->server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
$this->privateKeys = PrivateKey::ownedByCurrentTeam()->get()->where('is_git_related', false);
} catch (\Throwable $e) {

View File

@@ -13,9 +13,9 @@ class Logs extends Component
{
$this->parameters = get_route_parameters();
try {
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($this->server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
} catch (\Throwable $e) {
return handleError($e, $this);

View File

@@ -18,9 +18,9 @@ class Show extends Component
{
$this->parameters = get_route_parameters();
try {
$this->server = Server::ownedByCurrentTeam(['name', 'proxy'])->whereUuid(request()->server_uuid)->first();
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($this->server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
} catch (\Throwable $e) {
return handleError($e, $this);

View File

@@ -15,9 +15,9 @@ class Show extends Component
{
$this->parameters = get_route_parameters();
try {
$this->server = Server::ownedByCurrentTeam(['name', 'description', 'ip', 'port', 'user', 'proxy'])->whereUuid(request()->server_uuid)->first();
$this->server = Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->first();
if (is_null($this->server)) {
return redirect()->route('server.all');
return $this->redirectRoute('server.all', navigate: true);
}
} catch (\Throwable $e) {

View File

@@ -41,7 +41,7 @@ class Change extends Component
$github_app_uuid = request()->github_app_uuid;
$this->github_app = GithubApp::where('uuid', $github_app_uuid)->first();
if (!$this->github_app) {
return redirect()->route('source.all');
return $this->redirectRoute('source.all', navigate: true);
}
$settings = InstanceSettings::get();
$this->github_app->makeVisible('client_secret')->makeVisible('webhook_secret');
@@ -67,7 +67,7 @@ class Change extends Component
$type = data_get($parameters, 'type');
$destination = data_get($parameters, 'destination');
session()->forget('from');
return redirect()->route($back, [
return $this->redirectRoute($back, [
'environment_name' => $environment_name,
'project_uuid' => $project_uuid,
'type' => $type,
@@ -105,7 +105,7 @@ class Change extends Component
{
try {
$this->github_app->delete();
redirect()->route('source.all');
return $this->redirectRoute('source.all', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -48,7 +48,7 @@ class Create extends Component
if (session('from')) {
session(['from' => session('from') + ['source_id' => $github_app->id]]);
}
redirect()->route('source.github.show', ['github_app_uuid' => $github_app->uuid]);
return $this->redirectRoute('source.github.show', ['github_app_uuid' => $github_app->uuid], navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -11,7 +11,7 @@ class Show extends Component
public bool $alreadySubscribed = false;
public function mount() {
if (!isCloud()) {
return redirect('/');
return $this->redirect('/', navigate: true);
}
$this->settings = InstanceSettings::get();
$this->alreadySubscribed = currentTeam()->subscription()->exists();

View File

@@ -30,7 +30,7 @@ class Create extends Component
]);
auth()->user()->teams()->attach($team, ['role' => 'admin']);
refreshSession();
return redirect()->route('team.index');
return $this->redirectRoute('team.index', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -24,6 +24,6 @@ class Delete extends Component
});
refreshSession();
return redirect()->route('team.index');
return $this->redirectRoute('team.index', navigate: true);
}
}

View File

@@ -65,7 +65,7 @@ class Create extends Component
$this->storage->team_id = currentTeam()->id;
$this->storage->testConnection();
$this->storage->save();
return redirect()->route('team.storages.show', $this->storage->uuid);
return $this->redirectRoute('team.storages.show', $this->storage->uuid, navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -43,7 +43,7 @@ class Form extends Component
{
try {
$this->storage->delete();
return redirect()->route('team.storages.all');
return $this->redirectRoute('team.storages.all', navigate: true);
} catch (\Throwable $e) {
return handleError($e, $this);
}

View File

@@ -24,7 +24,7 @@ class Index extends Component
public function mount()
{
if (config('coolify.waitlist') == false) {
return redirect()->route('register');
return $this->redirectRoute('register', navigate: true);
}
$this->waitingInLine = Waitlist::whereVerified(true)->count();
$this->users = User::count();