diff --git a/data/FilterListLanguage.json b/data/FilterListLanguage.json index aed9c88bf..b97a40039 100644 --- a/data/FilterListLanguage.json +++ b/data/FilterListLanguage.json @@ -1,12 +1,4 @@ [ - { - "filterListId": 20, - "languageId": 44 - }, - { - "filterListId": 14, - "languageId": 122 - }, { "filterListId": 1, "languageId": 141 @@ -15,6 +7,14 @@ "filterListId": 6, "languageId": 141 }, + { + "filterListId": 12, + "languageId": 163 + }, + { + "filterListId": 14, + "languageId": 122 + }, { "filterListId": 15, "languageId": 154 @@ -24,37 +24,13 @@ "languageId": 154 }, { - "filterListId": 12, - "languageId": 163 - }, - { - "filterListId": 315, - "languageId": 11 - }, - { - "filterListId": 316, - "languageId": 48 + "filterListId": 20, + "languageId": 44 }, { "filterListId": 30, "languageId": 11 }, - { - "filterListId": 216, - "languageId": 11 - }, - { - "filterListId": 224, - "languageId": 11 - }, - { - "filterListId": 84, - "languageId": 11 - }, - { - "filterListId": 223, - "languageId": 11 - }, { "filterListId": 60, "languageId": 11 @@ -63,6 +39,30 @@ "filterListId": 61, "languageId": 11 }, + { + "filterListId": 84, + "languageId": 11 + }, + { + "filterListId": 216, + "languageId": 11 + }, + { + "filterListId": 223, + "languageId": 11 + }, + { + "filterListId": 224, + "languageId": 11 + }, + { + "filterListId": 315, + "languageId": 11 + }, + { + "filterListId": 316, + "languageId": 48 + }, { "filterListId": 326, "languageId": 141 diff --git a/data/FilterListMaintainer.json b/data/FilterListMaintainer.json index aa8bec63f..884caa0cc 100644 --- a/data/FilterListMaintainer.json +++ b/data/FilterListMaintainer.json @@ -91,6 +91,14 @@ "filterListId": 20, "maintainerId": 22 }, + { + "filterListId": 327, + "maintainerId": 22 + }, + { + "filterListId": 328, + "maintainerId": 22 + }, { "filterListId": 23, "maintainerId": 23 @@ -231,22 +239,22 @@ "filterListId": 324, "maintainerId": 31 }, - { - "filterListId": 216, - "maintainerId": 32 - }, - { - "filterListId": 224, - "maintainerId": 32 - }, { "filterListId": 84, "maintainerId": 32 }, + { + "filterListId": 216, + "maintainerId": 32 + }, { "filterListId": 223, "maintainerId": 32 }, + { + "filterListId": 224, + "maintainerId": 32 + }, { "filterListId": 60, "maintainerId": 33 @@ -267,14 +275,6 @@ "filterListId": 326, "maintainerId": 36 }, - { - "filterListId": 327, - "maintainerId": 22 - }, - { - "filterListId": 328, - "maintainerId": 22 - }, { "filterListId": 329, "maintainerId": 37 diff --git a/data/Merge.json b/data/Merge.json index 02978cd8f..5ab284024 100644 --- a/data/Merge.json +++ b/data/Merge.json @@ -3,6 +3,10 @@ "mergeFilterListId": 11, "upstreamFilterListId": 12 }, + { + "mergeFilterListId": 11, + "upstreamFilterListId": 301 + }, { "mergeFilterListId": 13, "upstreamFilterListId": 12 @@ -11,17 +15,37 @@ "mergeFilterListId": 13, "upstreamFilterListId": 14 }, + { + "mergeFilterListId": 13, + "upstreamFilterListId": 301 + }, { "mergeFilterListId": 21, "upstreamFilterListId": 23 }, { - "mergeFilterListId": 22, - "upstreamFilterListId": 24 + "mergeFilterListId": 21, + "upstreamFilterListId": 75 }, { - "mergeFilterListId": 120, - "upstreamFilterListId": 25 + "mergeFilterListId": 21, + "upstreamFilterListId": 121 + }, + { + "mergeFilterListId": 21, + "upstreamFilterListId": 123 + }, + { + "mergeFilterListId": 21, + "upstreamFilterListId": 125 + }, + { + "mergeFilterListId": 21, + "upstreamFilterListId": 130 + }, + { + "mergeFilterListId": 22, + "upstreamFilterListId": 24 }, { "mergeFilterListId": 22, @@ -31,41 +55,33 @@ "mergeFilterListId": 22, "upstreamFilterListId": 37 }, - { - "mergeFilterListId": 21, - "upstreamFilterListId": 75 - }, - { - "mergeFilterListId": 120, - "upstreamFilterListId": 76 - }, { "mergeFilterListId": 22, "upstreamFilterListId": 77 }, - { - "mergeFilterListId": 21, - "upstreamFilterListId": 121 - }, { "mergeFilterListId": 22, "upstreamFilterListId": 122 }, - { - "mergeFilterListId": 21, - "upstreamFilterListId": 123 - }, { "mergeFilterListId": 22, "upstreamFilterListId": 124 }, { - "mergeFilterListId": 21, - "upstreamFilterListId": 125 + "mergeFilterListId": 22, + "upstreamFilterListId": 126 }, { "mergeFilterListId": 22, - "upstreamFilterListId": 126 + "upstreamFilterListId": 129 + }, + { + "mergeFilterListId": 120, + "upstreamFilterListId": 25 + }, + { + "mergeFilterListId": 120, + "upstreamFilterListId": 76 }, { "mergeFilterListId": 120, @@ -76,32 +92,32 @@ "upstreamFilterListId": 128 }, { - "mergeFilterListId": 22, - "upstreamFilterListId": 129 + "mergeFilterListId": 168, + "upstreamFilterListId": 157 }, { - "mergeFilterListId": 21, - "upstreamFilterListId": 130 + "mergeFilterListId": 168, + "upstreamFilterListId": 159 }, { - "mergeFilterListId": 11, + "mergeFilterListId": 168, + "upstreamFilterListId": 162 + }, + { + "mergeFilterListId": 168, + "upstreamFilterListId": 166 + }, + { + "mergeFilterListId": 168, + "upstreamFilterListId": 242 + }, + { + "mergeFilterListId": 168, "upstreamFilterListId": 301 }, { - "mergeFilterListId": 13, - "upstreamFilterListId": 301 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 47 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 282 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 179 + "mergeFilterListId": 271, + "upstreamFilterListId": 338 }, { "mergeFilterListId": 309, @@ -109,7 +125,7 @@ }, { "mergeFilterListId": 309, - "upstreamFilterListId": 276 + "upstreamFilterListId": 32 }, { "mergeFilterListId": 309, @@ -117,32 +133,12 @@ }, { "mergeFilterListId": 309, - "upstreamFilterListId": 32 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 206 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 255 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 226 + "upstreamFilterListId": 47 }, { "mergeFilterListId": 309, "upstreamFilterListId": 54 }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 99 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 170 - }, { "mergeFilterListId": 309, "upstreamFilterListId": 80 @@ -151,37 +147,45 @@ "mergeFilterListId": 309, "upstreamFilterListId": 81 }, + { + "mergeFilterListId": 309, + "upstreamFilterListId": 99 + }, { "mergeFilterListId": 309, "upstreamFilterListId": 138 }, + { + "mergeFilterListId": 309, + "upstreamFilterListId": 170 + }, { "mergeFilterListId": 309, "upstreamFilterListId": 177 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 166 + "mergeFilterListId": 309, + "upstreamFilterListId": 179 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 159 + "mergeFilterListId": 309, + "upstreamFilterListId": 206 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 157 + "mergeFilterListId": 309, + "upstreamFilterListId": 226 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 162 + "mergeFilterListId": 309, + "upstreamFilterListId": 255 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 301 + "mergeFilterListId": 309, + "upstreamFilterListId": 276 }, { - "mergeFilterListId": 168, - "upstreamFilterListId": 242 + "mergeFilterListId": 309, + "upstreamFilterListId": 282 }, { "mergeFilterListId": 309, @@ -208,13 +212,17 @@ "upstreamFilterListId": 329 }, { - "mergeFilterListId": 331, - "upstreamFilterListId": 330 + "mergeFilterListId": 309, + "upstreamFilterListId": 340 }, { "mergeFilterListId": 331, "upstreamFilterListId": 199 }, + { + "mergeFilterListId": 331, + "upstreamFilterListId": 330 + }, { "mergeFilterListId": 331, "upstreamFilterListId": 332 @@ -222,13 +230,5 @@ { "mergeFilterListId": 331, "upstreamFilterListId": 333 - }, - { - "mergeFilterListId": 271, - "upstreamFilterListId": 338 - }, - { - "mergeFilterListId": 309, - "upstreamFilterListId": 340 } ] \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/ForksController.cs b/src/FilterLists.Api/V1/Controllers/ForksController.cs index e62a0322e..2942b6ab2 100644 --- a/src/FilterLists.Api/V1/Controllers/ForksController.cs +++ b/src/FilterLists.Api/V1/Controllers/ForksController.cs @@ -18,7 +18,9 @@ public ForksController(SeedService seedService) [HttpGet] public async Task Seed() { - return Json(await seedService.GetAllAsync()); + return Json(await seedService.GetAllAsync( + typeof(Fork).GetProperty("UpstreamFilterListId"), + typeof(Fork).GetProperty("ForkFilterListId"))); } } } \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/ListsLanguagesController.cs b/src/FilterLists.Api/V1/Controllers/ListsLanguagesController.cs index 0fe61dbac..303545ad3 100644 --- a/src/FilterLists.Api/V1/Controllers/ListsLanguagesController.cs +++ b/src/FilterLists.Api/V1/Controllers/ListsLanguagesController.cs @@ -18,7 +18,9 @@ public ListsLanguagesController(SeedService seedService) [HttpGet] public async Task Seed() { - return Json(await seedService.GetAllAsync()); + return Json(await seedService.GetAllAsync( + typeof(FilterListLanguage).GetProperty("FilterListId"), + typeof(FilterListLanguage).GetProperty("LanguageId"))); } } } \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/ListsMaintainersController.cs b/src/FilterLists.Api/V1/Controllers/ListsMaintainersController.cs index c4b2e35c9..853164350 100644 --- a/src/FilterLists.Api/V1/Controllers/ListsMaintainersController.cs +++ b/src/FilterLists.Api/V1/Controllers/ListsMaintainersController.cs @@ -18,7 +18,9 @@ public ListsMaintainersController(SeedService seedService) [HttpGet] public async Task Seed() { - return Json(await seedService.GetAllAsync()); + return Json(await seedService.GetAllAsync( + typeof(FilterListMaintainer).GetProperty("MaintainerId"), + typeof(FilterListMaintainer).GetProperty("FilterListId"))); } } } \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/MergesController.cs b/src/FilterLists.Api/V1/Controllers/MergesController.cs index 59897bded..0c169c6d3 100644 --- a/src/FilterLists.Api/V1/Controllers/MergesController.cs +++ b/src/FilterLists.Api/V1/Controllers/MergesController.cs @@ -18,7 +18,9 @@ public MergesController(SeedService seedService) [HttpGet] public async Task Seed() { - return Json(await seedService.GetAllAsync()); + return Json(await seedService.GetAllAsync( + typeof(Merge).GetProperty("MergeFilterListId"), + typeof(Merge).GetProperty("UpstreamFilterListId"))); } } } \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/SoftwareSyntaxesController.cs b/src/FilterLists.Api/V1/Controllers/SoftwareSyntaxesController.cs index 61442d813..5390e7307 100644 --- a/src/FilterLists.Api/V1/Controllers/SoftwareSyntaxesController.cs +++ b/src/FilterLists.Api/V1/Controllers/SoftwareSyntaxesController.cs @@ -18,7 +18,9 @@ public SoftwareSyntaxesController(SeedService seedService) [HttpGet] public async Task Seed() { - return Json(await seedService.GetAllAsync()); + return Json(await seedService.GetAllAsync( + typeof(SoftwareSyntax).GetProperty("SyntaxId"), + typeof(SoftwareSyntax).GetProperty("SoftwareId"))); } } } \ No newline at end of file diff --git a/src/FilterLists.Services/SeedService/SeedService.cs b/src/FilterLists.Services/SeedService/SeedService.cs index f806a657a..c1fb1dd43 100644 --- a/src/FilterLists.Services/SeedService/SeedService.cs +++ b/src/FilterLists.Services/SeedService/SeedService.cs @@ -1,4 +1,6 @@ using System.Collections.Generic; +using System.Linq; +using System.Reflection; using System.Threading.Tasks; using AutoMapper.QueryableExtensions; using FilterLists.Data; @@ -17,7 +19,31 @@ public SeedService(FilterListsDbContext filterListsDbContext) public async Task> GetAllAsync() where TEntity : class { - return await filterListsDbContext.Set().AsNoTracking().ProjectTo().ToArrayAsync(); + return await filterListsDbContext.Set() + .AsNoTracking() + .ProjectTo() + .ToArrayAsync(); + } + + public async Task> GetAllAsync(PropertyInfo primarySort) + where TEntity : class + { + return await filterListsDbContext.Set() + .OrderBy(x => primarySort.GetValue(x, null)) + .AsNoTracking() + .ProjectTo() + .ToArrayAsync(); + } + + public async Task> GetAllAsync(PropertyInfo primarySort, + PropertyInfo secondarySort) where TEntity : class + { + return await filterListsDbContext.Set() + .OrderBy(x => primarySort.GetValue(x, null)) + .ThenBy(x => secondarySort.GetValue(x, null)) + .AsNoTracking() + .ProjectTo() + .ToArrayAsync(); } } } \ No newline at end of file