refactor: Split API code into own project

spectre-console-remove-di-hacks
Robert Dailey 8 months ago
parent 9ede5125bf
commit aae8897250

@ -1,9 +1,9 @@
using Autofac;
using Autofac.Extras.AggregateService;
using Recyclarr.Cli.Cache;
using Recyclarr.Cli.Pipelines.CustomFormat.Api;
using Recyclarr.Cli.Pipelines.CustomFormat.Models;
using Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Pipelines.CustomFormat;
@ -13,7 +13,6 @@ public class CustomFormatAutofacModule : Module
{
builder.RegisterType<ProcessedCustomFormatCache>().As<IPipelineCache>().AsSelf().InstancePerLifetimeScope();
builder.RegisterType<CustomFormatService>().As<ICustomFormatService>();
builder.RegisterType<CachePersister>().As<ICachePersister>();
builder.RegisterType<CustomFormatDataLister>();

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.CustomFormat.Api;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.TrashGuide.CustomFormat;
namespace Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.CustomFormat.Api;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;

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

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;

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

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

@ -1,9 +1,9 @@
using System.Diagnostics.CodeAnalysis;
using FluentValidation.Results;
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Common.Extensions;
using Recyclarr.Common.FluentValidation;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;

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

@ -1,7 +1,7 @@
using Autofac;
using Autofac.Extras.AggregateService;
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Pipelines.QualityProfile;
@ -11,7 +11,6 @@ public class QualityProfileAutofacModule : Module
{
base.Load(builder);
builder.RegisterType<QualityProfileService>().As<IQualityProfileService>();
builder.RegisterType<QualityProfileStatCalculator>();
builder.RegisterAggregateService<IQualityProfilePipelinePhases>();

@ -1,5 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Pipelines.QualityProfile;
@ -111,12 +111,4 @@ public static class QualityProfileExtensions
return Math.Max(1000, maxExisting) + 1;
}
public static QualityProfileDto ReverseItems(this QualityProfileDto dto)
{
static ICollection<ProfileItemDto> ReverseItemsImpl(IEnumerable<ProfileItemDto> items)
=> items.Reverse().Select(x => x with {Items = ReverseItemsImpl(x.Items)}).ToList();
return dto with {Items = ReverseItemsImpl(dto.Items).AsReadOnly()};
}
}

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

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

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

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

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

@ -1,7 +1,7 @@
using Autofac;
using Autofac.Extras.AggregateService;
using Recyclarr.Cli.Pipelines.QualitySize.Api;
using Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Pipelines.QualitySize;
@ -10,7 +10,6 @@ public class QualitySizeAutofacModule : Module
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<QualityDefinitionService>().As<IQualityDefinitionService>();
builder.RegisterType<QualitySizeDataLister>();
builder.RegisterAggregateService<IQualitySizePipelinePhases>();

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

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

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

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

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

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

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

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

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

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

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

@ -1,9 +1,9 @@
using System.Diagnostics.CodeAnalysis;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Pipelines.CustomFormat.Api;
using Recyclarr.TrashLib.Compatibility.Sonarr;
using Recyclarr.Config;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
using Recyclarr.TrashLib.ExceptionTypes;
using Recyclarr.TrashGuide.CustomFormat;
using Spectre.Console;

@ -1,8 +1,8 @@
using Flurl.Http;
using Recyclarr.Config.ExceptionTypes;
using Recyclarr.Config.Parsing.ErrorHandling;
using Recyclarr.ServarrApi.Http;
using Recyclarr.TrashLib.ExceptionTypes;
using Recyclarr.TrashLib.Http;
using Recyclarr.VersionControl;
namespace Recyclarr.Cli.Processors.ErrorHandling;

@ -0,0 +1,20 @@
using Autofac;
using Recyclarr.ServarrApi.Http;
using Recyclarr.ServarrApi.Services;
using IFlurlClientFactory = Flurl.Http.Configuration.IFlurlClientFactory;
namespace Recyclarr.ServarrApi;
public class ApiServicesAutofacModule : Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
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>();
}
}

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

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

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

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

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

@ -1,4 +1,4 @@
namespace Recyclarr.Cli.Pipelines.QualityProfile.Api;
namespace Recyclarr.ServarrApi;
public static class DtoUtil
{

@ -0,0 +1,15 @@
using Recyclarr.Common.Extensions;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.ServarrApi.Extensions;
public static class QualityProfileApiExtensions
{
public static QualityProfileDto ReverseItems(this QualityProfileDto dto)
{
return dto with {Items = ReverseItemsImpl(dto.Items).AsReadOnly()};
static ICollection<ProfileItemDto> ReverseItemsImpl(IEnumerable<ProfileItemDto> items)
=> items.Reverse().Select(x => x with {Items = ReverseItemsImpl(x.Items)}).ToList();
}
}

@ -3,8 +3,9 @@ using Flurl.Http.Configuration;
using Recyclarr.Common.Networking;
using Recyclarr.Json;
using Recyclarr.Settings;
using Serilog;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public class FlurlClientFactory : IFlurlClientFactory
{

@ -1,7 +1,7 @@
using System.Text.RegularExpressions;
using Flurl.Http;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public static partial class FlurlExtensions
{

@ -1,8 +1,9 @@
using System.Text.Json;
using Flurl;
using Flurl.Http.Configuration;
using Serilog;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public static class FlurlLogging
{

@ -1,6 +1,6 @@
using Flurl.Http;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public interface IFlurlClientFactory
{

@ -1,7 +1,7 @@
using Flurl.Http;
using Recyclarr.Config.Models;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public interface IServiceRequestBuilder
{

@ -1,7 +1,7 @@
using Flurl.Http;
using Recyclarr.Config.Models;
namespace Recyclarr.TrashLib.Http;
namespace Recyclarr.ServarrApi.Http;
public class ServiceRequestBuilder : IServiceRequestBuilder
{

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="Flurl.Http" />
<PackageReference Include="JetBrains.Annotations" />
<PackageReference Include="Serilog" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Recyclarr.Config\Recyclarr.Config.csproj" />
<ProjectReference Include="..\Recyclarr.Json\Recyclarr.Json.csproj" />
<ProjectReference Include="..\Recyclarr.Settings\Recyclarr.Settings.csproj" />
</ItemGroup>
</Project>

@ -1,9 +1,9 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Http;
using Recyclarr.TrashGuide.CustomFormat;
using Recyclarr.TrashLib.Http;
namespace Recyclarr.Cli.Pipelines.CustomFormat.Api;
namespace Recyclarr.ServarrApi.Services;
public class CustomFormatService : ICustomFormatService
{

@ -1,7 +1,7 @@
using Recyclarr.Config.Models;
using Recyclarr.TrashGuide.CustomFormat;
namespace Recyclarr.Cli.Pipelines.CustomFormat.Api;
namespace Recyclarr.ServarrApi.Services;
public interface ICustomFormatService
{

@ -1,6 +1,7 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Pipelines.QualitySize.Api;
namespace Recyclarr.ServarrApi.Services;
public interface IQualityDefinitionService
{

@ -1,6 +1,7 @@
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Pipelines.QualityProfile.Api;
namespace Recyclarr.ServarrApi.Services;
public interface IQualityProfileService
{

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

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

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

@ -1,8 +1,9 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.TrashLib.Http;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.Cli.Pipelines.QualitySize.Api;
namespace Recyclarr.ServarrApi.Services;
internal class QualityDefinitionService : IQualityDefinitionService
{

@ -1,8 +1,10 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.TrashLib.Http;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Extensions;
using Recyclarr.ServarrApi.Http;
namespace Recyclarr.Cli.Pipelines.QualityProfile.Api;
namespace Recyclarr.ServarrApi.Services;
internal class QualityProfileService : IQualityProfileService
{

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

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

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

@ -1,15 +0,0 @@
using Autofac;
using Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.ApiServices;
public class ApiServicesAutofacModule : Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<SystemApiService>().As<ISystemApiService>();
builder.RegisterType<ServiceInformation>().As<IServiceInformation>()
.InstancePerLifetimeScope();
}
}

@ -11,6 +11,8 @@ public class CompatibilityAutofacModule : Module
base.Load(builder);
builder.RegisterType<ServiceAgnosticCapabilityEnforcer>();
builder.RegisterType<ServiceInformation>().As<IServiceInformation>()
.InstancePerLifetimeScope();
// Sonarr
builder.RegisterType<SonarrCapabilityFetcher>().As<ISonarrCapabilityFetcher>();

@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
namespace Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.Compatibility;
public interface IServiceInformation
{

@ -1,5 +1,3 @@
using Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.Compatibility.Radarr;
public class RadarrCapabilityFetcher : ServiceCapabilityFetcher<RadarrCapabilities>, IRadarrCapabilityFetcher

@ -1,5 +1,4 @@
using Recyclarr.Config.Models;
using Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.Compatibility;

@ -1,7 +1,8 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.Compatibility;
public class ServiceInformation : IServiceInformation
{

@ -1,5 +1,3 @@
using Recyclarr.TrashLib.ApiServices.System;
namespace Recyclarr.TrashLib.Compatibility.Sonarr;
public class SonarrCapabilityFetcher : ServiceCapabilityFetcher<SonarrCapabilities>, ISonarrCapabilityFetcher

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\Recyclarr.Config\Recyclarr.Config.csproj" />
<ProjectReference Include="..\Recyclarr.ServarrApi\Recyclarr.ServarrApi.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac.Extras.Ordering" />

@ -5,10 +5,9 @@ using Recyclarr.Common.FluentValidation;
using Recyclarr.Json;
using Recyclarr.Platform;
using Recyclarr.Repo;
using Recyclarr.ServarrApi;
using Recyclarr.Settings;
using Recyclarr.TrashLib.ApiServices;
using Recyclarr.TrashLib.Compatibility;
using Recyclarr.TrashLib.Http;
using Recyclarr.VersionControl;
namespace Recyclarr.TrashLib;
@ -32,8 +31,6 @@ public class TrashLibAutofacModule : Module
builder.RegisterModule<JsonAutofacModule>();
builder.RegisterType<SettingsProvider>().As<ISettingsProvider>().SingleInstance();
builder.RegisterType<ServiceRequestBuilder>().As<IServiceRequestBuilder>();
builder.RegisterType<FlurlClientFactory>().As<IFlurlClientFactory>().SingleInstance();
}
private static void CommonRegistrations(ContainerBuilder builder)

@ -68,6 +68,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Repo", "Recyclarr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Settings", "Recyclarr.Settings\Recyclarr.Settings.csproj", "{CDB0249D-18F2-4262-BAF3-3A3DB10E31F8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.ServarrApi", "Recyclarr.ServarrApi\Recyclarr.ServarrApi.csproj", "{5B48995A-1181-46AA-AC38-C040BDD3D7B7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -178,6 +180,10 @@ Global
{CDB0249D-18F2-4262-BAF3-3A3DB10E31F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CDB0249D-18F2-4262-BAF3-3A3DB10E31F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CDB0249D-18F2-4262-BAF3-3A3DB10E31F8}.Release|Any CPU.Build.0 = Release|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -114,4 +114,5 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Persister/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=radarr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Recyclarr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Servarr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Sonarr/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

@ -1,8 +1,8 @@
using System.Diagnostics.CodeAnalysis;
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.TestLibrary;

@ -1,8 +1,8 @@
using Flurl.Http.Testing;
using Recyclarr.Cli.Pipelines.CustomFormat.Api;
using Recyclarr.Cli.TestLibrary;
using Recyclarr.Common;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
namespace Recyclarr.Cli.Tests.Pipelines.CustomFormat.Api;

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

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

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

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

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

@ -1,9 +1,9 @@
using FluentValidation.TestHelper;
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.Api;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile;

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

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

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

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

@ -3,7 +3,7 @@ using Autofac;
using Recyclarr.Platform;
using Recyclarr.TestLibrary;
using Recyclarr.TestLibrary.Autofac;
using Recyclarr.TrashLib.ApiServices.System;
using Recyclarr.TrashLib.Compatibility;
using Recyclarr.VersionControl;
namespace Recyclarr.TrashLib.TestLibrary;

Loading…
Cancel
Save