From 5bc87b3972513481b931c41ba47899e52a472172 Mon Sep 17 00:00:00 2001 From: Jamie Date: Mon, 3 Jul 2023 21:06:23 +0100 Subject: [PATCH] Small fixes (#4978) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(tv-requests): 🐛 Fixed a small bug where an exception can get thrown when attempting to view TV Requests * fix(user-importer): 🐛 Fixed an issue where the cleanup wouldn't delete users #4812 --- src/Ombi.Core/Engine/TvRequestEngine.cs | 9 ++++++++- src/Ombi.Core/Engine/UserDeletionEngine.cs | 1 + src/Ombi.Schedule.Tests/PlexUserImporterTests.cs | 5 +++-- src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs | 9 ++++++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Ombi.Core/Engine/TvRequestEngine.cs b/src/Ombi.Core/Engine/TvRequestEngine.cs index 16866d0dd..a586156aa 100644 --- a/src/Ombi.Core/Engine/TvRequestEngine.cs +++ b/src/Ombi.Core/Engine/TvRequestEngine.cs @@ -929,7 +929,14 @@ namespace Ombi.Core.Engine var playedCount = playedEpisodes.Count(); var toWatchCount = requestedEpisodes.Count(); - request.RequestedUserPlayedProgress = 100 * playedCount / toWatchCount; + if (playedCount == 0 || toWatchCount == 0) + { + request.RequestedUserPlayedProgress = 0; + } + else + { + request.RequestedUserPlayedProgress = 100 * playedCount / toWatchCount; + } } } diff --git a/src/Ombi.Core/Engine/UserDeletionEngine.cs b/src/Ombi.Core/Engine/UserDeletionEngine.cs index 1c8fd63ca..eef7bd2f1 100644 --- a/src/Ombi.Core/Engine/UserDeletionEngine.cs +++ b/src/Ombi.Core/Engine/UserDeletionEngine.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; +using Microsoft.VisualBasic; using Ombi.Core.Authentication; using Ombi.Store.Entities; using Ombi.Store.Entities.Requests; diff --git a/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs b/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs index 62d058d19..39443ea55 100644 --- a/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs +++ b/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs @@ -6,6 +6,7 @@ using Ombi.Api.Plex; using Ombi.Api.Plex.Models; using Ombi.Api.Plex.Models.Friends; using Ombi.Core.Authentication; +using Ombi.Core.Engine; using Ombi.Core.Settings; using Ombi.Core.Settings.Models.External; using Ombi.Helpers; @@ -365,7 +366,7 @@ namespace Ombi.Schedule.Tests await _subject.Execute(null); - _mocker.Verify(x => x.DeleteAsync(It.Is(x => x.ProviderUserId == "PLEX_ID" && x.Email == "dupe" && x.UserName == "plex")), Times.Once); + _mocker.Verify(x => x.DeleteUser(It.Is(x => x.ProviderUserId == "PLEX_ID" && x.Email == "dupe" && x.UserName == "plex")), Times.Once); } [Test] @@ -401,7 +402,7 @@ namespace Ombi.Schedule.Tests await _subject.Execute(null); - _mocker.Verify(x => x.DeleteAsync(It.Is(x => x.ProviderUserId == "PLEX_ID" && x.Email == "dupe" && x.UserName == "plex")), Times.Once); + _mocker.Verify(x => x.DeleteUser(It.Is(x => x.ProviderUserId == "PLEX_ID" && x.Email == "dupe" && x.UserName == "plex")), Times.Once); } } } diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs b/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs index 3b931b586..68a7026a3 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs @@ -7,6 +7,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Ombi.Api.Plex; using Ombi.Core.Authentication; +using Ombi.Core.Engine; using Ombi.Core.Settings; using Ombi.Core.Settings.Models.External; using Ombi.Helpers; @@ -20,7 +21,8 @@ namespace Ombi.Schedule.Jobs.Plex public class PlexUserImporter : IPlexUserImporter { public PlexUserImporter(IPlexApi api, OmbiUserManager um, ILogger log, - ISettingsService plexSettings, ISettingsService ums, INotificationHubService notificationHubService) + ISettingsService plexSettings, ISettingsService ums, INotificationHubService notificationHubService, + IUserDeletionEngine userDeletionEngine) { _api = api; _userManager = um; @@ -28,6 +30,7 @@ namespace Ombi.Schedule.Jobs.Plex _plexSettings = plexSettings; _userManagementSettings = ums; _notification = notificationHubService; + _userDeletionEngine = userDeletionEngine; _plexSettings.ClearCache(); _userManagementSettings.ClearCache(); } @@ -38,7 +41,7 @@ namespace Ombi.Schedule.Jobs.Plex private readonly ISettingsService _plexSettings; private readonly ISettingsService _userManagementSettings; private readonly INotificationHubService _notification; - + private readonly IUserDeletionEngine _userDeletionEngine; public async Task Execute(IJobExecutionContext job) { @@ -90,7 +93,7 @@ namespace Ombi.Schedule.Jobs.Plex foreach (var ombiUser in missingUsers) { _log.LogInformation("Deleting user {0} not found in Plex Server.", ombiUser.UserName); - await _userManager.DeleteAsync(ombiUser); + await _userDeletionEngine.DeleteUser(ombiUser); } }