/
dimamir
/
coolify
Обзор
Документация
Войти
/
dimamir
/
coolify
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/Livewire/Project/Service/EditDomain.php
66 строк
2 KB
Andras Bacsai
feat: show warning if people would like to use sslip with https
20 окт 2024, 23:26
20 окт 2024, 23:26
97aab8b
Код
Авторство
О чём код?
<?php namespace App\Livewire\Project\Service; use App\Models\ServiceApplication; use Livewire\Component; use Spatie\Url\Url; class EditDomain extends Component { public $applicationId; public ServiceApplication $application; protected $rules = [ 'application.fqdn' => 'nullable', 'application.required_fqdn' => 'required|boolean', ]; public function mount() { $this->application = ServiceApplication::find($this->applicationId); } public function submit() { try { $this->application->fqdn = str($this->application->fqdn)->replaceEnd(',', '')->trim(); $this->application->fqdn = str($this->application->fqdn)->replaceStart(',', '')->trim(); $this->application->fqdn = str($this->application->fqdn)->trim()->explode(',')->map(function ($domain) { Url::fromString($domain, ['http', 'https']); return str($domain)->trim()->lower(); }); $this->application->fqdn = $this->application->fqdn->unique()->implode(','); $warning = sslipDomainWarning($this->application->fqdn); if ($warning) { $this->dispatch('warning', __('warning.sslipdomain')); } check_domain_usage(resource: $this->application); $this->validate(); $this->application->save(); updateCompose($this->application); if (str($this->application->fqdn)->contains(',')) { $this->dispatch('warning', 'Some services do not support multiple domains, which can lead to problems and is NOT RECOMMENDED.<br><br>Only use multiple domains if you know what you are doing.'); } else { ! $warning && $this->dispatch('success', 'Service saved.'); } $this->application->service->parse(); $this->dispatch('refresh'); $this->dispatch('configurationChanged'); } catch (\Throwable $e) { $originalFqdn = $this->application->getOriginal('fqdn'); if ($originalFqdn !== $this->application->fqdn) { $this->application->fqdn = $originalFqdn; } return handleError($e, $this); } } public function render() { return view('livewire.project.service.edit-domain'); } }