refactor: tidied up code with newlines and removed action filter for checks in the functions
This commit is contained in:
parent
87735b5805
commit
7f0eb0f4f6
|
@ -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()
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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>();
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue