chore(ui): improve valid until handling
This commit is contained in:
@@ -25,6 +25,8 @@ class General extends Component
|
|||||||
|
|
||||||
public ?string $db_url_public = null;
|
public ?string $db_url_public = null;
|
||||||
|
|
||||||
|
public $certificateValidUntil = null;
|
||||||
|
|
||||||
public function getListeners()
|
public function getListeners()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@@ -78,6 +80,14 @@ class General extends Component
|
|||||||
$this->db_url = $this->database->internal_db_url;
|
$this->db_url = $this->database->internal_db_url;
|
||||||
$this->db_url_public = $this->database->external_db_url;
|
$this->db_url_public = $this->database->external_db_url;
|
||||||
$this->server = data_get($this->database, 'destination.server');
|
$this->server = data_get($this->database, 'destination.server');
|
||||||
|
|
||||||
|
$existingCert = SslCertificate::where('resource_type', $this->database->getMorphClass())
|
||||||
|
->where('resource_id', $this->database->id)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
if ($existingCert) {
|
||||||
|
$this->certificateValidUntil = $existingCert->valid_until;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function instantSaveAdvanced()
|
public function instantSaveAdvanced()
|
||||||
@@ -112,12 +122,6 @@ class General extends Component
|
|||||||
public function regenerateSslCertificate()
|
public function regenerateSslCertificate()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (! $this->database->enable_ssl) {
|
|
||||||
$this->dispatch('error', 'SSL is not enabled for this database.');
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$server = $this->database->destination->server;
|
$server = $this->database->destination->server;
|
||||||
|
|
||||||
$existingCert = SslCertificate::where('resource_type', $this->database->getMorphClass())
|
$existingCert = SslCertificate::where('resource_type', $this->database->getMorphClass())
|
||||||
|
@@ -75,38 +75,33 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<div class="flex items-center justify-between py-2">
|
<div class="flex items-center justify-between py-2">
|
||||||
<div class="flex flex-col gap-1">
|
<div class="flex items-center justify-between w-full">
|
||||||
<h3>SSL Configuration</h3>
|
<h3>SSL Configuration</h3>
|
||||||
@if($database->enable_ssl)
|
@if($database->enable_ssl)
|
||||||
@php
|
<x-modal-confirmation
|
||||||
$cert = \App\Models\SslCertificate::where('resource_type', $database->getMorphClass())
|
title="Regenerate SSL Certificates"
|
||||||
->where('resource_id', $database->id)
|
buttonTitle="Regenerate SSL Certificates"
|
||||||
->first();
|
:actions="['The SSL certificate of this database will be regenerated.','You must restart the database after regenerating the certificate to start using the new certificate.']"
|
||||||
@endphp
|
submitAction="regenerateSslCertificate"
|
||||||
@if($cert)
|
:confirmWithText="false"
|
||||||
<span class="text-sm">Valid until:
|
:confirmWithPassword="false"
|
||||||
@if(now()->gt($cert->valid_until))
|
/>
|
||||||
<span class="text-red-500">{{ $cert->valid_until->format('d.m.Y H:i:s') }} - Expired</span>
|
|
||||||
@elseif(now()->addDays(30)->gt($cert->valid_until))
|
|
||||||
<span class="text-red-500">{{ $cert->valid_until->format('d.m.Y H:i:s') }} - Expiring soon</span>
|
|
||||||
@else
|
|
||||||
<span>{{ $cert->valid_until->format('d.m.Y H:i:s') }}</span>
|
|
||||||
@endif
|
|
||||||
</span>
|
|
||||||
@endif
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@if($database->enable_ssl)
|
|
||||||
<x-modal-confirmation
|
|
||||||
title="Regenerate SSL Certificates"
|
|
||||||
buttonTitle="Regenerate SSL Certificates"
|
|
||||||
:actions="['The SSL certificate of this database will be regenerated.','You must restart the database after regenerating the certificate to start using the new certificate.']"
|
|
||||||
submitAction="regenerateSslCertificate"
|
|
||||||
:confirmWithText="false"
|
|
||||||
:confirmWithPassword="false"
|
|
||||||
/>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
@if($database->enable_ssl)
|
||||||
|
<span class="text-sm">Valid until:
|
||||||
|
@if(now()->gt($certificateValidUntil))
|
||||||
|
<span class="text-red-500">{{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expired</span>
|
||||||
|
@elseif(now()->addDays(30)->gt($certificateValidUntil))
|
||||||
|
<span class="text-red-500">{{ $certificateValidUntil->format('d.m.Y H:i:s') }} - Expiring soon</span>
|
||||||
|
@else
|
||||||
|
<span>{{ $certificateValidUntil->format('d.m.Y H:i:s') }}</span>
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col gap-2">
|
||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<x-forms.checkbox id="database.enable_ssl" label="Enable SSL" wire:model.live="database.enable_ssl" instantSave="instantSaveSSL" />
|
<x-forms.checkbox id="database.enable_ssl" label="Enable SSL" wire:model.live="database.enable_ssl" instantSave="instantSaveSSL" />
|
||||||
@if($database->enable_ssl)
|
@if($database->enable_ssl)
|
||||||
|
Reference in New Issue
Block a user