From 4034250a332630acba672cbca005b0196afa66e3 Mon Sep 17 00:00:00 2001 From: Zack Eckersley Pallett <40175773+ZackaryH8@users.noreply.github.com> Date: Mon, 21 Feb 2022 20:11:12 +0000 Subject: [PATCH] New: Add backup size information Closes #1533 --- frontend/src/System/Backup/BackupRow.js | 7 +++++++ frontend/src/System/Backup/Backups.js | 7 +++++++ src/NzbDrone.Core/Backup/Backup.cs | 1 + src/NzbDrone.Core/Backup/BackupService.cs | 1 + src/Readarr.Api.V1/System/Backup/BackupController.cs | 1 + src/Readarr.Api.V1/System/Backup/BackupResource.cs | 3 ++- 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/frontend/src/System/Backup/BackupRow.js b/frontend/src/System/Backup/BackupRow.js index 297ca32fe..185dfa284 100644 --- a/frontend/src/System/Backup/BackupRow.js +++ b/frontend/src/System/Backup/BackupRow.js @@ -8,6 +8,7 @@ import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellCo import TableRowCell from 'Components/Table/Cells/TableRowCell'; import TableRow from 'Components/Table/TableRow'; import { icons, kinds } from 'Helpers/Props'; +import formatBytes from 'Utilities/Number/formatBytes'; import translate from 'Utilities/String/translate'; import RestoreBackupModalConnector from './RestoreBackupModalConnector'; import styles from './BackupRow.css'; @@ -65,6 +66,7 @@ class BackupRow extends Component { type, name, path, + size, time } = this.props; @@ -104,6 +106,10 @@ class BackupRow extends Component { + + {formatBytes(size)} + + @@ -147,6 +153,7 @@ BackupRow.propTypes = { type: PropTypes.string.isRequired, name: PropTypes.string.isRequired, path: PropTypes.string.isRequired, + size: PropTypes.number.isRequired, time: PropTypes.string.isRequired, onDeleteBackupPress: PropTypes.func.isRequired }; diff --git a/frontend/src/System/Backup/Backups.js b/frontend/src/System/Backup/Backups.js index 7f5e5c135..67aa72cc3 100644 --- a/frontend/src/System/Backup/Backups.js +++ b/frontend/src/System/Backup/Backups.js @@ -23,6 +23,11 @@ const columns = [ label: 'Name', isVisible: true }, + { + name: 'size', + label: 'Size', + isVisible: true + }, { name: 'time', label: 'Time', @@ -127,6 +132,7 @@ class Backups extends Component { type, name, path, + size, time } = item; @@ -137,6 +143,7 @@ class Backups extends Component { type={type} name={name} path={path} + size={size} time={time} onDeleteBackupPress={onDeleteBackupPress} /> diff --git a/src/NzbDrone.Core/Backup/Backup.cs b/src/NzbDrone.Core/Backup/Backup.cs index 4dafd4394..90eaaa8d8 100644 --- a/src/NzbDrone.Core/Backup/Backup.cs +++ b/src/NzbDrone.Core/Backup/Backup.cs @@ -6,6 +6,7 @@ public class Backup { public string Name { get; set; } public BackupType Type { get; set; } + public long Size { get; set; } public DateTime Time { get; set; } } } diff --git a/src/NzbDrone.Core/Backup/BackupService.cs b/src/NzbDrone.Core/Backup/BackupService.cs index ba1956742..ba8eb43ab 100644 --- a/src/NzbDrone.Core/Backup/BackupService.cs +++ b/src/NzbDrone.Core/Backup/BackupService.cs @@ -109,6 +109,7 @@ public List GetBackups() { Name = Path.GetFileName(b), Type = backupType, + Size = _diskProvider.GetFileSize(b), Time = _diskProvider.FileGetLastWrite(b) })); } diff --git a/src/Readarr.Api.V1/System/Backup/BackupController.cs b/src/Readarr.Api.V1/System/Backup/BackupController.cs index 70cb6c404..de6522877 100644 --- a/src/Readarr.Api.V1/System/Backup/BackupController.cs +++ b/src/Readarr.Api.V1/System/Backup/BackupController.cs @@ -42,6 +42,7 @@ public List GetBackupFiles() Name = b.Name, Path = $"/backup/{b.Type.ToString().ToLower()}/{b.Name}", Type = b.Type, + Size = b.Size, Time = b.Time }) .OrderByDescending(b => b.Time) diff --git a/src/Readarr.Api.V1/System/Backup/BackupResource.cs b/src/Readarr.Api.V1/System/Backup/BackupResource.cs index 5a3afbe71..9aa8faf7f 100644 --- a/src/Readarr.Api.V1/System/Backup/BackupResource.cs +++ b/src/Readarr.Api.V1/System/Backup/BackupResource.cs @@ -1,4 +1,4 @@ -using System; +using System; using NzbDrone.Core.Backup; using Readarr.Http.REST; @@ -9,6 +9,7 @@ public class BackupResource : RestResource public string Name { get; set; } public string Path { get; set; } public BackupType Type { get; set; } + public long Size { get; set; } public DateTime Time { get; set; } } }