diff --git a/services/Archival/FilterLists.Archival.Api/Dockerfile b/services/Archival/FilterLists.Archival.Api/Dockerfile index f7f1a2adb..234aa3968 100644 --- a/services/Archival/FilterLists.Archival.Api/Dockerfile +++ b/services/Archival/FilterLists.Archival.Api/Dockerfile @@ -2,7 +2,6 @@ FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1-alpine3.12 AS base LABEL org.opencontainers.image.description="filterlists.com | github.com/collinbarrett/filterlists | A .NET Core app archiving copies of FilterLists for mirrors and future analysis." WORKDIR /app -EXPOSE 80 # init build FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine3.12 AS build diff --git a/services/Archival/FilterLists.Archival.Api/Startup.cs b/services/Archival/FilterLists.Archival.Api/Startup.cs index b90a36e6d..3ae7de987 100644 --- a/services/Archival/FilterLists.Archival.Api/Startup.cs +++ b/services/Archival/FilterLists.Archival.Api/Startup.cs @@ -1,6 +1,4 @@ using FilterLists.Archival.Application; -using FilterLists.Archival.Infrastructure.Scheduling; -using Hangfire; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; @@ -20,9 +18,6 @@ public Startup(IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { - services.AddRouting(o => o.LowercaseUrls = true); - services.AddControllers() - .AddJsonOptions(o => o.JsonSerializerOptions.IgnoreNullValues = true); services.AddApplicationServices(Configuration); } @@ -33,19 +28,6 @@ public static void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseDeveloperExceptionPage(); } - - app.UseStaticFiles(); - app.UseRouting(); - app.UseEndpoints(e => - { - e.MapControllers(); - e.MapHangfireDashboard(new DashboardOptions - { - PrefixPath = "/api/archival", - Authorization = new[] {new DashboardAuthorizationFilter()}, - IsReadOnlyFunc = _ => true - }); - }); } } } diff --git a/services/Archival/FilterLists.Archival.Api/dev.Dockerfile b/services/Archival/FilterLists.Archival.Api/dev.Dockerfile index f3d00904d..d8b3fb79c 100644 --- a/services/Archival/FilterLists.Archival.Api/dev.Dockerfile +++ b/services/Archival/FilterLists.Archival.Api/dev.Dockerfile @@ -1,7 +1,6 @@ # init base for Visual Studio debugging FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine3.12 AS base WORKDIR /app -EXPOSE 80 # init build FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine3.12 AS build diff --git a/services/Archival/FilterLists.Archival.Application/ConfigurationExtensions.cs b/services/Archival/FilterLists.Archival.Application/ConfigurationExtensions.cs index 725995984..269d1a55c 100644 --- a/services/Archival/FilterLists.Archival.Application/ConfigurationExtensions.cs +++ b/services/Archival/FilterLists.Archival.Application/ConfigurationExtensions.cs @@ -25,10 +25,10 @@ public static void AddApplicationServices(this IServiceCollection services, ICon public static void UseApplication(this IApplicationBuilder app) { app.UseInfrastructure(); - app.ScheduleArchival(); + ScheduleArchival(); } - private static void ScheduleArchival(this IApplicationBuilder app) + private static void ScheduleArchival() { #if DEBUG new EnqueueArchiveAllLists.Command().EnqueueBackgroundJob(); diff --git a/services/Archival/FilterLists.Archival.Domain/Extensions/UriExtension.cs b/services/Archival/FilterLists.Archival.Domain/Extensions/UriExtension.cs index 38b6063cb..5f7cc3d96 100644 --- a/services/Archival/FilterLists.Archival.Domain/Extensions/UriExtension.cs +++ b/services/Archival/FilterLists.Archival.Domain/Extensions/UriExtension.cs @@ -3,7 +3,7 @@ namespace FilterLists.Archival.Domain.Extensions { - public static class UriExtension + internal static class UriExtension { private static readonly Uri DummyBaseUri = new Uri("http://localhost"); diff --git a/services/Archival/FilterLists.Archival.Infrastructure/Persistence/GitListArchiveRepository.cs b/services/Archival/FilterLists.Archival.Infrastructure/Persistence/GitListArchiveRepository.cs index 84b877075..c4aa1b191 100644 --- a/services/Archival/FilterLists.Archival.Infrastructure/Persistence/GitListArchiveRepository.cs +++ b/services/Archival/FilterLists.Archival.Infrastructure/Persistence/GitListArchiveRepository.cs @@ -60,7 +60,7 @@ public async Task AddAsync(ListArchive listArchive, CancellationToken cancellati _logger.LogInformation("Writing {FileName}", fileInfo.Name); await using var target = fileInfo.OpenWrite(); - await segment.Content.CopyToAsync(target, cancellationToken); + await strategy.Convert(segment, cancellationToken).CopyToAsync(target, cancellationToken); _logger.LogInformation("Finished writing {FileName}", fileInfo.Name); diff --git a/services/Archival/FilterLists.Archival.Infrastructure/Scheduling/DashboardAuthorizationFilter.cs b/services/Archival/FilterLists.Archival.Infrastructure/Scheduling/DashboardAuthorizationFilter.cs deleted file mode 100644 index 1c268b4fb..000000000 --- a/services/Archival/FilterLists.Archival.Infrastructure/Scheduling/DashboardAuthorizationFilter.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Hangfire.Dashboard; - -namespace FilterLists.Archival.Infrastructure.Scheduling -{ - public class DashboardAuthorizationFilter : IDashboardAuthorizationFilter - { - public bool Authorize(DashboardContext context) - { - return true; - } - } -} diff --git a/services/FilterLists.sln.DotSettings b/services/FilterLists.sln.DotSettings index 148f60e7a..d2683192d 100644 --- a/services/FilterLists.sln.DotSettings +++ b/services/FilterLists.sln.DotSettings @@ -1,7 +1,4 @@ - + <?xml version="1.0" encoding="utf-16"?><Profile name="FilterLists Cleanup"><CSReorderTypeMembers>True</CSReorderTypeMembers><XMLReformatCode>True</XMLReformatCode><CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeBraces="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" ArrangeCodeBodyStyle="True" ArrangeVarStyle="True" ArrangeTrailingCommas="True" /><RemoveCodeRedundanciesVB>True</RemoveCodeRedundanciesVB><Xaml.RedundantFreezeAttribute>True</Xaml.RedundantFreezeAttribute><Xaml.RemoveRedundantModifiersAttribute>True</Xaml.RemoveRedundantModifiersAttribute><Xaml.RemoveRedundantNameAttribute>True</Xaml.RemoveRedundantNameAttribute><Xaml.RemoveRedundantResource>True</Xaml.RemoveRedundantResource><Xaml.RemoveRedundantCollectionProperty>True</Xaml.RemoveRedundantCollectionProperty><Xaml.RemoveRedundantAttachedPropertySetter>True</Xaml.RemoveRedundantAttachedPropertySetter><Xaml.RemoveRedundantStyledValue>True</Xaml.RemoveRedundantStyledValue><Xaml.RemoveRedundantNamespaceAlias>True</Xaml.RemoveRedundantNamespaceAlias><Xaml.RemoveForbiddenResourceName>True</Xaml.RemoveForbiddenResourceName><Xaml.RemoveRedundantGridDefinitionsAttribute>True</Xaml.RemoveRedundantGridDefinitionsAttribute><Xaml.RemoveRedundantGridSpanAttribut>True</Xaml.RemoveRedundantGridSpanAttribut><Xaml.RemoveRedundantUpdateSourceTriggerAttribute>True</Xaml.RemoveRedundantUpdateSourceTriggerAttribute><Xaml.RemoveRedundantBindingModeAttribute>True</Xaml.RemoveRedundantBindingModeAttribute><FormatAttributeQuoteDescriptor>True</FormatAttributeQuoteDescriptor><CorrectVariableKindsDescriptor>True</CorrectVariableKindsDescriptor><VariablesToInnerScopesDescriptor>True</VariablesToInnerScopesDescriptor><StringToTemplatesDescriptor>True</StringToTemplatesDescriptor><RemoveRedundantQualifiersTs>True</RemoveRedundantQualifiersTs><OptimizeImportsTs>True</OptimizeImportsTs><OptimizeReferenceCommentsTs>True</OptimizeReferenceCommentsTs><PublicModifierStyleTs>True</PublicModifierStyleTs><ExplicitAnyTs>True</ExplicitAnyTs><TypeAnnotationStyleTs>True</TypeAnnotationStyleTs><RelativePathStyleTs>True</RelativePathStyleTs><AsInsteadOfCastTs>True</AsInsteadOfCastTs><CssAlphabetizeProperties>True</CssAlphabetizeProperties><JsInsertSemicolon>True</JsInsertSemicolon><JsReformatCode>True</JsReformatCode><JsFormatDocComments>True</JsFormatDocComments><HtmlReformatCode>True</HtmlReformatCode><AspOptimizeRegisterDirectives>True</AspOptimizeRegisterDirectives><VBOptimizeImports>True</VBOptimizeImports><VBShortenReferences>True</VBShortenReferences><RemoveCodeRedundancies>True</RemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSArrangeQualifiers>True</CSArrangeQualifiers><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CssReformatCode>True</CssReformatCode><VBReformatCode>True</VBReformatCode><VBFormatDocComments>True</VBFormatDocComments><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSShortenReferences>True</CSShortenReferences><CSReformatCode>True</CSReformatCode><CSharpFormatDocComments>True</CSharpFormatDocComments></Profile> FilterLists Cleanup NEVER @@ -10,6 +7,10 @@ CHOP_IF_LONG CHOP_IF_LONG CHOP_IF_LONG + True + True + True + True True True True