refactor: tidied up code with newlines and removed action filter for checks in the functions

This commit is contained in:
sillock1 2024-04-28 18:01:34 +01:00
parent 87735b5805
commit 7f0eb0f4f6
6 changed files with 25 additions and 34 deletions

View File

@ -19,16 +19,16 @@ namespace NzbDrone.Core.Update.History
{ {
private readonly IUpdateHistoryRepository _repository; private readonly IUpdateHistoryRepository _repository;
private readonly IEventAggregator _eventAggregator; private readonly IEventAggregator _eventAggregator;
private readonly Logger _logger;
private readonly IConfigFileProvider _configFileProvider; private readonly IConfigFileProvider _configFileProvider;
private readonly Logger _logger;
private Version _prevVersion; private Version _prevVersion;
public UpdateHistoryService(IUpdateHistoryRepository repository, IEventAggregator eventAggregator, Logger logger, IConfigFileProvider configFileProvider) public UpdateHistoryService(IUpdateHistoryRepository repository, IEventAggregator eventAggregator, IConfigFileProvider configFileProvider, Logger logger)
{ {
_repository = repository; _repository = repository;
_eventAggregator = eventAggregator; _eventAggregator = eventAggregator;
_logger = logger;
_configFileProvider = configFileProvider; _configFileProvider = configFileProvider;
_logger = logger;
} }
public Version PreviouslyInstalled() public Version PreviouslyInstalled()

View File

@ -29,7 +29,7 @@ namespace NzbDrone.Core.Update
{ {
var branch = _configFileProvider.Branch; var branch = _configFileProvider.Branch;
var version = BuildInfo.Version; var version = BuildInfo.Version;
var prevVersion = _updateHistoryService.PreviouslyInstalled(); var prevVersion = _configFileProvider.LogDbEnabled ? _updateHistoryService.PreviouslyInstalled() : null;
return _updatePackageProvider.GetRecentUpdates(branch, version, prevVersion); return _updatePackageProvider.GetRecentUpdates(branch, version, prevVersion);
} }
} }

View File

@ -95,6 +95,7 @@ namespace NzbDrone.Host
.AddStartupContext(startupContext) .AddStartupContext(startupContext)
.Resolve<UtilityModeRouter>() .Resolve<UtilityModeRouter>()
.Route(appMode); .Route(appMode);
if (config.GetValue(nameof(ConfigFileProvider.LogDbEnabled), true)) if (config.GetValue(nameof(ConfigFileProvider.LogDbEnabled), true))
{ {
c.AddLogDatabase(); c.AddLogDatabase();
@ -161,6 +162,7 @@ namespace NzbDrone.Host
.AddNzbDroneLogger() .AddNzbDroneLogger()
.AddDatabase() .AddDatabase()
.AddStartupContext(context); .AddStartupContext(context);
if (logDbEnabled) if (logDbEnabled)
{ {
c.AddLogDatabase(); c.AddLogDatabase();

View File

@ -1,26 +1,33 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Instrumentation; using NzbDrone.Core.Instrumentation;
using Sonarr.Http; using Sonarr.Http;
using Sonarr.Http.Extensions; using Sonarr.Http.Extensions;
using Sonarr.Http.REST.Filters;
namespace Sonarr.Api.V3.Logs namespace Sonarr.Api.V3.Logs
{ {
[V3ApiController] [V3ApiController]
[TypeFilter(typeof(LogDatabaseDisabledActionFilterAttribute<PagingResource<LogResource>>))]
public class LogController : Controller public class LogController : Controller
{ {
private readonly ILogService _logService; private readonly ILogService _logService;
private readonly IConfigFileProvider _configFileProvider;
public LogController(ILogService logService) public LogController(ILogService logService, IConfigFileProvider configFileProvider)
{ {
_logService = logService; _logService = logService;
_configFileProvider = configFileProvider;
} }
[HttpGet] [HttpGet]
[Produces("application/json")] [Produces("application/json")]
public PagingResource<LogResource> GetLogs([FromQuery] PagingRequestResource paging, string level) public PagingResource<LogResource> GetLogs([FromQuery] PagingRequestResource paging, string level)
{ {
if (!_configFileProvider.LogDbEnabled)
{
return new PagingResource<LogResource>();
}
var pagingResource = new PagingResource<LogResource>(paging); var pagingResource = new PagingResource<LogResource>(paging);
var pageSpec = pagingResource.MapToPagingSpec<LogResource, Log>(); var pageSpec = pagingResource.MapToPagingSpec<LogResource, Log>();

View File

@ -2,24 +2,25 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Update; using NzbDrone.Core.Update;
using NzbDrone.Core.Update.History; using NzbDrone.Core.Update.History;
using Sonarr.Http; using Sonarr.Http;
using Sonarr.Http.REST.Filters;
namespace Sonarr.Api.V3.Update namespace Sonarr.Api.V3.Update
{ {
[V3ApiController] [V3ApiController]
[TypeFilter(typeof(LogDatabaseDisabledActionFilterAttribute<List<UpdateResource>>))]
public class UpdateController : Controller public class UpdateController : Controller
{ {
private readonly IRecentUpdateProvider _recentUpdateProvider; private readonly IRecentUpdateProvider _recentUpdateProvider;
private readonly IUpdateHistoryService _updateHistoryService; private readonly IUpdateHistoryService _updateHistoryService;
private readonly IConfigFileProvider _configFileProvider;
public UpdateController(IRecentUpdateProvider recentUpdateProvider, IUpdateHistoryService updateHistoryService) public UpdateController(IRecentUpdateProvider recentUpdateProvider, IUpdateHistoryService updateHistoryService, IConfigFileProvider configFileProvider)
{ {
_recentUpdateProvider = recentUpdateProvider; _recentUpdateProvider = recentUpdateProvider;
_updateHistoryService = updateHistoryService; _updateHistoryService = updateHistoryService;
_configFileProvider = configFileProvider;
} }
[HttpGet] [HttpGet]
@ -47,7 +48,11 @@ namespace Sonarr.Api.V3.Update
installed.Installed = true; installed.Installed = true;
} }
var installDates = _updateHistoryService.InstalledSince(resources.Last().ReleaseDate) var updateHistory = _configFileProvider.LogDbEnabled
? _updateHistoryService.InstalledSince(resources.Last().ReleaseDate)
: new List<UpdateHistory>();
var installDates = updateHistory
.DistinctBy(v => v.Version) .DistinctBy(v => v.Version)
.ToDictionary(v => v.Version); .ToDictionary(v => v.Version);

View File

@ -1,23 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
using NzbDrone.Core.Configuration;
namespace Sonarr.Http.REST.Filters;
public class LogDatabaseDisabledActionFilterAttribute<TResult> : IActionFilter
where TResult : class, new()
{
public void OnActionExecuting(ActionExecutingContext context)
{
var configFileProvider = context.HttpContext.RequestServices.GetService<IConfigFileProvider>();
if (!configFileProvider.LogDbEnabled)
{
context.Result = new OkObjectResult(new TResult());
}
}
public void OnActionExecuted(ActionExecutedContext context)
{
}
}