From 8d5040400cd706a6cce86aff7b6e523a3a735b15 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sun, 5 Dec 2021 06:45:20 -0600 Subject: [PATCH] =?UTF-8?q?feat(dir):=20=E2=9C=A8=20capture=20add'l=20Filt?= =?UTF-8?q?erList=20props=20in=20change=20value=20object?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FilterLists/FilterListValueObject.cs | 75 ++++++++++++++++++- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/services/Directory/FilterLists.Directory.Domain/Aggregates/FilterLists/FilterListValueObject.cs b/services/Directory/FilterLists.Directory.Domain/Aggregates/FilterLists/FilterListValueObject.cs index 138c351fe..e91db1158 100644 --- a/services/Directory/FilterLists.Directory.Domain/Aggregates/FilterLists/FilterListValueObject.cs +++ b/services/Directory/FilterLists.Directory.Domain/Aggregates/FilterLists/FilterListValueObject.cs @@ -7,6 +7,9 @@ public class FilterListValueObject : ValueObject public string Name { get; private init; } = default!; public string? Description { get; private init; } public long LicenseId { get; private init; } + public IEnumerable SyntaxIds { get; private init; } = new HashSet(); + public IEnumerable LanguageIds { get; private init; } = new HashSet(); + public IEnumerable TagIds { get; private init; } = new HashSet(); public IEnumerable ViewUrlIds { get; private init; } = new HashSet(); public Uri? HomeUrl { get; private init; } public Uri? OnionUrl { get; private init; } @@ -17,6 +20,13 @@ public class FilterListValueObject : ValueObject public Uri? ChatUrl { get; private init; } public string? EmailAddress { get; private init; } public Uri? DonateUrl { get; private init; } + public IEnumerable MaintainerIds { get; private init; } = new HashSet(); + public IEnumerable UpstreamFilterListIds { get; private init; } = new HashSet(); + public IEnumerable ForkFilterListIds { get; private init; } = new HashSet(); + public IEnumerable IncludedInFilterListIds { get; private init; } = new HashSet(); + public IEnumerable IncludesFilterListIds { get; private init; } = new HashSet(); + public IEnumerable DependencyFilterListIds { get; private init; } = new HashSet(); + public IEnumerable DependentFilterListIds { get; private init; } = new HashSet(); public static FilterListValueObject FromFilterList(FilterList filterList) { @@ -25,6 +35,9 @@ public static FilterListValueObject FromFilterList(FilterList filterList) Name = filterList.Name, Description = filterList.Description, LicenseId = filterList.License.Id, + SyntaxIds = filterList.Syntaxes.Select(s => s.Id), + LanguageIds = filterList.Languages.Select(l => l.Id), + TagIds = filterList.Tags.Select(t => t.Id), ViewUrlIds = filterList.ViewUrls.Select(u => u.Id), HomeUrl = filterList.HomeUrl, OnionUrl = filterList.OnionUrl, @@ -34,7 +47,14 @@ public static FilterListValueObject FromFilterList(FilterList filterList) ForumUrl = filterList.ForumUrl, ChatUrl = filterList.ChatUrl, EmailAddress = filterList.EmailAddress, - DonateUrl = filterList.DonateUrl + DonateUrl = filterList.DonateUrl, + MaintainerIds = filterList.Maintainers.Select(m => m.Id), + UpstreamFilterListIds = filterList.UpstreamFilterLists.Select(f => f.Id), + ForkFilterListIds = filterList.ForkFilterLists.Select(f => f.Id), + IncludedInFilterListIds = filterList.IncludedInFilterLists.Select(f => f.Id), + IncludesFilterListIds = filterList.IncludesFilterLists.Select(f => f.Id), + DependencyFilterListIds = filterList.DependencyFilterLists.Select(f => f.Id), + DependentFilterListIds = filterList.DependentFilterLists.Select(f => f.Id) }; } @@ -43,9 +63,24 @@ public static FilterListValueObject FromFilterList(FilterList filterList) yield return Name; yield return Description; yield return LicenseId; - foreach (var viewUrlId in ViewUrlIds) + foreach (var id in SyntaxIds) { - yield return viewUrlId; + yield return id; + } + + foreach (var id in LanguageIds) + { + yield return id; + } + + foreach (var id in TagIds) + { + yield return id; + } + + foreach (var id in ViewUrlIds) + { + yield return id; } yield return HomeUrl; @@ -57,5 +92,39 @@ public static FilterListValueObject FromFilterList(FilterList filterList) yield return ChatUrl; yield return EmailAddress; yield return DonateUrl; + foreach (var id in MaintainerIds) + { + yield return id; + } + + foreach (var id in UpstreamFilterListIds) + { + yield return id; + } + + foreach (var id in ForkFilterListIds) + { + yield return id; + } + + foreach (var id in IncludedInFilterListIds) + { + yield return id; + } + + foreach (var id in IncludesFilterListIds) + { + yield return id; + } + + foreach (var id in DependencyFilterListIds) + { + yield return id; + } + + foreach (var id in DependentFilterListIds) + { + yield return id; + } } }