mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
re-structure Services
This commit is contained in:
parent
a4aebd4991
commit
d29b6ff2ee
31 changed files with 96 additions and 83 deletions
|
|
@ -1,8 +1,14 @@
|
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:s="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml"
|
||||
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
|
||||
</wpf:ResourceDictionary>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.Models.Seed.Junctions;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models.Junctions;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.FilterListService;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.Models.Seed.Junctions;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models.Junctions;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.Models.Seed.Junctions;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models.Junctions;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.Models.Seed.Junctions;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models.Junctions;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.ScrapeService;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.Models.Seed.Junctions;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models.Junctions;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System.Threading.Tasks;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models.Seed;
|
||||
using FilterLists.Services.Services;
|
||||
using FilterLists.Services.SeedService;
|
||||
using FilterLists.Services.SeedService.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace FilterLists.Api.V1.Controllers
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using AutoMapper;
|
||||
using FilterLists.Data;
|
||||
using FilterLists.Services.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
|
@ -16,9 +15,9 @@ public static void AddFilterListsServices(this IServiceCollection services, ICon
|
|||
services.AddEntityFrameworkMySql().AddDbContextPool<FilterListsDbContext>(options =>
|
||||
options.UseMySql(configuration.GetConnectionString("FilterListsConnection"),
|
||||
b => b.MigrationsAssembly("FilterLists.Api")));
|
||||
services.TryAddScoped<SeedService>();
|
||||
services.TryAddScoped<FilterListService>();
|
||||
services.TryAddScoped<ScrapeService>();
|
||||
services.TryAddScoped<SeedService.SeedService>();
|
||||
services.TryAddScoped<FilterListService.FilterListService>();
|
||||
services.TryAddScoped<ScrapeService.ScrapeService>();
|
||||
services.AddAutoMapper();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
using AutoMapper.QueryableExtensions;
|
||||
using FilterLists.Data;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Services.Models;
|
||||
using FilterLists.Services.FilterListService.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Services.Services
|
||||
namespace FilterLists.Services.FilterListService
|
||||
{
|
||||
public class FilterListService
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models
|
||||
namespace FilterLists.Services.FilterListService.Models
|
||||
{
|
||||
public class FilterListSummaryDto
|
||||
{
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace FilterLists.Services.ScrapeService.Models
|
||||
{
|
||||
public class FilterListViewUrlDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string ViewUrl { get; set; }
|
||||
}
|
||||
}
|
||||
34
src/FilterLists.Services/ScrapeService/Models/Snapshot.cs
Normal file
34
src/FilterLists.Services/ScrapeService/Models/Snapshot.cs
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
using System;
|
||||
|
||||
namespace FilterLists.Services.ScrapeService.Models
|
||||
{
|
||||
public class Snapshot
|
||||
{
|
||||
public string Content
|
||||
{
|
||||
set
|
||||
{
|
||||
if (value == null) return;
|
||||
var rawRules = value.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.RemoveEmptyEntries);
|
||||
for (var i = 0; i < rawRules.Length; i++)
|
||||
rawRules[i] = LintStringForMySql(rawRules[i]);
|
||||
RawRules = rawRules;
|
||||
}
|
||||
}
|
||||
|
||||
public int FilterListId { get; set; }
|
||||
|
||||
public string[] RawRules { get; private set; }
|
||||
|
||||
private static string LintStringForMySql(string rule)
|
||||
{
|
||||
rule = TrimSingleBackslashFromEnd(rule);
|
||||
return rule;
|
||||
}
|
||||
|
||||
private static string TrimSingleBackslashFromEnd(string rule)
|
||||
{
|
||||
return rule.EndsWith(@"\") && !rule.EndsWith(@"\\") ? rule.Remove(rule.Length - 1) : rule;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,9 +7,10 @@
|
|||
using FilterLists.Data;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Data.Entities.Junctions;
|
||||
using FilterLists.Services.ScrapeService.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Services.Services
|
||||
namespace FilterLists.Services.ScrapeService
|
||||
{
|
||||
public class ScrapeService
|
||||
{
|
||||
|
|
@ -114,41 +115,5 @@ private async Task AddOrUpdateRules(Snapshot snapshot)
|
|||
|
||||
await dbContext.SaveChangesAsync();
|
||||
}
|
||||
|
||||
private class FilterListViewUrlDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string ViewUrl { get; set; }
|
||||
}
|
||||
|
||||
private class Snapshot
|
||||
{
|
||||
public string Content
|
||||
{
|
||||
set
|
||||
{
|
||||
if (value == null) return;
|
||||
var rawRules = value.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.RemoveEmptyEntries);
|
||||
for (var i = 0; i < rawRules.Length; i++)
|
||||
rawRules[i] = LintStringForMySql(rawRules[i]);
|
||||
RawRules = rawRules;
|
||||
}
|
||||
}
|
||||
|
||||
public int FilterListId { get; set; }
|
||||
|
||||
public string[] RawRules { get; private set; }
|
||||
|
||||
private static string LintStringForMySql(string rule)
|
||||
{
|
||||
rule = TrimSingleBackslashFromEnd(rule);
|
||||
return rule;
|
||||
}
|
||||
|
||||
private static string TrimSingleBackslashFromEnd(string rule)
|
||||
{
|
||||
return rule.EndsWith(@"\") && !rule.EndsWith(@"\\") ? rule.Remove(rule.Length - 1) : rule;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
using System;
|
||||
|
||||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class FilterListSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed.Junctions
|
||||
namespace FilterLists.Services.SeedService.Models.Junctions
|
||||
{
|
||||
public class FilterListLanguageSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed.Junctions
|
||||
namespace FilterLists.Services.SeedService.Models.Junctions
|
||||
{
|
||||
public class FilterListMaintainerSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed.Junctions
|
||||
namespace FilterLists.Services.SeedService.Models.Junctions
|
||||
{
|
||||
public class ForkSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed.Junctions
|
||||
namespace FilterLists.Services.SeedService.Models.Junctions
|
||||
{
|
||||
public class MergeSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed.Junctions
|
||||
namespace FilterLists.Services.SeedService.Models.Junctions
|
||||
{
|
||||
public class SoftwareSyntaxSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class LanguageSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class LicenseSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class MaintainerSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class SoftwareSeedDto
|
||||
{
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
namespace FilterLists.Services.Models.Seed
|
||||
namespace FilterLists.Services.SeedService.Models
|
||||
{
|
||||
public class SyntaxSeedDto
|
||||
{
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
using FilterLists.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Services.Services
|
||||
namespace FilterLists.Services.SeedService
|
||||
{
|
||||
public class SeedService
|
||||
{
|
||||
Loading…
Reference in a new issue