feat(dir): capture add'l FilterList props in change value object

This commit is contained in:
Collin M. Barrett 2021-12-05 06:45:20 -06:00
parent eb6b3170e5
commit 8d5040400c

View file

@ -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<long> SyntaxIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> LanguageIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> TagIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> ViewUrlIds { get; private init; } = new HashSet<long>();
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<long> MaintainerIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> UpstreamFilterListIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> ForkFilterListIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> IncludedInFilterListIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> IncludesFilterListIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> DependencyFilterListIds { get; private init; } = new HashSet<long>();
public IEnumerable<long> DependentFilterListIds { get; private init; } = new HashSet<long>();
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;
}
}
}