feat(directory): configure required vs optional query entity props

This commit is contained in:
Collin M. Barrett 2020-08-22 13:46:39 -05:00
parent 977ab09298
commit ee4968a9e7
18 changed files with 85 additions and 84 deletions

View file

@ -1,7 +1,8 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml"
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">NEVER</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Syntaxes/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View file

@ -2,7 +2,7 @@
{
public class Dependent
{
public FilterList DependencyFilterList { get; set; }
public FilterList DependentFilterList { get; set; }
public FilterList DependencyFilterList { get; } = null!;
public FilterList DependentFilterList { get; } = null!;
}
}

View file

@ -6,31 +6,31 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class FilterList : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public License License { get; set; }
public ICollection<FilterListSyntax> FilterListSyntaxes { get; set; }
public ICollection<FilterListLanguage> FilterListLanguages { get; set; }
public ICollection<FilterListTag> FilterListTags { get; set; }
public Uri ViewUrl { get; set; }
public ICollection<ViewUrlPartial> ViewUrlPartials { get; set; }
public ICollection<ViewUrlMirror> ViewUrlMirrors { get; set; }
public Uri HomeUrl { get; set; }
public Uri OnionUrl { get; set; }
public Uri PolicyUrl { get; set; }
public Uri SubmissionUrl { get; set; }
public Uri IssuesUrl { get; set; }
public Uri ForumUrl { get; set; }
public Uri ChatUrl { get; set; }
public string EmailAddress { get; set; }
public Uri DonateUrl { get; set; }
public ICollection<FilterListMaintainer> FilterListMaintainers { get; set; }
public ICollection<Fork> UpstreamFilterLists { get; set; }
public ICollection<Fork> ForkFilterLists { get; set; }
public ICollection<Merge> IncludedInFilterLists { get; set; }
public ICollection<Merge> IncludesFilterLists { get; set; }
public ICollection<Dependent> DependencyFilterLists { get; set; }
public ICollection<Dependent> DependentFilterLists { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public string? Description { get; }
public License? License { get; }
public ICollection<FilterListSyntax> FilterListSyntaxes { get; } = new HashSet<FilterListSyntax>();
public ICollection<FilterListLanguage> FilterListLanguages { get; } = new HashSet<FilterListLanguage>();
public ICollection<FilterListTag> FilterListTags { get; } = new HashSet<FilterListTag>();
public Uri ViewUrl { get; } = null!;
public ICollection<ViewUrlPartial> ViewUrlPartials { get; } = new HashSet<ViewUrlPartial>();
public ICollection<ViewUrlMirror> ViewUrlMirrors { get; } = new HashSet<ViewUrlMirror>();
public Uri? HomeUrl { get; }
public Uri? OnionUrl { get; }
public Uri? PolicyUrl { get; }
public Uri? SubmissionUrl { get; }
public Uri? IssuesUrl { get; }
public Uri? ForumUrl { get; }
public Uri? ChatUrl { get; }
public string? EmailAddress { get; }
public Uri? DonateUrl { get; }
public ICollection<FilterListMaintainer> FilterListMaintainers { get; } = new HashSet<FilterListMaintainer>();
public ICollection<Fork> UpstreamFilterLists { get; } = new HashSet<Fork>();
public ICollection<Fork> ForkFilterLists { get; } = new HashSet<Fork>();
public ICollection<Merge> IncludedInFilterLists { get; } = new HashSet<Merge>();
public ICollection<Merge> IncludesFilterLists { get; } = new HashSet<Merge>();
public ICollection<Dependent> DependencyFilterLists { get; } = new HashSet<Dependent>();
public ICollection<Dependent> DependentFilterLists { get; } = new HashSet<Dependent>();
}
}

View file

@ -2,7 +2,7 @@
{
public class FilterListLanguage
{
public FilterList FilterList { get; set; }
public Language Language { get; set; }
public FilterList FilterList { get; } = null!;
public Language Language { get; } = null!;
}
}

View file

@ -2,7 +2,7 @@
{
public class FilterListMaintainer
{
public FilterList FilterList { get; set; }
public Maintainer Maintainer { get; set; }
public FilterList FilterList { get; } = null!;
public Maintainer Maintainer { get; } = null!;
}
}

View file

@ -2,7 +2,7 @@
{
public class FilterListSyntax
{
public FilterList FilterList { get; set; }
public Syntax Syntax { get; set; }
public FilterList FilterList { get; } = null!;
public Syntax Syntax { get; } = null!;
}
}

View file

@ -2,7 +2,7 @@
{
public class FilterListTag
{
public FilterList FilterList { get; set; }
public Tag Tag { get; set; }
public FilterList FilterList { get; } = null!;
public Tag Tag { get; } = null!;
}
}

View file

@ -2,7 +2,7 @@
{
public class Fork
{
public FilterList UpstreamFilterList { get; set; }
public FilterList ForkFilterList { get; set; }
public FilterList UpstreamFilterList { get; } = null!;
public FilterList ForkFilterList { get; } = null!;
}
}

View file

@ -4,8 +4,8 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Language
{
public string Iso6391 { get; set; }
public string Name { get; set; }
public ICollection<FilterListLanguage> FilterListLanguages { get; set; }
public string Iso6391 { get; } = null!;
public string Name { get; } = null!;
public ICollection<FilterListLanguage> FilterListLanguages { get; } = new HashSet<FilterListLanguage>();
}
}

View file

@ -4,12 +4,12 @@
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class License: IHaveSurrogateKey
public class License : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string GitHubKey { get; set; }
public string Name { get; set; }
public Uri Url { get; set; }
public ICollection<FilterList> FilterLists { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public string? GitHubKey { get; }
public Uri? Url { get; }
public ICollection<FilterList> FilterLists { get; } = new HashSet<FilterList>();
}
}

View file

@ -6,11 +6,11 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Maintainer : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string Name { get; set; }
public Uri Url { get; set; }
public string EmailAddress { get; set; }
public string TwitterHandle { get; set; }
public ICollection<FilterListMaintainer> FilterListMaintainers { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public Uri? Url { get; }
public string? EmailAddress { get; }
public string? TwitterHandle { get; }
public ICollection<FilterListMaintainer> FilterListMaintainers { get; } = new HashSet<FilterListMaintainer>();
}
}

View file

@ -2,7 +2,7 @@
{
public class Merge
{
public FilterList IncludedInFilterList { get; set; }
public FilterList IncludesFilterList { get; set; }
public FilterList IncludedInFilterList { get; } = null!;
public FilterList IncludesFilterList { get; } = null!;
}
}

View file

@ -6,12 +6,12 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Software : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Uri HomeUrl { get; set; }
public Uri DownloadUrl { get; set; }
public bool SupportsAbpUrlScheme { get; set; }
public ICollection<SoftwareSyntax> SoftwareSyntaxes { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public string? Description { get; }
public Uri? HomeUrl { get; }
public Uri? DownloadUrl { get; }
public bool SupportsAbpUrlScheme { get; }
public ICollection<SoftwareSyntax> SoftwareSyntaxes { get; } = new HashSet<SoftwareSyntax>();
}
}

View file

@ -2,7 +2,7 @@
{
public class SoftwareSyntax
{
public Software Software { get; set; }
public Syntax Syntax { get; set; }
public Software Software { get; } = null!;
public Syntax Syntax { get; } = null!;
}
}

View file

@ -6,11 +6,11 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Syntax : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Uri Url { get; set; }
public ICollection<FilterListSyntax> FilterListSyntaxes { get; set; }
public ICollection<SoftwareSyntax> SoftwareSyntaxes { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public string? Description { get; }
public Uri? Url { get; }
public ICollection<FilterListSyntax> FilterListSyntaxes { get; } = new HashSet<FilterListSyntax>();
public ICollection<SoftwareSyntax> SoftwareSyntaxes { get; } = new HashSet<SoftwareSyntax>();
}
}

View file

@ -5,9 +5,9 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Tag : IHaveSurrogateKey
{
public ushort Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ICollection<FilterListTag> FilterListTags { get; set; }
public ushort Id { get; }
public string Name { get; } = null!;
public string? Description { get; }
public ICollection<FilterListTag> FilterListTags { get; } = new HashSet<FilterListTag>();
}
}

View file

@ -5,8 +5,8 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class ViewUrlMirror : IHaveSurrogateKey
{
public ushort Id { get; set; }
public FilterList FilterList { get; set; }
public Uri Url { get; set; }
public ushort Id { get; }
public FilterList FilterList { get; } = null!;
public Uri Url { get; } = null!;
}
}

View file

@ -4,8 +4,8 @@ namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class ViewUrlPartial
{
public FilterList FilterList { get; set; }
public ushort Position { get; set; }
public Uri Url { get; set; }
public FilterList FilterList { get; } = null!;
public ushort Position { get; }
public Uri Url { get; } = null!;
}
}