diff --git a/src/FilterLists.Services/FilterListService/FilterListService.cs b/src/FilterLists.Services/FilterListService/FilterListService.cs index 0658a9000..2956ec16a 100644 --- a/src/FilterLists.Services/FilterListService/FilterListService.cs +++ b/src/FilterLists.Services/FilterListService/FilterListService.cs @@ -30,7 +30,8 @@ public async Task GetDetailsAsync(int id) return await filterListsDbContext.FilterLists .AsNoTracking() .ProjectTo() - .FirstAsync(x => x.Id == id); + .FirstAsync(x => x.Id == id) + .FilterParentListFromMaintainerAdditionalLists(); } } } \ No newline at end of file diff --git a/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs b/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs new file mode 100644 index 000000000..b71ca658d --- /dev/null +++ b/src/FilterLists.Services/FilterListService/FilterListServiceExtensions.cs @@ -0,0 +1,19 @@ +using System.Linq; +using System.Threading.Tasks; + +namespace FilterLists.Services.FilterListService +{ + 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