refactor: Reorganize and rename ServarrApi classes

spectre-console-remove-di-hacks
Robert Dailey 8 months ago
parent 5ed9b8f1ee
commit bc485a8ac2

@ -1,14 +1,14 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.CustomFormat;
using Recyclarr.TrashGuide.CustomFormat;
namespace Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;
public class CustomFormatApiFetchPhase
{
private readonly ICustomFormatService _api;
private readonly ICustomFormatApiService _api;
public CustomFormatApiFetchPhase(ICustomFormatService api)
public CustomFormatApiFetchPhase(ICustomFormatApiService api)
{
_api = api;
}

@ -1,13 +1,13 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.CustomFormat;
namespace Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;
public class CustomFormatApiPersistencePhase
{
private readonly ICustomFormatService _api;
private readonly ICustomFormatApiService _api;
public CustomFormatApiPersistencePhase(ICustomFormatService api)
public CustomFormatApiPersistencePhase(ICustomFormatApiService api)
{
_api = api;
}

@ -1,6 +1,5 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
@ -8,9 +7,9 @@ public record QualityProfileServiceData(IReadOnlyList<QualityProfileDto> Profile
public class QualityProfileApiFetchPhase
{
private readonly IQualityProfileService _api;
private readonly IQualityProfileApiService _api;
public QualityProfileApiFetchPhase(IQualityProfileService api)
public QualityProfileApiFetchPhase(IQualityProfileApiService api)
{
_api = api;
}

@ -1,17 +1,17 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
public class QualityProfileApiPersistencePhase
{
private readonly ILogger _log;
private readonly IQualityProfileService _api;
private readonly IQualityProfileApiService _api;
private readonly QualityProfileStatCalculator _statCalculator;
public QualityProfileApiPersistencePhase(
ILogger log,
IQualityProfileService api,
IQualityProfileApiService api,
QualityProfileStatCalculator statCalculator)
{
_log = log;

@ -1,4 +1,4 @@
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
using Spectre.Console;
using Spectre.Console.Rendering;

@ -1,6 +1,6 @@
using System.Text.Json;
using System.Text.Json.JsonDiffPatch;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;

@ -3,7 +3,7 @@ using FluentValidation.Results;
using Recyclarr.Common.Extensions;
using Recyclarr.Common.FluentValidation;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;

@ -1,7 +1,7 @@
using System.Diagnostics.CodeAnalysis;
using Recyclarr.Common.Extensions;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile;

@ -1,5 +1,5 @@
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile;

@ -1,6 +1,6 @@
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile;

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Pipelines.QualityProfile;

@ -1,14 +1,13 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.QualityDefinition;
namespace Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases;
public class QualitySizeApiFetchPhase
{
private readonly IQualityDefinitionService _api;
private readonly IQualityDefinitionApiService _api;
public QualitySizeApiFetchPhase(IQualityDefinitionService api)
public QualitySizeApiFetchPhase(IQualityDefinitionApiService api)
{
_api = api;
}

@ -1,15 +1,14 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.QualityDefinition;
namespace Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases;
public class QualitySizeApiPersistencePhase
{
private readonly ILogger _log;
private readonly IQualityDefinitionService _api;
private readonly IQualityDefinitionApiService _api;
public QualitySizeApiPersistencePhase(ILogger log, IQualityDefinitionService api)
public QualitySizeApiPersistencePhase(ILogger log, IQualityDefinitionApiService api)
{
_log = log;
_api = api;

@ -1,5 +1,5 @@
using System.Collections.ObjectModel;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityDefinition;
using Recyclarr.TrashGuide.QualitySize;
namespace Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases;

@ -1,4 +1,4 @@
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.ReleaseProfile;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.Models;

@ -1,6 +1,5 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.ReleaseProfile;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.PipelinePhases;

@ -1,6 +1,6 @@
using Recyclarr.Cli.Pipelines.ReleaseProfile.Models;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.ReleaseProfile;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.PipelinePhases;

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.ReleaseProfile.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.ReleaseProfile;
using Spectre.Console;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.PipelinePhases;

@ -1,7 +1,7 @@
using Recyclarr.Cli.Pipelines.ReleaseProfile.Models;
using Recyclarr.Cli.Pipelines.Tags;
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.ReleaseProfile;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile.PipelinePhases;

@ -3,7 +3,7 @@ using Autofac.Extras.AggregateService;
using Autofac.Extras.Ordering;
using Recyclarr.Cli.Pipelines.ReleaseProfile.Filters;
using Recyclarr.Cli.Pipelines.ReleaseProfile.PipelinePhases;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.ReleaseProfile;
namespace Recyclarr.Cli.Pipelines.ReleaseProfile;

@ -1,6 +1,5 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Pipelines.Tags.PipelinePhases;

@ -1,6 +1,5 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Pipelines.Tags.PipelinePhases;

@ -1,6 +1,6 @@
using System.Diagnostics.CodeAnalysis;
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Pipelines.Tags.PipelinePhases;

@ -1,5 +1,5 @@
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Pipelines.Tags;

@ -1,7 +1,7 @@
using Autofac;
using Autofac.Extras.AggregateService;
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Pipelines.Tags;

@ -5,7 +5,7 @@ using Recyclarr.Compatibility;
using Recyclarr.Compatibility.Sonarr;
using Recyclarr.Config;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.CustomFormat;
using Recyclarr.TrashGuide.CustomFormat;
using Spectre.Console;
@ -15,14 +15,14 @@ public class DeleteCustomFormatsProcessor : IDeleteCustomFormatsProcessor
{
private readonly ILogger _log;
private readonly IAnsiConsole _console;
private readonly ICustomFormatService _api;
private readonly ICustomFormatApiService _api;
private readonly IConfigurationRegistry _configRegistry;
private readonly ISonarrCapabilityFetcher _sonarCapabilities;
public DeleteCustomFormatsProcessor(
ILogger log,
IAnsiConsole console,
ICustomFormatService api,
ICustomFormatApiService api,
IConfigurationRegistry configRegistry,
ISonarrCapabilityFetcher sonarCapabilities)
{

@ -1,6 +1,6 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.System;
using Serilog;
namespace Recyclarr.Compatibility;

@ -1,7 +1,10 @@
using Autofac;
using Flurl.Http.Configuration;
using Recyclarr.ServarrApi.CustomFormat;
using Recyclarr.ServarrApi.Http;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.QualityDefinition;
using Recyclarr.ServarrApi.QualityProfile;
using Recyclarr.ServarrApi.System;
namespace Recyclarr.ServarrApi;
@ -13,8 +16,8 @@ public class ApiServicesAutofacModule : Module
builder.RegisterType<SystemApiService>().As<ISystemApiService>();
builder.RegisterType<FlurlClientFactory>().As<IFlurlClientFactory>().SingleInstance();
builder.RegisterType<ServiceRequestBuilder>().As<IServiceRequestBuilder>();
builder.RegisterType<QualityProfileService>().As<IQualityProfileService>();
builder.RegisterType<CustomFormatService>().As<ICustomFormatService>();
builder.RegisterType<QualityDefinitionService>().As<IQualityDefinitionService>();
builder.RegisterType<QualityProfileApiService>().As<IQualityProfileApiService>();
builder.RegisterType<CustomFormatApiService>().As<ICustomFormatApiService>();
builder.RegisterType<QualityDefinitionApiService>().As<IQualityDefinitionApiService>();
}
}

@ -3,13 +3,13 @@ using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Http;
using Recyclarr.TrashGuide.CustomFormat;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.CustomFormat;
public class CustomFormatService : ICustomFormatService
public class CustomFormatApiService : ICustomFormatApiService
{
private readonly IServiceRequestBuilder _service;
public CustomFormatService(IServiceRequestBuilder service)
public CustomFormatApiService(IServiceRequestBuilder service)
{
_service = service;
}

@ -1,9 +1,9 @@
using Recyclarr.Config.Models;
using Recyclarr.TrashGuide.CustomFormat;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.CustomFormat;
public interface ICustomFormatService
public interface ICustomFormatApiService
{
Task<IList<CustomFormatData>> GetCustomFormats(IServiceConfiguration config);
Task<CustomFormatData?> CreateCustomFormat(IServiceConfiguration config, CustomFormatData cf);

@ -1,9 +1,8 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.QualityDefinition;
public interface IQualityDefinitionService
public interface IQualityDefinitionApiService
{
Task<IList<ServiceQualityDefinitionItem>> GetQualityDefinition(IServiceConfiguration config);

@ -1,15 +1,14 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.QualityDefinition;
internal class QualityDefinitionService : IQualityDefinitionService
internal class QualityDefinitionApiService : IQualityDefinitionApiService
{
private readonly IServiceRequestBuilder _service;
public QualityDefinitionService(IServiceRequestBuilder service)
public QualityDefinitionApiService(IServiceRequestBuilder service)
{
_service = service;
}

@ -1,6 +1,6 @@
using JetBrains.Annotations;
namespace Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.QualityDefinition;
[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)]
public class ServiceQualityItem

@ -1,9 +1,8 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.QualityProfile;
public interface IQualityProfileService
public interface IQualityProfileApiService
{
Task<IList<QualityProfileDto>> GetQualityProfiles(IServiceConfiguration config);
Task UpdateQualityProfile(IServiceConfiguration config, QualityProfileDto profile);

@ -1,7 +1,6 @@
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Extensions;
namespace Recyclarr.ServarrApi.QualityProfile;
public static class QualityProfileApiExtensions
{

@ -1,16 +1,14 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Extensions;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.QualityProfile;
internal class QualityProfileService : IQualityProfileService
internal class QualityProfileApiService : IQualityProfileApiService
{
private readonly IServiceRequestBuilder _service;
public QualityProfileService(IServiceRequestBuilder service)
public QualityProfileApiService(IServiceRequestBuilder service)
{
_service = service;
}

@ -1,7 +1,7 @@
using System.Text.Json.Serialization;
using JetBrains.Annotations;
namespace Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.QualityProfile;
[UsedImplicitly]
public record QualityProfileDto

@ -1,7 +1,6 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.ReleaseProfile;
public interface IReleaseProfileApiService
{

@ -1,9 +1,8 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.ReleaseProfile;
public class ReleaseProfileApiService : IReleaseProfileApiService
{

@ -1,7 +1,7 @@
using System.Text.Json.Serialization;
using JetBrains.Annotations;
namespace Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.ReleaseProfile;
[UsedImplicitly(ImplicitUseKindFlags.Assign, ImplicitUseTargetFlags.Members)]
public class SonarrPreferredTerm

@ -1,7 +1,6 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.System;
public interface ISystemApiService
{

@ -1,9 +1,8 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.System;
public class SystemApiService : ISystemApiService
{

@ -1,4 +1,4 @@
namespace Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.System;
public record SystemStatus(
string AppName,

@ -1,7 +1,6 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.Tag;
public interface ISonarrTagApiService
{

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using Recyclarr.Common;
namespace Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Tag;
public class SonarrTag
{

@ -1,9 +1,8 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.ServarrApi.Services;
namespace Recyclarr.ServarrApi.Tag;
public class SonarrTagApiService : ISonarrTagApiService
{

@ -2,7 +2,7 @@ using System.Diagnostics.CodeAnalysis;
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests;

@ -1,4 +1,4 @@
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile.Api;

@ -1,7 +1,7 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile.PipelinePhases;

@ -1,6 +1,6 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile;

@ -1,6 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Extensions;
using Recyclarr.ServarrApi.QualityProfile;
// ReSharper disable CollectionNeverUpdated.Local

@ -1,7 +1,7 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile;

@ -2,7 +2,7 @@ using FluentValidation.TestHelper;
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityProfile;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile;

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.QualityDefinition;
using Recyclarr.TrashGuide.QualitySize;
namespace Recyclarr.Cli.Tests.Pipelines.QualitySize.PipelinePhases;

@ -1,7 +1,6 @@
using Recyclarr.Cli.Pipelines.Tags;
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Tests.Pipelines.Tags.PipelinePhases;

@ -1,8 +1,7 @@
using Recyclarr.Cli.Pipelines.Tags;
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Tests.Pipelines.Tags.PipelinePhases;

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Tag;
namespace Recyclarr.Cli.Tests.Pipelines.Tags.PipelinePhases;

@ -1,7 +1,7 @@
using Flurl.Http.Testing;
using Recyclarr.Common;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.ServarrApi.CustomFormat;
namespace Recyclarr.IntegrationTests;
@ -18,7 +18,7 @@ public class CustomFormatServiceTest : IntegrationTestFixture
using var http = new HttpTest();
http.RespondWith(jsonBody);
var sut = Resolve<CustomFormatService>();
var sut = Resolve<CustomFormatApiService>();
var result = await sut.GetCustomFormats(Substitute.ForPartsOf<ServiceConfiguration>());
result.Should().HaveCountGreaterThan(5);

Loading…
Cancel
Save