Merge pull request #576 from csalzano/fix/remote-disk-backup-listing

Fix remote disk backups never appear in backup listing
This commit is contained in:
mchev
2026-03-26 09:16:13 +01:00
committed by GitHub
3 changed files with 16 additions and 3 deletions

View File

@@ -5,6 +5,7 @@
namespace App\Http\Controllers\V1\Admin\Backup;
use App\Jobs\CreateBackupJob;
use App\Models\FileDisk;
use App\Rules\Backup\PathToZip;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -27,6 +28,16 @@ class BackupsController extends ApiController
$configuredBackupDisks = config('backup.backup.destination.disks');
try {
if ($request->file_disk_id) {
$fileDisk = FileDisk::find($request->file_disk_id);
if ($fileDisk) {
$fileDisk->setConfig();
$prefix = env('DYNAMIC_DISK_PREFIX', 'temp_');
config(['backup.backup.destination.disks' => [$prefix.$fileDisk->driver]]);
$configuredBackupDisks = config('backup.backup.destination.disks');
}
}
$backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name'));
$backups = Cache::remember("backups-{$request->file_disk_id}", now()->addSeconds(4), function () use ($backupDestination) {

View File

@@ -167,14 +167,14 @@ async function loadDisksData() {
let res = await diskStore.fetchDisks({ limit: 'all' })
if (res.data.error) {
}
filters.selected_disk = res.data.data.find((disk) => disk.set_as_default == 0)
filters.selected_disk = res.data.data.find((disk) => disk.set_as_default == 1) ?? res.data.data[0]
isFetchingInitialData.value = false
}
async function fetchBackupsData({ page, filter, sort }) {
let data = {
disk: filters.selected_disk.driver,
filed_disk_id: filters.selected_disk.id,
file_disk_id: filters.selected_disk.id,
}
isFetchingInitialData.value = true

View File

@@ -50,9 +50,11 @@ test('create backup', function () {
$response = getJson("/api/v1/backups?disk={$disk->driver}&&file_disk_id={$disk->id}");
$prefix = env('DYNAMIC_DISK_PREFIX', 'temp_');
$response->assertStatus(200)->assertJson([
'disks' => [
'local',
$prefix.$disk->driver,
],
]);
});