public static function create(string $diskName, string $backupName) : BackupDestination
{
try {
$disk = app(Factory::class)->disk($diskName);
return new static($disk, $backupName, $diskName);
} catch (Exception $exception) {
$backupDestination = new static(null, $backupName, $diskName);
$backupDestination->connectionError = $exception;
return $backupDestination;
}
}
public static function createForSingleMonitor(array $monitorConfig) : Collection { return collect($monitorConfig['disks'])->map(function ($diskName) use($monitorConfig) { $backupDestination = BackupDestination::create($diskName, $monitorConfig['name']); return (new BackupDestinationStatus($backupDestination, $diskName))->setMaximumAgeOfNewestBackupInDays($monitorConfig['newestBackupsShouldNotBeOlderThanDays'])->setMaximumStorageUsageInMegabytes($monitorConfig['storageUsedMayNotBeHigherThanMegabytes']); }); }