diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Dependent.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Dependent.cs index d03f82c06..77ac02167 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Dependent.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Dependent.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs index 8704ac66e..513217356 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs @@ -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 FilterListSyntaxes { get; } = new HashSet(); public IReadOnlyCollection FilterListLanguages { get; } = new HashSet(); public IReadOnlyCollection FilterListTags { get; } = new HashSet(); public IReadOnlyCollection ViewUrls { get; } = new HashSet(); - 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 FilterListMaintainers { get; } = - new HashSet(); - + 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 FilterListMaintainers { get; } = new HashSet(); public IReadOnlyCollection UpstreamFilterLists { get; } = new HashSet(); public IReadOnlyCollection ForkFilterLists { get; } = new HashSet(); public IReadOnlyCollection IncludedInFilterLists { get; } = new HashSet(); diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListLanguage.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListLanguage.cs index 54a4e8b3d..bdbec3626 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListLanguage.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListLanguage.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListMaintainer.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListMaintainer.cs index 817b86308..597ef8677 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListMaintainer.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListMaintainer.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListSyntax.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListSyntax.cs index 656811eaa..92ef23bdb 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListSyntax.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListSyntax.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListTag.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListTag.cs index b48ac2cc1..714b4af72 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListTag.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListTag.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListViewUrl.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListViewUrl.cs index 5cfd879b2..15ef97a5e 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListViewUrl.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterListViewUrl.cs @@ -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 diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Fork.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Fork.cs index 9bf16d819..c750763e0 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Fork.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Fork.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs index a93c2e86c..474539ebc 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs @@ -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 FilterListLanguages { get; } = new HashSet(); } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs index 2be08ed5c..abb6047a6 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs @@ -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 FilterLists { get; } = new HashSet(); } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs index a6b6a8baa..68910e165 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs @@ -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 FilterListMaintainers { get; } = - new HashSet(); + 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 FilterListMaintainers { get; } = new HashSet(); } internal class MaintainerTypeConfiguration : IEntityTypeConfiguration diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Merge.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Merge.cs index 48240523d..a078a21a8 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Merge.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Merge.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs index d7c87641e..55e17633e 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs @@ -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 SoftwareSyntaxes { get; } = new HashSet(); } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/SoftwareSyntax.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/SoftwareSyntax.cs index a3c4c5d32..07e8fc6ea 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/SoftwareSyntax.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/SoftwareSyntax.cs @@ -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!; } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs index f9685e81f..4c8d969de 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs @@ -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 FilterListSyntaxes { get; } = new HashSet(); public IReadOnlyCollection SoftwareSyntaxes { get; } = new HashSet(); } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs index 4467a1609..ab53e23ab 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs @@ -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 FilterListTags { get; } = new HashSet(); } diff --git a/services/FilterLists.sln.DotSettings b/services/FilterLists.sln.DotSettings index 1d0f7ab16..8f83da1ea 100644 --- a/services/FilterLists.sln.DotSettings +++ b/services/FilterLists.sln.DotSettings @@ -1,2 +1,3 @@  + True True \ No newline at end of file