diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs index f2dcacae..2528af15 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs @@ -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().As().AsSelf().InstancePerLifetimeScope(); - builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType(); diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiFetchPhase.cs b/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiFetchPhase.cs index c3d9a912..80d902a4 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiFetchPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiFetchPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiPersistencePhase.cs b/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiPersistencePhase.cs index 8b7859d4..d206ff10 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiPersistencePhase.cs +++ b/src/Recyclarr.Cli/Pipelines/CustomFormat/PipelinePhases/CustomFormatApiPersistencePhase.cs @@ -1,5 +1,5 @@ -using Recyclarr.Cli.Pipelines.CustomFormat.Api; using Recyclarr.Config.Models; +using Recyclarr.ServarrApi.Services; namespace Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiFetchPhase.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiFetchPhase.cs index 8d51cffb..c6c5156e 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiFetchPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiFetchPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiPersistencePhase.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiPersistencePhase.cs index ef47910e..f1bbcb73 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiPersistencePhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileApiPersistencePhase.cs @@ -1,5 +1,5 @@ -using Recyclarr.Cli.Pipelines.QualityProfile.Api; using Recyclarr.Config.Models; +using Recyclarr.ServarrApi.Services; namespace Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfilePreviewPhase.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfilePreviewPhase.cs index 60cf8512..48420e11 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfilePreviewPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfilePreviewPhase.cs @@ -1,4 +1,4 @@ -using Recyclarr.Cli.Pipelines.QualityProfile.Api; +using Recyclarr.ServarrApi.Dto; using Spectre.Console; using Spectre.Console.Rendering; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileStatCalculator.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileStatCalculator.cs index 35efe8c5..b66f907a 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileStatCalculator.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileStatCalculator.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs index 86511eab..c7d2c259 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityItemOrganizer.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityItemOrganizer.cs index c68564c6..1b4dcc46 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityItemOrganizer.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityItemOrganizer.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs index 14a0afd4..b87d54a4 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs @@ -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().As(); builder.RegisterType(); builder.RegisterAggregateService(); diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileExtensions.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileExtensions.cs index a5750a5c..ab9595e6 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileExtensions.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileExtensions.cs @@ -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 ReverseItemsImpl(IEnumerable items) - => items.Reverse().Select(x => x with {Items = ReverseItemsImpl(x.Items)}).ToList(); - - return dto with {Items = ReverseItemsImpl(dto.Items).AsReadOnly()}; - } } diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedFormatScore.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedFormatScore.cs index a709652f..84f83ded 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedFormatScore.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedFormatScore.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedQualityProfile.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedQualityProfile.cs index 8c67d935..26d9b0d6 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedQualityProfile.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/UpdatedQualityProfile.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiFetchPhase.cs b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiFetchPhase.cs index 2a204ecc..a7753a34 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiFetchPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiFetchPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiPersistencePhase.cs b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiPersistencePhase.cs index fa5e824c..2a9d2f52 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiPersistencePhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeApiPersistencePhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhase.cs b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhase.cs index 9b915b9d..e1d05c0d 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs index 035f9691..5e134651 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs @@ -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().As(); builder.RegisterType(); builder.RegisterAggregateService(); diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Models/ReleaseProfileTransactionData.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Models/ReleaseProfileTransactionData.cs index 7a64e19a..e5ca114f 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Models/ReleaseProfileTransactionData.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Models/ReleaseProfileTransactionData.cs @@ -1,4 +1,4 @@ -using Recyclarr.Cli.Pipelines.ReleaseProfile.Api.Objects; +using Recyclarr.ServarrApi.Dto; namespace Recyclarr.Cli.Pipelines.ReleaseProfile.Models; diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiFetchPhase.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiFetchPhase.cs index 2e62ebaa..ad6e01af 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiFetchPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiFetchPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiPersistencePhase.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiPersistencePhase.cs index a6a83fd9..f6e7cde4 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiPersistencePhase.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileApiPersistencePhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfilePreviewPhase.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfilePreviewPhase.cs index 3a1ce708..fa7d8662 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfilePreviewPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfilePreviewPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileTransactionPhase.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileTransactionPhase.cs index 12361e4b..36f184f0 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileTransactionPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/PipelinePhases/ReleaseProfileTransactionPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/ReleaseProfileAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/ReleaseProfileAutofacModule.cs index f23e6c1b..6138899c 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/ReleaseProfileAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/ReleaseProfile/ReleaseProfileAutofacModule.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiFetchPhase.cs b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiFetchPhase.cs index 692eebd6..1e80bdfe 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiFetchPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiFetchPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiPersistencePhase.cs b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiPersistencePhase.cs index 6b777739..2fd168c9 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiPersistencePhase.cs +++ b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagApiPersistencePhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagTransactionPhase.cs b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagTransactionPhase.cs index 0c0afa69..22ca0a81 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagTransactionPhase.cs +++ b/src/Recyclarr.Cli/Pipelines/Tags/PipelinePhases/TagTransactionPhase.cs @@ -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; diff --git a/src/Recyclarr.Cli/Pipelines/Tags/ServiceTagCache.cs b/src/Recyclarr.Cli/Pipelines/Tags/ServiceTagCache.cs index 79afa738..43cfea78 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/ServiceTagCache.cs +++ b/src/Recyclarr.Cli/Pipelines/Tags/ServiceTagCache.cs @@ -1,5 +1,5 @@ -using Recyclarr.Cli.Pipelines.Tags.Api; using Recyclarr.Common.Extensions; +using Recyclarr.ServarrApi.Dto; namespace Recyclarr.Cli.Pipelines.Tags; diff --git a/src/Recyclarr.Cli/Pipelines/Tags/TagsAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/Tags/TagsAutofacModule.cs index f864b68a..0b73c0c7 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/TagsAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/Tags/TagsAutofacModule.cs @@ -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; diff --git a/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs b/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs index 62e2b794..2983c6b7 100644 --- a/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs +++ b/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs @@ -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; diff --git a/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs b/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs index 8a1717ec..81bca192 100644 --- a/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs +++ b/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs @@ -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; diff --git a/src/Recyclarr.ServarrApi/ApiServicesAutofacModule.cs b/src/Recyclarr.ServarrApi/ApiServicesAutofacModule.cs new file mode 100644 index 00000000..aad148dc --- /dev/null +++ b/src/Recyclarr.ServarrApi/ApiServicesAutofacModule.cs @@ -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().As(); + builder.RegisterType().As().SingleInstance(); + builder.RegisterType().As(); + builder.RegisterType().As(); + builder.RegisterType().As(); + builder.RegisterType().As(); + } +} diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileDto.cs b/src/Recyclarr.ServarrApi/Dto/QualityProfileDto.cs similarity index 98% rename from src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileDto.cs rename to src/Recyclarr.ServarrApi/Dto/QualityProfileDto.cs index 01c89140..ce49a295 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileDto.cs +++ b/src/Recyclarr.ServarrApi/Dto/QualityProfileDto.cs @@ -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 diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/ServiceQualityDefinitionItem.cs b/src/Recyclarr.ServarrApi/Dto/ServiceQualityDefinitionItem.cs similarity index 93% rename from src/Recyclarr.Cli/Pipelines/QualitySize/Api/ServiceQualityDefinitionItem.cs rename to src/Recyclarr.ServarrApi/Dto/ServiceQualityDefinitionItem.cs index 818f777a..76144adb 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/ServiceQualityDefinitionItem.cs +++ b/src/Recyclarr.ServarrApi/Dto/ServiceQualityDefinitionItem.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace Recyclarr.Cli.Pipelines.QualitySize.Api; +namespace Recyclarr.ServarrApi.Dto; [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public class ServiceQualityItem diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/Objects/SonarrReleaseProfile.cs b/src/Recyclarr.ServarrApi/Dto/SonarrReleaseProfile.cs similarity index 94% rename from src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/Objects/SonarrReleaseProfile.cs rename to src/Recyclarr.ServarrApi/Dto/SonarrReleaseProfile.cs index 6023ea69..6631ad87 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/Objects/SonarrReleaseProfile.cs +++ b/src/Recyclarr.ServarrApi/Dto/SonarrReleaseProfile.cs @@ -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 diff --git a/src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTag.cs b/src/Recyclarr.ServarrApi/Dto/SonarrTag.cs similarity index 88% rename from src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTag.cs rename to src/Recyclarr.ServarrApi/Dto/SonarrTag.cs index 0d2233bb..ec3813e2 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTag.cs +++ b/src/Recyclarr.ServarrApi/Dto/SonarrTag.cs @@ -1,7 +1,7 @@ using JetBrains.Annotations; using Recyclarr.Common; -namespace Recyclarr.Cli.Pipelines.Tags.Api; +namespace Recyclarr.ServarrApi.Dto; public class SonarrTag { diff --git a/src/Recyclarr.TrashLib/ApiServices/System/Dto/SystemStatus.cs b/src/Recyclarr.ServarrApi/Dto/SystemStatus.cs similarity index 57% rename from src/Recyclarr.TrashLib/ApiServices/System/Dto/SystemStatus.cs rename to src/Recyclarr.ServarrApi/Dto/SystemStatus.cs index afb559d0..864e85ec 100644 --- a/src/Recyclarr.TrashLib/ApiServices/System/Dto/SystemStatus.cs +++ b/src/Recyclarr.ServarrApi/Dto/SystemStatus.cs @@ -1,4 +1,4 @@ -namespace Recyclarr.TrashLib.ApiServices.System.Dto; +namespace Recyclarr.ServarrApi.Dto; public record SystemStatus( string AppName, diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/DtoUtil.cs b/src/Recyclarr.ServarrApi/DtoUtil.cs similarity index 79% rename from src/Recyclarr.Cli/Pipelines/QualityProfile/Api/DtoUtil.cs rename to src/Recyclarr.ServarrApi/DtoUtil.cs index 9392a372..d7f4de8f 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/DtoUtil.cs +++ b/src/Recyclarr.ServarrApi/DtoUtil.cs @@ -1,4 +1,4 @@ -namespace Recyclarr.Cli.Pipelines.QualityProfile.Api; +namespace Recyclarr.ServarrApi; public static class DtoUtil { diff --git a/src/Recyclarr.ServarrApi/Extensions/QualityProfileApiExtensions.cs b/src/Recyclarr.ServarrApi/Extensions/QualityProfileApiExtensions.cs new file mode 100644 index 00000000..e3fad0cc --- /dev/null +++ b/src/Recyclarr.ServarrApi/Extensions/QualityProfileApiExtensions.cs @@ -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 ReverseItemsImpl(IEnumerable items) + => items.Reverse().Select(x => x with {Items = ReverseItemsImpl(x.Items)}).ToList(); + } +} diff --git a/src/Recyclarr.TrashLib/Http/FlurlClientFactory.cs b/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs similarity index 96% rename from src/Recyclarr.TrashLib/Http/FlurlClientFactory.cs rename to src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs index 48d385da..b5fbda86 100644 --- a/src/Recyclarr.TrashLib/Http/FlurlClientFactory.cs +++ b/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/Http/FlurlExtensions.cs b/src/Recyclarr.ServarrApi/Http/FlurlExtensions.cs similarity index 96% rename from src/Recyclarr.TrashLib/Http/FlurlExtensions.cs rename to src/Recyclarr.ServarrApi/Http/FlurlExtensions.cs index c7ca24f9..9bbd570d 100644 --- a/src/Recyclarr.TrashLib/Http/FlurlExtensions.cs +++ b/src/Recyclarr.ServarrApi/Http/FlurlExtensions.cs @@ -1,7 +1,7 @@ using System.Text.RegularExpressions; using Flurl.Http; -namespace Recyclarr.TrashLib.Http; +namespace Recyclarr.ServarrApi.Http; public static partial class FlurlExtensions { diff --git a/src/Recyclarr.TrashLib/Http/FlurlLogging.cs b/src/Recyclarr.ServarrApi/Http/FlurlLogging.cs similarity index 97% rename from src/Recyclarr.TrashLib/Http/FlurlLogging.cs rename to src/Recyclarr.ServarrApi/Http/FlurlLogging.cs index 4ff8b8ab..02a36eee 100644 --- a/src/Recyclarr.TrashLib/Http/FlurlLogging.cs +++ b/src/Recyclarr.ServarrApi/Http/FlurlLogging.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/Http/IFlurlClientFactory.cs b/src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs similarity index 73% rename from src/Recyclarr.TrashLib/Http/IFlurlClientFactory.cs rename to src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs index 2eb3a33e..a384dc13 100644 --- a/src/Recyclarr.TrashLib/Http/IFlurlClientFactory.cs +++ b/src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs @@ -1,6 +1,6 @@ using Flurl.Http; -namespace Recyclarr.TrashLib.Http; +namespace Recyclarr.ServarrApi.Http; public interface IFlurlClientFactory { diff --git a/src/Recyclarr.TrashLib/Http/IServiceRequestBuilder.cs b/src/Recyclarr.ServarrApi/Http/IServiceRequestBuilder.cs similarity index 82% rename from src/Recyclarr.TrashLib/Http/IServiceRequestBuilder.cs rename to src/Recyclarr.ServarrApi/Http/IServiceRequestBuilder.cs index bbfd1e97..eb1f76eb 100644 --- a/src/Recyclarr.TrashLib/Http/IServiceRequestBuilder.cs +++ b/src/Recyclarr.ServarrApi/Http/IServiceRequestBuilder.cs @@ -1,7 +1,7 @@ using Flurl.Http; using Recyclarr.Config.Models; -namespace Recyclarr.TrashLib.Http; +namespace Recyclarr.ServarrApi.Http; public interface IServiceRequestBuilder { diff --git a/src/Recyclarr.TrashLib/Http/ServiceRequestBuilder.cs b/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs similarity index 94% rename from src/Recyclarr.TrashLib/Http/ServiceRequestBuilder.cs rename to src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs index 080a30d6..8840804b 100644 --- a/src/Recyclarr.TrashLib/Http/ServiceRequestBuilder.cs +++ b/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs @@ -1,7 +1,7 @@ using Flurl.Http; using Recyclarr.Config.Models; -namespace Recyclarr.TrashLib.Http; +namespace Recyclarr.ServarrApi.Http; public class ServiceRequestBuilder : IServiceRequestBuilder { diff --git a/src/Recyclarr.ServarrApi/Recyclarr.ServarrApi.csproj b/src/Recyclarr.ServarrApi/Recyclarr.ServarrApi.csproj new file mode 100644 index 00000000..00af1d7d --- /dev/null +++ b/src/Recyclarr.ServarrApi/Recyclarr.ServarrApi.csproj @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/Api/CustomFormatService.cs b/src/Recyclarr.ServarrApi/Services/CustomFormatService.cs similarity index 94% rename from src/Recyclarr.Cli/Pipelines/CustomFormat/Api/CustomFormatService.cs rename to src/Recyclarr.ServarrApi/Services/CustomFormatService.cs index 73af5d84..b14d19e4 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/Api/CustomFormatService.cs +++ b/src/Recyclarr.ServarrApi/Services/CustomFormatService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/Api/ICustomFormatService.cs b/src/Recyclarr.ServarrApi/Services/ICustomFormatService.cs similarity index 91% rename from src/Recyclarr.Cli/Pipelines/CustomFormat/Api/ICustomFormatService.cs rename to src/Recyclarr.ServarrApi/Services/ICustomFormatService.cs index ae6a5601..33a68b9e 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/Api/ICustomFormatService.cs +++ b/src/Recyclarr.ServarrApi/Services/ICustomFormatService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/IQualityDefinitionService.cs b/src/Recyclarr.ServarrApi/Services/IQualityDefinitionService.cs similarity index 82% rename from src/Recyclarr.Cli/Pipelines/QualitySize/Api/IQualityDefinitionService.cs rename to src/Recyclarr.ServarrApi/Services/IQualityDefinitionService.cs index aa0820a9..22d853f4 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/IQualityDefinitionService.cs +++ b/src/Recyclarr.ServarrApi/Services/IQualityDefinitionService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/IQualityProfileService.cs b/src/Recyclarr.ServarrApi/Services/IQualityProfileService.cs similarity index 84% rename from src/Recyclarr.Cli/Pipelines/QualityProfile/Api/IQualityProfileService.cs rename to src/Recyclarr.ServarrApi/Services/IQualityProfileService.cs index 8069f73a..5ea4b6b3 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/IQualityProfileService.cs +++ b/src/Recyclarr.ServarrApi/Services/IQualityProfileService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/IReleaseProfileApiService.cs b/src/Recyclarr.ServarrApi/Services/IReleaseProfileApiService.cs similarity index 80% rename from src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/IReleaseProfileApiService.cs rename to src/Recyclarr.ServarrApi/Services/IReleaseProfileApiService.cs index f76c504a..a1c2940a 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/IReleaseProfileApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/IReleaseProfileApiService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/Tags/Api/ISonarrTagApiService.cs b/src/Recyclarr.ServarrApi/Services/ISonarrTagApiService.cs similarity index 74% rename from src/Recyclarr.Cli/Pipelines/Tags/Api/ISonarrTagApiService.cs rename to src/Recyclarr.ServarrApi/Services/ISonarrTagApiService.cs index b70783c5..66cc910c 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/Api/ISonarrTagApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/ISonarrTagApiService.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/ApiServices/System/ISystemApiService.cs b/src/Recyclarr.ServarrApi/Services/ISystemApiService.cs similarity index 58% rename from src/Recyclarr.TrashLib/ApiServices/System/ISystemApiService.cs rename to src/Recyclarr.ServarrApi/Services/ISystemApiService.cs index 8494ef15..9b112041 100644 --- a/src/Recyclarr.TrashLib/ApiServices/System/ISystemApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/ISystemApiService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/QualityDefinitionService.cs b/src/Recyclarr.ServarrApi/Services/QualityDefinitionService.cs similarity index 89% rename from src/Recyclarr.Cli/Pipelines/QualitySize/Api/QualityDefinitionService.cs rename to src/Recyclarr.ServarrApi/Services/QualityDefinitionService.cs index 4a3c3ec7..b1ec6f69 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/Api/QualityDefinitionService.cs +++ b/src/Recyclarr.ServarrApi/Services/QualityDefinitionService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileService.cs b/src/Recyclarr.ServarrApi/Services/QualityProfileService.cs similarity index 91% rename from src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileService.cs rename to src/Recyclarr.ServarrApi/Services/QualityProfileService.cs index ce3c3f4d..3de31844 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/Api/QualityProfileService.cs +++ b/src/Recyclarr.ServarrApi/Services/QualityProfileService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/ReleaseProfileApiService.cs b/src/Recyclarr.ServarrApi/Services/ReleaseProfileApiService.cs similarity index 89% rename from src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/ReleaseProfileApiService.cs rename to src/Recyclarr.ServarrApi/Services/ReleaseProfileApiService.cs index ff9f1af6..7c0a630a 100644 --- a/src/Recyclarr.Cli/Pipelines/ReleaseProfile/Api/ReleaseProfileApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/ReleaseProfileApiService.cs @@ -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 { diff --git a/src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTagApiService.cs b/src/Recyclarr.ServarrApi/Services/SonarrTagApiService.cs similarity index 86% rename from src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTagApiService.cs rename to src/Recyclarr.ServarrApi/Services/SonarrTagApiService.cs index ab217f56..eb144244 100644 --- a/src/Recyclarr.Cli/Pipelines/Tags/Api/SonarrTagApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/SonarrTagApiService.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/ApiServices/System/SystemApiService.cs b/src/Recyclarr.ServarrApi/Services/SystemApiService.cs similarity index 78% rename from src/Recyclarr.TrashLib/ApiServices/System/SystemApiService.cs rename to src/Recyclarr.ServarrApi/Services/SystemApiService.cs index 59c56f6b..2fcd2424 100644 --- a/src/Recyclarr.TrashLib/ApiServices/System/SystemApiService.cs +++ b/src/Recyclarr.ServarrApi/Services/SystemApiService.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/ApiServices/ApiServicesAutofacModule.cs b/src/Recyclarr.TrashLib/ApiServices/ApiServicesAutofacModule.cs deleted file mode 100644 index d7784acd..00000000 --- a/src/Recyclarr.TrashLib/ApiServices/ApiServicesAutofacModule.cs +++ /dev/null @@ -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().As(); - builder.RegisterType().As() - .InstancePerLifetimeScope(); - } -} diff --git a/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs b/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs index 2d638c21..f7dbd2a7 100644 --- a/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs +++ b/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs @@ -11,6 +11,8 @@ public class CompatibilityAutofacModule : Module base.Load(builder); builder.RegisterType(); + builder.RegisterType().As() + .InstancePerLifetimeScope(); // Sonarr builder.RegisterType().As(); diff --git a/src/Recyclarr.TrashLib/ApiServices/System/IServiceInformation.cs b/src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs similarity index 74% rename from src/Recyclarr.TrashLib/ApiServices/System/IServiceInformation.cs rename to src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs index 908a49a6..ee1e6a6d 100644 --- a/src/Recyclarr.TrashLib/ApiServices/System/IServiceInformation.cs +++ b/src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs @@ -1,6 +1,6 @@ using Recyclarr.Config.Models; -namespace Recyclarr.TrashLib.ApiServices.System; +namespace Recyclarr.TrashLib.Compatibility; public interface IServiceInformation { diff --git a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs b/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs index 6f91b14e..4138a3a8 100644 --- a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs +++ b/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs @@ -1,5 +1,3 @@ -using Recyclarr.TrashLib.ApiServices.System; - namespace Recyclarr.TrashLib.Compatibility.Radarr; public class RadarrCapabilityFetcher : ServiceCapabilityFetcher, IRadarrCapabilityFetcher diff --git a/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs b/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs index d7d767ff..073856ec 100644 --- a/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs +++ b/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs @@ -1,5 +1,4 @@ using Recyclarr.Config.Models; -using Recyclarr.TrashLib.ApiServices.System; namespace Recyclarr.TrashLib.Compatibility; diff --git a/src/Recyclarr.TrashLib/ApiServices/System/ServiceInformation.cs b/src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs similarity index 90% rename from src/Recyclarr.TrashLib/ApiServices/System/ServiceInformation.cs rename to src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs index e04ecd73..e154c68b 100644 --- a/src/Recyclarr.TrashLib/ApiServices/System/ServiceInformation.cs +++ b/src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs @@ -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 { diff --git a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs b/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs index a8b80f83..19b849c9 100644 --- a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs +++ b/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs @@ -1,5 +1,3 @@ -using Recyclarr.TrashLib.ApiServices.System; - namespace Recyclarr.TrashLib.Compatibility.Sonarr; public class SonarrCapabilityFetcher : ServiceCapabilityFetcher, ISonarrCapabilityFetcher diff --git a/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj b/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj index 63e92c70..b9908d2e 100644 --- a/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj +++ b/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj @@ -1,6 +1,7 @@ + diff --git a/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs b/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs index 93b96d7f..bd616412 100644 --- a/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs +++ b/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs @@ -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(); builder.RegisterType().As().SingleInstance(); - builder.RegisterType().As(); - builder.RegisterType().As().SingleInstance(); } private static void CommonRegistrations(ContainerBuilder builder) diff --git a/src/Recyclarr.sln b/src/Recyclarr.sln index d3fe0e07..a1cb5d4f 100644 --- a/src/Recyclarr.sln +++ b/src/Recyclarr.sln @@ -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 diff --git a/src/Recyclarr.sln.DotSettings b/src/Recyclarr.sln.DotSettings index 9a0660c8..0ca91d85 100644 --- a/src/Recyclarr.sln.DotSettings +++ b/src/Recyclarr.sln.DotSettings @@ -114,4 +114,5 @@ True True True + True True \ No newline at end of file diff --git a/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs b/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs index a099045e..22e6019a 100644 --- a/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs +++ b/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs index f7361bc5..683c6a03 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs index dcc1fad1..389ff89c 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs index 09ab3e09..9607cd1c 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs index 75607b84..c2f0c4a8 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs index 4e3c7018..852b6ebd 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs @@ -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 diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs index c712ec0d..4b4d14f3 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs index 7b81447b..4691adee 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhaseTest.cs index f54760f6..951cdd8b 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhaseTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualitySize/PipelinePhases/QualitySizeTransactionPhaseTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiFetchPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiFetchPhaseTest.cs index 4b5ef729..5becc673 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiFetchPhaseTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiFetchPhaseTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiPersistencePhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiPersistencePhaseTest.cs index ac865451..431de4bb 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiPersistencePhaseTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagApiPersistencePhaseTest.cs @@ -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; diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagTransactionPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagTransactionPhaseTest.cs index bc226edc..fb3cf16d 100644 --- a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagTransactionPhaseTest.cs +++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagTransactionPhaseTest.cs @@ -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; diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs b/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs index 580e3f1b..8ddf1556 100644 --- a/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs +++ b/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs @@ -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;