Prevent NullRef when deleting missing backups
(cherry picked from commit 0ff0fe2e68f3abf7b8e4d6bf0c1e9dee4eb68227)
This commit is contained in:
parent
e2f27e0c61
commit
b48fe6e633
|
@ -20,7 +20,7 @@ namespace Sonarr.Api.V3.System.Backup
|
||||||
private readonly IAppFolderInfo _appFolderInfo;
|
private readonly IAppFolderInfo _appFolderInfo;
|
||||||
private readonly IDiskProvider _diskProvider;
|
private readonly IDiskProvider _diskProvider;
|
||||||
|
|
||||||
private static readonly List<string> ValidExtensions = new List<string> { ".zip", ".db", ".xml" };
|
private static readonly List<string> ValidExtensions = new () { ".zip", ".db", ".xml" };
|
||||||
|
|
||||||
public BackupController(IBackupService backupService,
|
public BackupController(IBackupService backupService,
|
||||||
IAppFolderInfo appFolderInfo,
|
IAppFolderInfo appFolderInfo,
|
||||||
|
@ -37,22 +37,28 @@ namespace Sonarr.Api.V3.System.Backup
|
||||||
var backups = _backupService.GetBackups();
|
var backups = _backupService.GetBackups();
|
||||||
|
|
||||||
return backups.Select(b => new BackupResource
|
return backups.Select(b => new BackupResource
|
||||||
{
|
{
|
||||||
Id = GetBackupId(b),
|
Id = GetBackupId(b),
|
||||||
Name = b.Name,
|
Name = b.Name,
|
||||||
Path = $"/backup/{b.Type.ToString().ToLower()}/{b.Name}",
|
Path = $"/backup/{b.Type.ToString().ToLower()}/{b.Name}",
|
||||||
Size = b.Size,
|
Size = b.Size,
|
||||||
Type = b.Type,
|
Type = b.Type,
|
||||||
Time = b.Time
|
Time = b.Time
|
||||||
})
|
})
|
||||||
.OrderByDescending(b => b.Time)
|
.OrderByDescending(b => b.Time)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
[RestDeleteById]
|
[RestDeleteById]
|
||||||
public void DeleteBackup(int id)
|
public void DeleteBackup(int id)
|
||||||
{
|
{
|
||||||
var backup = GetBackup(id);
|
var backup = GetBackup(id);
|
||||||
|
|
||||||
|
if (backup == null)
|
||||||
|
{
|
||||||
|
throw new NotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
var path = GetBackupPath(backup);
|
var path = GetBackupPath(backup);
|
||||||
|
|
||||||
if (!_diskProvider.FileExists(path))
|
if (!_diskProvider.FileExists(path))
|
||||||
|
|
Loading…
Reference in New Issue