refactor(dir-entities): ♻ apply private setters

This commit is contained in:
Collin M. Barrett 2021-11-02 09:53:44 -05:00
parent 5f0739cfa5
commit 132ec7ad0d
17 changed files with 125 additions and 78 deletions

View file

@ -1,13 +1,18 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
[assembly: SuppressMessage("Design", "RCS1170", Justification = "EF Core: Properties without setters are not mapped by convention.", Scope = "NamespaceAndDescendants", Target = "~N:FilterLists.Directory.Infrastructure.Persistence.Queries.Entities")]
[assembly: SuppressMessage("CodeQuality", "IDE0079:Remove unnecessary suppression", Justification = "ReSharper false positives.", Scope = "NamespaceAndDescendants", Target = "~N:FilterLists.Directory.Infrastructure.Persistence.Queries.Entities")]
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class Dependent
{
public int DependencyFilterListId { get; set; }
public int DependencyFilterListId { get; private set; }
public FilterList DependencyFilterList { get; } = null!;
public int DependentFilterListId { get; set; }
public int DependentFilterListId { get; private set; }
public FilterList DependentFilterList { get; } = null!;
}

View file

@ -1,35 +1,35 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
[SuppressMessage("ReSharper", "UnassignedGetOnlyAutoProperty")]
public class FilterList
{
// TODO: use private setters on all entity/vm props after System.Text.Json support
public int Id { get; set; }
public string Name { get; set; } = null!;
public string? Description { get; set; }
public int? LicenseId { get; set; }
public License? License { get; set; }
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public string? Description { get; private set; }
public int? LicenseId { get; private set; }
public License? License { get; }
public IReadOnlyCollection<FilterListSyntax> FilterListSyntaxes { get; } = new HashSet<FilterListSyntax>();
public IReadOnlyCollection<FilterListLanguage> FilterListLanguages { get; } = new HashSet<FilterListLanguage>();
public IReadOnlyCollection<FilterListTag> FilterListTags { get; } = new HashSet<FilterListTag>();
public IReadOnlyCollection<FilterListViewUrl> ViewUrls { get; } = new HashSet<FilterListViewUrl>();
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 IReadOnlyCollection<FilterListMaintainer> FilterListMaintainers { get; } =
new HashSet<FilterListMaintainer>();
public Uri? HomeUrl { get; private set; }
public Uri? OnionUrl { get; private set; }
public Uri? PolicyUrl { get; private set; }
public Uri? SubmissionUrl { get; private set; }
public Uri? IssuesUrl { get; private set; }
public Uri? ForumUrl { get; private set; }
public Uri? ChatUrl { get; private set; }
public string? EmailAddress { get; private set; }
public Uri? DonateUrl { get; private set; }
public IReadOnlyCollection<FilterListMaintainer> FilterListMaintainers { get; } = new HashSet<FilterListMaintainer>();
public IReadOnlyCollection<Fork> UpstreamFilterLists { get; } = new HashSet<Fork>();
public IReadOnlyCollection<Fork> ForkFilterLists { get; } = new HashSet<Fork>();
public IReadOnlyCollection<Merge> IncludedInFilterLists { get; } = new HashSet<Merge>();

View file

@ -1,13 +1,17 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class FilterListLanguage
{
public int FilterListId { get; set; }
public int FilterListId { get; private set; }
public FilterList FilterList { get; } = null!;
public string Iso6391 { get; set; } = null!;
public string Iso6391 { get; private set; } = null!;
public Language Language { get; } = null!;
}

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class FilterListMaintainer
{
public int FilterListId { get; set; }
public int FilterListId { get; private set; }
public FilterList FilterList { get; } = null!;
public int MaintainerId { get; set; }
public int MaintainerId { get; private set; }
public Maintainer Maintainer { get; } = null!;
}

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class FilterListSyntax
{
public int FilterListId { get; set; }
public int FilterListId { get; private set; }
public FilterList FilterList { get; } = null!;
public int SyntaxId { get; set; }
public int SyntaxId { get; private set; }
public Syntax Syntax { get; } = null!;
}

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class FilterListTag
{
public int FilterListId { get; set; }
public int FilterListId { get; private set; }
public FilterList FilterList { get; } = null!;
public int TagId { get; set; }
public int TagId { get; private set; }
public Tag Tag { get; } = null!;
}

View file

@ -1,17 +1,21 @@
using System;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class FilterListViewUrl
{
public int Id { get; set; }
public int FilterListId { get; set; }
public FilterList FilterList { get; set; } = null!;
public short SegmentNumber { get; set; }
public short Primariness { get; set; }
public Uri Url { get; set; } = null!;
public int Id { get; private set; }
public int FilterListId { get; private set; }
public FilterList FilterList { get; } = null!;
public short SegmentNumber { get; private set; }
public short Primariness { get; private set; }
public Uri Url { get; private set; } = null!;
}
internal class FilterListViewUrlConfiguration : IEntityTypeConfiguration<FilterListViewUrl>

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class Fork
{
public int UpstreamFilterListId { get; set; }
public int UpstreamFilterListId { get; private set; }
public FilterList UpstreamFilterList { get; } = null!;
public int ForkFilterListId { get; set; }
public int ForkFilterListId { get; private set; }
public FilterList ForkFilterList { get; } = null!;
}

View file

@ -1,13 +1,15 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class Language
{
public string Iso6391 { get; set; } = null!;
public string Name { get; set; } = null!;
public string Iso6391 { get; private set; } = null!;
public string Name { get; private set; } = null!;
public IReadOnlyCollection<FilterListLanguage> FilterListLanguages { get; } = new HashSet<FilterListLanguage>();
}

View file

@ -1,18 +1,21 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class License
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public Uri? Url { get; set; }
public bool PermitsModification { get; set; }
public bool PermitsDistribution { get; set; }
public bool PermitsCommercialUse { get; set; }
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public Uri? Url { get; private set; }
public bool PermitsModification { get; private set; }
public bool PermitsDistribution { get; private set; }
public bool PermitsCommercialUse { get; private set; }
public IReadOnlyCollection<FilterList> FilterLists { get; } = new HashSet<FilterList>();
}

View file

@ -1,20 +1,21 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class Maintainer
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public Uri? Url { get; set; }
public string? EmailAddress { get; set; }
public string? TwitterHandle { get; set; }
public IReadOnlyCollection<FilterListMaintainer> FilterListMaintainers { get; } =
new HashSet<FilterListMaintainer>();
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public Uri? Url { get; private set; }
public string? EmailAddress { get; private set; }
public string? TwitterHandle { get; private set; }
public IReadOnlyCollection<FilterListMaintainer> FilterListMaintainers { get; } = new HashSet<FilterListMaintainer>();
}
internal class MaintainerTypeConfiguration : IEntityTypeConfiguration<Maintainer>

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class Merge
{
public int IncludedInFilterListId { get; set; }
public int IncludedInFilterListId { get; private set; }
public FilterList IncludedInFilterList { get; } = null!;
public int IncludesFilterListId { get; set; }
public int IncludesFilterListId { get; private set; }
public FilterList IncludesFilterList { get; } = null!;
}

View file

@ -1,18 +1,21 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class Software
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public string? Description { get; set; }
public Uri? HomeUrl { get; set; }
public Uri? DownloadUrl { get; set; }
public bool SupportsAbpUrlScheme { get; set; }
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public string? Description { get; private set; }
public Uri? HomeUrl { get; private set; }
public Uri? DownloadUrl { get; private set; }
public bool SupportsAbpUrlScheme { get; private set; }
public IReadOnlyCollection<SoftwareSyntax> SoftwareSyntaxes { get; } = new HashSet<SoftwareSyntax>();
}

View file

@ -1,13 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "ReplaceAutoPropertyWithComputedProperty")]
public class SoftwareSyntax
{
public int SoftwareId { get; set; }
public int SoftwareId { get; private set; }
public Software Software { get; } = null!;
public int SyntaxId { get; set; }
public int SyntaxId { get; private set; }
public Syntax Syntax { get; } = null!;
}

View file

@ -1,16 +1,19 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class Syntax
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public string? Description { get; set; }
public Uri? Url { get; set; }
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public string? Description { get; private set; }
public Uri? Url { get; private set; }
public IReadOnlyCollection<FilterListSyntax> FilterListSyntaxes { get; } = new HashSet<FilterListSyntax>();
public IReadOnlyCollection<SoftwareSyntax> SoftwareSyntaxes { get; } = new HashSet<SoftwareSyntax>();
}

View file

@ -1,14 +1,17 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")]
[SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Local")]
public class Tag
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public string? Description { get; set; }
public int Id { get; private set; }
public string Name { get; private set; } = null!;
public string? Description { get; private set; }
public IReadOnlyCollection<FilterListTag> FilterListTags { get; } = new HashSet<FilterListTag>();
}

View file

@ -1,2 +1,3 @@
<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:Boolean x:Key="/Default/UserDictionary/Words/=primariness/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=syntaxes/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>