diff --git a/src/FilterLists.Api/V1/Controllers/ListsController.cs b/src/FilterLists.Api/V1/Controllers/ListsController.cs index 0fa41a990..05237fe70 100644 --- a/src/FilterLists.Api/V1/Controllers/ListsController.cs +++ b/src/FilterLists.Api/V1/Controllers/ListsController.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using FilterLists.Api.V1.Interfaces; using FilterLists.Data.Entities; -using FilterLists.Services.List; +using FilterLists.Services.FilterList; using FilterLists.Services.Seed; using FilterLists.Services.Seed.Models; using Microsoft.AspNetCore.Mvc; @@ -11,19 +11,19 @@ namespace FilterLists.Api.V1.Controllers { public class ListsController : BaseController, IGet, ISeed { - private readonly ListService listService; + private readonly FilterListService filterListService; - public ListsController(IMemoryCache memoryCache, SeedService seedService, ListService listService) : - base(memoryCache, seedService) => this.listService = listService; + public ListsController(IMemoryCache memoryCache, SeedService seedService, FilterListService filterListService) : + base(memoryCache, seedService) => this.filterListService = filterListService; [HttpGet] public async Task GetAll() => - await Get(() => listService.GetAllAsync()); + await Get(() => filterListService.GetAllAsync()); [HttpGet] [Route("{id}")] public async Task GetById(int id) => - await Get(() => listService.GetDetailsAsync(id), id); + await Get(() => filterListService.GetDetailsAsync(id), id); [HttpGet("seed")] public async Task Seed() => diff --git a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs index 5e03d2a92..61a4aac53 100644 --- a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs +++ b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs @@ -2,7 +2,6 @@ using FilterLists.Data; using FilterLists.Services.FilterList; using FilterLists.Services.Language; -using FilterLists.Services.List; using FilterLists.Services.Seed; using FilterLists.Services.Snapshot; using FilterLists.Services.Software; @@ -23,7 +22,7 @@ public static void AddFilterListsApiServices(this IServiceCollection services, I .AddDbContextPool(o => o.UseMySql(config.GetConnectionString("FilterListsConnection"), m => m.MigrationsAssembly("FilterLists.Api"))); - services.TryAddScoped(); + services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); diff --git a/src/FilterLists.Services/List/ListService.cs b/src/FilterLists.Services/FilterList/FilterListService.cs similarity index 67% rename from src/FilterLists.Services/List/ListService.cs rename to src/FilterLists.Services/FilterList/FilterListService.cs index 7e986b919..2c1b8d6c1 100644 --- a/src/FilterLists.Services/List/ListService.cs +++ b/src/FilterLists.Services/FilterList/FilterListService.cs @@ -4,22 +4,22 @@ using AutoMapper; using AutoMapper.QueryableExtensions; using FilterLists.Data; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using Microsoft.EntityFrameworkCore; -namespace FilterLists.Services.List +namespace FilterLists.Services.FilterList { - public class ListService : Service + public class FilterListService : Service { - public ListService(FilterListsDbContext dbContext, IConfigurationProvider mapConfig) + public FilterListService(FilterListsDbContext dbContext, IConfigurationProvider mapConfig) : base(dbContext, mapConfig) { } - public async Task> GetAllAsync() => + public async Task> GetAllAsync() => await DbContext.FilterLists .OrderBy(l => l.Name) - .ProjectTo(MapConfig) + .ProjectTo(MapConfig) .ToListAsync(); public async Task GetDetailsAsync(int id) => diff --git a/src/FilterLists.Services/FilterList/FilterListServiceExtensions.cs b/src/FilterLists.Services/FilterList/FilterListServiceExtensions.cs new file mode 100644 index 000000000..6315bf396 --- /dev/null +++ b/src/FilterLists.Services/FilterList/FilterListServiceExtensions.cs @@ -0,0 +1,20 @@ +using System.Linq; +using System.Threading.Tasks; +using FilterLists.Services.FilterList.Models; + +namespace FilterLists.Services.FilterList +{ + public static class FilterListServiceExtensions + { + public static async Task FilterParentListFromMaintainerAdditionalLists( + this Task listDetailsDtos) + { + foreach (var maintainer in listDetailsDtos.Result.Maintainers) + maintainer.AdditionalLists = maintainer + .AdditionalLists.Where(additionalList => + additionalList.Id != listDetailsDtos.Result.Id) + .ToList(); + return await listDetailsDtos; + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Services/List/MappingProfiles/ListDetailsDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/ListDetailsDtoMappingProfile.cs similarity index 95% rename from src/FilterLists.Services/List/MappingProfiles/ListDetailsDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/ListDetailsDtoMappingProfile.cs index 502e8f550..2e875eccb 100644 --- a/src/FilterLists.Services/List/MappingProfiles/ListDetailsDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/ListDetailsDtoMappingProfile.cs @@ -1,9 +1,9 @@ using System.Linq; using AutoMapper; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class ListDetailsDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/MappingProfiles/ListMaintainerDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/ListMaintainerDtoMappingProfile.cs similarity index 85% rename from src/FilterLists.Services/List/MappingProfiles/ListMaintainerDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/ListMaintainerDtoMappingProfile.cs index c6e9e390c..f90014515 100644 --- a/src/FilterLists.Services/List/MappingProfiles/ListMaintainerDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/ListMaintainerDtoMappingProfile.cs @@ -1,10 +1,10 @@ using System.Linq; using AutoMapper; using FilterLists.Data.Entities; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class ListMaintainerDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/MappingProfiles/ListMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/ListMappingProfile.cs similarity index 93% rename from src/FilterLists.Services/List/MappingProfiles/ListMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/ListMappingProfile.cs index 3ce9299df..153073352 100644 --- a/src/FilterLists.Services/List/MappingProfiles/ListMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/ListMappingProfile.cs @@ -1,15 +1,16 @@ using System.Collections.Generic; using System.Linq; using AutoMapper; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class ListMappingProfile : Profile { public ListMappingProfile() => - CreateMap() + CreateMap() .ForMember(dest => dest.Id, opt => opt.MapFrom(src => (int)src.Id)) diff --git a/src/FilterLists.Services/List/MappingProfiles/ListSyntaxDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/ListSyntaxDtoMappingProfile.cs similarity index 83% rename from src/FilterLists.Services/List/MappingProfiles/ListSyntaxDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/ListSyntaxDtoMappingProfile.cs index dbf8e7657..fe4f7be25 100644 --- a/src/FilterLists.Services/List/MappingProfiles/ListSyntaxDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/ListSyntaxDtoMappingProfile.cs @@ -1,10 +1,10 @@ using System.Linq; using AutoMapper; using FilterLists.Data.Entities; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class ListSyntaxDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/MappingProfiles/ListTagDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/ListTagDtoMappingProfile.cs similarity index 79% rename from src/FilterLists.Services/List/MappingProfiles/ListTagDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/ListTagDtoMappingProfile.cs index 3f93b1005..d4ff92e9c 100644 --- a/src/FilterLists.Services/List/MappingProfiles/ListTagDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/ListTagDtoMappingProfile.cs @@ -1,8 +1,8 @@ using AutoMapper; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class ListTagDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs similarity index 75% rename from src/FilterLists.Services/List/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs index 80085873e..6e3bcd78b 100644 --- a/src/FilterLists.Services/List/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/MaintainerAdditionalListsDtoMappingProfile.cs @@ -1,8 +1,9 @@ using AutoMapper; -using FilterLists.Services.List.Models; +using FilterLists.Data.Entities; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class MaintainerAdditionalListsDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs b/src/FilterLists.Services/FilterList/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs similarity index 80% rename from src/FilterLists.Services/List/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs rename to src/FilterLists.Services/FilterList/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs index dc8f34ffe..5281f1636 100644 --- a/src/FilterLists.Services/List/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs +++ b/src/FilterLists.Services/FilterList/MappingProfiles/SyntaxSupportedSoftwareDtoMappingProfile.cs @@ -1,8 +1,8 @@ using AutoMapper; -using FilterLists.Services.List.Models; +using FilterLists.Services.FilterList.Models; using JetBrains.Annotations; -namespace FilterLists.Services.List.MappingProfiles +namespace FilterLists.Services.FilterList.MappingProfiles { [UsedImplicitly] public class SyntaxSupportedSoftwareDtoMappingProfile : Profile diff --git a/src/FilterLists.Services/List/Models/List.cs b/src/FilterLists.Services/FilterList/Models/List.cs similarity index 92% rename from src/FilterLists.Services/List/Models/List.cs rename to src/FilterLists.Services/FilterList/Models/List.cs index 926a4bcd7..b186b0ee2 100644 --- a/src/FilterLists.Services/List/Models/List.cs +++ b/src/FilterLists.Services/FilterList/Models/List.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class List diff --git a/src/FilterLists.Services/List/Models/ListDetails.cs b/src/FilterLists.Services/FilterList/Models/ListDetails.cs similarity index 96% rename from src/FilterLists.Services/List/Models/ListDetails.cs rename to src/FilterLists.Services/FilterList/Models/ListDetails.cs index 2b7a71134..ae2943169 100644 --- a/src/FilterLists.Services/List/Models/ListDetails.cs +++ b/src/FilterLists.Services/FilterList/Models/ListDetails.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListDetails diff --git a/src/FilterLists.Services/List/Models/ListLanguagesDto.cs b/src/FilterLists.Services/FilterList/Models/ListLanguagesDto.cs similarity index 79% rename from src/FilterLists.Services/List/Models/ListLanguagesDto.cs rename to src/FilterLists.Services/FilterList/Models/ListLanguagesDto.cs index 2b2e9b534..547cd3181 100644 --- a/src/FilterLists.Services/List/Models/ListLanguagesDto.cs +++ b/src/FilterLists.Services/FilterList/Models/ListLanguagesDto.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListLanguagesDto diff --git a/src/FilterLists.Services/List/Models/ListLicenseDto.cs b/src/FilterLists.Services/FilterList/Models/ListLicenseDto.cs similarity index 79% rename from src/FilterLists.Services/List/Models/ListLicenseDto.cs rename to src/FilterLists.Services/FilterList/Models/ListLicenseDto.cs index a57465310..d051cba00 100644 --- a/src/FilterLists.Services/List/Models/ListLicenseDto.cs +++ b/src/FilterLists.Services/FilterList/Models/ListLicenseDto.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListLicenseDto diff --git a/src/FilterLists.Services/List/Models/ListMaintainerDto.cs b/src/FilterLists.Services/FilterList/Models/ListMaintainerDto.cs similarity index 90% rename from src/FilterLists.Services/List/Models/ListMaintainerDto.cs rename to src/FilterLists.Services/FilterList/Models/ListMaintainerDto.cs index c65f6a018..bcdc8f60d 100644 --- a/src/FilterLists.Services/List/Models/ListMaintainerDto.cs +++ b/src/FilterLists.Services/FilterList/Models/ListMaintainerDto.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListMaintainerDto diff --git a/src/FilterLists.Services/List/Models/ListSyntaxDto.cs b/src/FilterLists.Services/FilterList/Models/ListSyntaxDto.cs similarity index 86% rename from src/FilterLists.Services/List/Models/ListSyntaxDto.cs rename to src/FilterLists.Services/FilterList/Models/ListSyntaxDto.cs index 5ebe7c939..9254b0cc6 100644 --- a/src/FilterLists.Services/List/Models/ListSyntaxDto.cs +++ b/src/FilterLists.Services/FilterList/Models/ListSyntaxDto.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListSyntaxDto diff --git a/src/FilterLists.Services/List/Models/ListTagDto.cs b/src/FilterLists.Services/FilterList/Models/ListTagDto.cs similarity index 82% rename from src/FilterLists.Services/List/Models/ListTagDto.cs rename to src/FilterLists.Services/FilterList/Models/ListTagDto.cs index 76e63f0ad..f2f1843be 100644 --- a/src/FilterLists.Services/List/Models/ListTagDto.cs +++ b/src/FilterLists.Services/FilterList/Models/ListTagDto.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class ListTagDto diff --git a/src/FilterLists.Services/List/Models/MaintainerAdditionalListsDto.cs b/src/FilterLists.Services/FilterList/Models/MaintainerAdditionalListsDto.cs similarity index 79% rename from src/FilterLists.Services/List/Models/MaintainerAdditionalListsDto.cs rename to src/FilterLists.Services/FilterList/Models/MaintainerAdditionalListsDto.cs index 57d90d923..2815848ff 100644 --- a/src/FilterLists.Services/List/Models/MaintainerAdditionalListsDto.cs +++ b/src/FilterLists.Services/FilterList/Models/MaintainerAdditionalListsDto.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class MaintainerAdditionalListsDto diff --git a/src/FilterLists.Services/List/Models/SyntaxSupportedSoftwareDto.cs b/src/FilterLists.Services/FilterList/Models/SyntaxSupportedSoftwareDto.cs similarity index 82% rename from src/FilterLists.Services/List/Models/SyntaxSupportedSoftwareDto.cs rename to src/FilterLists.Services/FilterList/Models/SyntaxSupportedSoftwareDto.cs index 9c0891383..76ec24749 100644 --- a/src/FilterLists.Services/List/Models/SyntaxSupportedSoftwareDto.cs +++ b/src/FilterLists.Services/FilterList/Models/SyntaxSupportedSoftwareDto.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace FilterLists.Services.List.Models +namespace FilterLists.Services.FilterList.Models { [UsedImplicitly] public class SyntaxSupportedSoftwareDto diff --git a/src/FilterLists.Services/List/TagColors.cs b/src/FilterLists.Services/FilterList/TagColors.cs similarity index 96% rename from src/FilterLists.Services/List/TagColors.cs rename to src/FilterLists.Services/FilterList/TagColors.cs index b6b6a0ce2..1e6c5e8f3 100644 --- a/src/FilterLists.Services/List/TagColors.cs +++ b/src/FilterLists.Services/FilterList/TagColors.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; -namespace FilterLists.Services.List +namespace FilterLists.Services.FilterList { public static class TagColors { diff --git a/src/FilterLists.Services/List/ListServiceExtensions.cs b/src/FilterLists.Services/List/ListServiceExtensions.cs deleted file mode 100644 index 415cd80e1..000000000 --- a/src/FilterLists.Services/List/ListServiceExtensions.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Linq; -using System.Threading.Tasks; -using FilterLists.Services.List.Models; - -namespace FilterLists.Services.List -{ - public static class ListServiceExtensions - { - public static async Task FilterParentListFromMaintainerAdditionalLists( - this Task listDetailsDtos) - { - foreach (var maintainer in listDetailsDtos.Result.Maintainers) - maintainer.AdditionalLists = maintainer.AdditionalLists - .Where(a => a.Id != listDetailsDtos.Result.Id) - .ToList(); - return await listDetailsDtos; - } - } -} \ No newline at end of file diff --git a/src/FilterLists.Services/Service.cs b/src/FilterLists.Services/Service.cs index c08055eac..a3d81f479 100644 --- a/src/FilterLists.Services/Service.cs +++ b/src/FilterLists.Services/Service.cs @@ -5,14 +5,14 @@ namespace FilterLists.Services { [UsedImplicitly] - public abstract class Service + public class Service { protected readonly FilterListsDbContext DbContext; protected readonly IConfigurationProvider MapConfig; - protected Service(FilterListsDbContext dbContext) => DbContext = dbContext; + public Service(FilterListsDbContext dbContext) => DbContext = dbContext; - protected Service(FilterListsDbContext dbContext, IConfigurationProvider mapConfig) + public Service(FilterListsDbContext dbContext, IConfigurationProvider mapConfig) { DbContext = dbContext; MapConfig = mapConfig;