Skip to content

Commit 81b8a58

Browse files
committed
fix: scheduled backup for services view
1 parent 8c024dd commit 81b8a58

File tree

2 files changed

+35
-31
lines changed

2 files changed

+35
-31
lines changed

app/Livewire/Project/Database/ScheduledBackups.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class ScheduledBackups extends Component
2626
public function mount(): void
2727
{
2828
if ($this->selectedBackupId) {
29-
$this->setSelectedBackup($this->selectedBackupId);
29+
$this->setSelectedBackup($this->selectedBackupId, true);
3030
}
3131
$this->parameters = get_route_parameters();
3232
if ($this->database->getMorphClass() === 'App\Models\ServiceDatabase') {
@@ -37,10 +37,13 @@ public function mount(): void
3737
$this->s3s = currentTeam()->s3s;
3838
}
3939

40-
public function setSelectedBackup($backupId)
40+
public function setSelectedBackup($backupId, $force = false)
4141
{
42+
if ($this->selectedBackupId === $backupId && ! $force) {
43+
return;
44+
}
4245
$this->selectedBackupId = $backupId;
43-
$this->selectedBackup = $this->database->scheduledBackups->find($this->selectedBackupId);
46+
$this->selectedBackup = $this->database->scheduledBackups->find($backupId);
4447
if (is_null($this->selectedBackup)) {
4548
$this->selectedBackupId = null;
4649
}
Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,38 @@
11
<div>
22
<div class="flex flex-col gap-2">
33
@forelse($database->scheduledBackups as $backup)
4-
@if ($type == 'database')
5-
<a class="box"
6-
href="{{ route('project.database.backup.execution', [...$parameters, 'backup_uuid' => $backup->uuid]) }}">
7-
<div class="flex flex-col">
8-
<div>Frequency: {{ $backup->frequency }}</div>
9-
<div>Last backup: {{ data_get($backup->latest_log, 'status', 'No backup yet') }}</div>
10-
<div>Number of backups to keep (locally): {{ $backup->number_of_backups_locally }}</div>
11-
</div>
12-
</a>
13-
@else
14-
<div class="box" wire:click="setSelectedBackup('{{ data_get($backup, 'id') }}')">
15-
<div @class([ 'border-coollabs'=>
16-
data_get($backup, 'id') === data_get($selectedBackup, 'id'),
17-
'flex flex-col border-l-2 border-transparent',
18-
])>
19-
<div>Frequency: {{ $backup->frequency }}</div>
20-
<div>Last backup: {{ data_get($backup->latest_log, 'status', 'No backup yet') }}</div>
21-
<div>Number of backups to keep (locally): {{ $backup->number_of_backups_locally }}</div>
22-
</div>
23-
</div>
24-
@endif
4+
@if ($type == 'database')
5+
<a class="box"
6+
href="{{ route('project.database.backup.execution', [...$parameters, 'backup_uuid' => $backup->uuid]) }}">
7+
<div class="flex flex-col">
8+
<div>Frequency: {{ $backup->frequency }}</div>
9+
<div>Last backup: {{ data_get($backup->latest_log, 'status', 'No backup yet') }}</div>
10+
<div>Number of backups to keep (locally): {{ $backup->number_of_backups_locally }}</div>
11+
</div>
12+
</a>
13+
@else
14+
<div class="box" wire:click="setSelectedBackup('{{ data_get($backup, 'id') }}')">
15+
<div @class([
16+
'border-coollabs' =>
17+
data_get($backup, 'id') === data_get($selectedBackup, 'id'),
18+
'flex flex-col border-l-2 border-transparent',
19+
])>
20+
<div>Frequency: {{ $backup->frequency }}</div>
21+
<div>Last backup: {{ data_get($backup->latest_log, 'status', 'No backup yet') }}</div>
22+
<div>Number of backups to keep (locally): {{ $backup->number_of_backups_locally }}</div>
23+
</div>
24+
</div>
25+
@endif
2526
@empty
26-
<div>No scheduled backups configured.</div>
27+
<div>No scheduled backups configured.</div>
2728
@endforelse
2829
</div>
2930
@if ($type === 'service-database' && $selectedBackup)
30-
<div class="pt-10">
31-
<livewire:project.database.backup-edit wire:key="{{ $selectedBackup->id }}" :backup="$selectedBackup"
32-
:s3s="$s3s" :status="data_get($database, 'status')" />
33-
<h3 class="py-4">Executions</h3>
34-
<livewire:project.database.backup-executions wire:key="{{ $selectedBackup->id }}" :backup="$selectedBackup" :database="$database" />
35-
</div>
31+
<div class="pt-10">
32+
<livewire:project.database.backup-edit wire:key="{{ $selectedBackup->id }}" :backup="$selectedBackup"
33+
:s3s="$s3s" :status="data_get($database, 'status')" />
34+
<livewire:project.database.backup-executions wire:key="{{ $selectedBackup->uuid }}" :backup="$selectedBackup"
35+
:database="$database" />
36+
</div>
3637
@endif
3738
</div>

0 commit comments

Comments
 (0)