From 3101544484464e8b492ab49eb65fc1fb255da322 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sun, 6 Sep 2020 22:51:25 -0400 Subject: [PATCH] Simplify ManualImportModule null check Signed-off-by: Robin Dadswell --- .../ManualImport/ManualImportModule.cs | 12 ++++------ .../Extensions/RequestExtensions.cs | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/Readarr.Api.V1/ManualImport/ManualImportModule.cs b/src/Readarr.Api.V1/ManualImport/ManualImportModule.cs index c9aa4fc0a..6933d7cf1 100644 --- a/src/Readarr.Api.V1/ManualImport/ManualImportModule.cs +++ b/src/Readarr.Api.V1/ManualImport/ManualImportModule.cs @@ -47,15 +47,11 @@ private List GetMediaFiles() var downloadId = (string)Request.Query.downloadId; NzbDrone.Core.Books.Author author = null; - var authorIdQuery = Request.Query.authorId; - if (authorIdQuery.HasValue) - { - var authorId = Convert.ToInt32(authorIdQuery.Value); + var authorIdQuery = Request.GetNullableIntegerQueryParameter("authorId", null); - if (authorId > 0) - { - author = _authorService.GetAuthor(authorId); - } + if (authorIdQuery.HasValue && authorIdQuery.Value > 0) + { + author = _authorService.GetAuthor(Convert.ToInt32(authorIdQuery.Value)); } var filter = Request.GetBooleanQueryParameter("filterExistingFiles", true) ? FilterFilesType.Matched : FilterFilesType.None; diff --git a/src/Readarr.Http/Extensions/RequestExtensions.cs b/src/Readarr.Http/Extensions/RequestExtensions.cs index 21da78d99..a82b2c133 100644 --- a/src/Readarr.Http/Extensions/RequestExtensions.cs +++ b/src/Readarr.Http/Extensions/RequestExtensions.cs @@ -66,5 +66,29 @@ public static int GetIntegerQueryParameter(this Request request, string paramete return defaultValue; } + + public static Guid GetGuidQueryParameter(this Request request, string parameter, Guid defaultValue = default) + { + var parameterValue = request.Query[parameter]; + + if (parameterValue.HasValue) + { + return Guid.Parse(parameterValue.Value); + } + + return defaultValue; + } + + public static int? GetNullableIntegerQueryParameter(this Request request, string parameter, int? defaultValue = null) + { + var parameterValue = request.Query[parameter]; + + if (parameterValue.HasValue) + { + return int.Parse(parameterValue.Value); + } + + return defaultValue; + } } }