Refactor application FQDN handling

This commit is contained in:
Andras Bacsai 2024-02-15 12:01:59 +01:00
parent 99efa857f4
commit 0f071031a9

View File

@ -163,6 +163,7 @@ public function generateDomain(string $serviceName)
} }
return $domain; return $domain;
} }
public function updatedApplicationBuildPack() public function updatedApplicationBuildPack()
{ {
if ($this->application->build_pack !== 'nixpacks') { if ($this->application->build_pack !== 'nixpacks') {
@ -202,6 +203,13 @@ public function resetDefaultLabels($showToaster = true)
public function updatedApplicationFqdn() public function updatedApplicationFqdn()
{ {
$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) {
return str($domain)->trim()->lower();
});
$this->application->fqdn = $this->application->fqdn->unique()->implode(',');
$this->application->save();
$this->resetDefaultLabels(false); $this->resetDefaultLabels(false);
// $this->dispatch('success', 'Labels reset to default!'); // $this->dispatch('success', 'Labels reset to default!');
} }
@ -228,11 +236,7 @@ public function submit($showToaster = true)
]); ]);
} }
if (data_get($this->application, 'fqdn')) { if (data_get($this->application, 'fqdn')) {
$this->application->fqdn = str($this->application->fqdn)->replaceEnd(',', '')->trim(); $domains = str($this->application->fqdn)->trim()->explode(',');
$domains = str($this->application->fqdn)->trim()->explode(',')->map(function ($domain) {
return str($domain)->trim()->lower();
});
$domains = $domains->unique();
if ($this->application->additional_servers->count() === 0) { if ($this->application->additional_servers->count() === 0) {
foreach ($domains as $domain) { foreach ($domains as $domain) {
if (!validate_dns_entry($domain, $this->application->destination->server)) { if (!validate_dns_entry($domain, $this->application->destination->server)) {
@ -243,7 +247,6 @@ public function submit($showToaster = true)
check_fqdn_usage($this->application); check_fqdn_usage($this->application);
$this->application->fqdn = $domains->implode(','); $this->application->fqdn = $domains->implode(',');
} }
if (data_get($this->application, 'custom_docker_run_options')) { if (data_get($this->application, 'custom_docker_run_options')) {
$this->application->custom_docker_run_options = str($this->application->custom_docker_run_options)->trim(); $this->application->custom_docker_run_options = str($this->application->custom_docker_run_options)->trim();
} }