diff --git a/app/Http/Controllers/V1/Admin/Backup/BackupsController.php b/app/Http/Controllers/V1/Admin/Backup/BackupsController.php index 3a8daa94..02a7c79c 100644 --- a/app/Http/Controllers/V1/Admin/Backup/BackupsController.php +++ b/app/Http/Controllers/V1/Admin/Backup/BackupsController.php @@ -27,6 +27,16 @@ class BackupsController extends ApiController $configuredBackupDisks = config('backup.backup.destination.disks'); try { + if ($request->file_disk_id) { + $fileDisk = \App\Models\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) { diff --git a/resources/scripts/admin/views/settings/BackupSetting.vue b/resources/scripts/admin/views/settings/BackupSetting.vue index 9852c979..9cc3d56f 100644 --- a/resources/scripts/admin/views/settings/BackupSetting.vue +++ b/resources/scripts/admin/views/settings/BackupSetting.vue @@ -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