diff --git a/web/backend/.config/dotnet-tools.json b/web/backend/.config/dotnet-tools.json index 6e2e244c..a164aac7 100644 --- a/web/backend/.config/dotnet-tools.json +++ b/web/backend/.config/dotnet-tools.json @@ -8,6 +8,13 @@ "csharpier" ], "rollForward": false + }, + "jetbrains.resharper.globaltools": { + "version": "2026.2.1", + "commands": [ + "jb" + ], + "rollForward": false } } } \ No newline at end of file diff --git a/web/backend/API/API.Core/Authentication/JwtAuthenticationHandler.cs b/web/backend/API/API.Core/Authentication/JwtAuthenticationHandler.cs index 3e989b8d..621dcd5a 100644 --- a/web/backend/API/API.Core/Authentication/JwtAuthenticationHandler.cs +++ b/web/backend/API/API.Core/Authentication/JwtAuthenticationHandler.cs @@ -83,4 +83,4 @@ public class JwtAuthenticationHandler( /// /// Options for the JWT authentication scheme handled by . /// -public class JwtAuthenticationOptions : AuthenticationSchemeOptions { } +public class JwtAuthenticationOptions : AuthenticationSchemeOptions; diff --git a/web/backend/API/API.Specs/Steps/AuthSteps.cs b/web/backend/API/API.Specs/Steps/AuthSteps.cs index 0f4c045e..9aa9ddb9 100644 --- a/web/backend/API/API.Specs/Steps/AuthSteps.cs +++ b/web/backend/API/API.Specs/Steps/AuthSteps.cs @@ -413,7 +413,7 @@ public class AuthSteps(ScenarioContext scenario) [Given("I have a valid access token for my account")] public void GivenIHaveAValidAccessTokenForMyAccount() { - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : throw new InvalidOperationException("registered user ID not found in scenario"); string? username = scenario.TryGetValue(RegisteredUsernameKey, out string? user) @@ -432,7 +432,7 @@ public class AuthSteps(ScenarioContext scenario) [Given("I have a valid confirmation token for my account")] public void GivenIHaveAValidConfirmationTokenForMyAccount() { - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : throw new InvalidOperationException("registered user ID not found in scenario"); string? username = scenario.TryGetValue(RegisteredUsernameKey, out string? user) @@ -451,7 +451,7 @@ public class AuthSteps(ScenarioContext scenario) [Given("I have an expired confirmation token for my account")] public void GivenIHaveAnExpiredConfirmationTokenForMyAccount() { - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : throw new InvalidOperationException("registered user ID not found in scenario"); string? username = scenario.TryGetValue(RegisteredUsernameKey, out string? user) @@ -470,7 +470,7 @@ public class AuthSteps(ScenarioContext scenario) [Given("I have a confirmation token signed with the wrong secret")] public void GivenIHaveAConfirmationTokenSignedWithTheWrongSecret() { - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : throw new InvalidOperationException("registered user ID not found in scenario"); string? username = scenario.TryGetValue(RegisteredUsernameKey, out string? user) @@ -668,7 +668,7 @@ public class AuthSteps(ScenarioContext scenario) } [When("I submit a refresh token request using a GET request")] - public async Task WhenISubmitARefreshTokenRequestUsingAGETRequest() + public async Task WhenISubmitARefreshTokenRequestUsingAGetRequest() { HttpClient client = GetClient(); HttpRequestMessage requestMessage = new(HttpMethod.Get, "/api/auth/refresh") @@ -979,7 +979,7 @@ public class AuthSteps(ScenarioContext scenario) public async Task WhenISubmitAResendConfirmationRequestForMyAccount() { HttpClient client = GetClient(); - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : throw new InvalidOperationException("registered user ID not found"); string? accessToken = scenario.TryGetValue("accessToken", out string? at) @@ -1025,7 +1025,7 @@ public class AuthSteps(ScenarioContext scenario) public async Task WhenISubmitAResendConfirmationRequestWithoutAnAccessToken() { HttpClient client = GetClient(); - Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) + Guid userId = scenario.TryGetValue(RegisteredUserIdKey, out Guid id) ? id : Guid.NewGuid(); diff --git a/web/backend/Database/Database.Seed/Program.cs b/web/backend/Database/Database.Seed/Program.cs index ee2fac56..176e6bdb 100644 --- a/web/backend/Database/Database.Seed/Program.cs +++ b/web/backend/Database/Database.Seed/Program.cs @@ -3,7 +3,6 @@ using Database.Seed.PipelineData; using Database.Seed.Sqlite; using Domain.Entities; using Features.Auth.DependencyInjection; -using Features.Auth.Dtos; using Features.Auth.Repository; using Features.Breweries.DependencyInjection; using Features.Breweries.Repository; @@ -255,7 +254,7 @@ static Table BuildUserTable(IReadOnlyList users) user.User.FirstName, user.User.LastName, user.Email, - user.DateOfBirth.ToString() + user.DateOfBirth ); } diff --git a/web/backend/Domain/Domain.Entities/Entities/BeerPost.cs b/web/backend/Domain/Domain.Entities/Entities/BeerPost.cs index b8f74994..5dbc78d9 100644 --- a/web/backend/Domain/Domain.Entities/Entities/BeerPost.cs +++ b/web/backend/Domain/Domain.Entities/Entities/BeerPost.cs @@ -13,8 +13,8 @@ public sealed class BeerPost // Attributes public string Name { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; - public decimal ABV { get; set; } - public int IBU { get; set; } + public decimal Abv { get; set; } + public int Ibu { get; set; } // Audit Fields public DateTime CreatedAt { get; set; } = DateTime.UtcNow; diff --git a/web/backend/Domain/Domain.Entities/Entities/Country.cs b/web/backend/Domain/Domain.Entities/Entities/Country.cs index 81a896a0..1072b653 100644 --- a/web/backend/Domain/Domain.Entities/Entities/Country.cs +++ b/web/backend/Domain/Domain.Entities/Entities/Country.cs @@ -8,7 +8,7 @@ public sealed class Country // Attributes public string CountryName { get; set; } = string.Empty; - public string ISO3166_1 { get; set; } = string.Empty; // this is the iso 3166-1 alpha-2 code for the country, e.g. "US" for United States, "CA" for Canada, etc. + public string Iso31661 { get; set; } = string.Empty; // this is the iso 3166-1 alpha-2 code for the country, e.g. "US" for United States, "CA" for Canada, etc. // Audit Fields public byte[]? RowVersion { get; set; } diff --git a/web/backend/Domain/Domain.Entities/Entities/StateProvince.cs b/web/backend/Domain/Domain.Entities/Entities/StateProvince.cs index e248f438..e65a01e1 100644 --- a/web/backend/Domain/Domain.Entities/Entities/StateProvince.cs +++ b/web/backend/Domain/Domain.Entities/Entities/StateProvince.cs @@ -13,7 +13,7 @@ public sealed class StateProvince // this is the iso 3166-2 code for the state/province, e.g. "CA" for California, "ON" for Ontario, etc. // and is rendered like US-CA for California, CA-ON for Ontario, etc. - public string ISO3166_2 { get; set; } = string.Empty; + public string Iso31662 { get; set; } = string.Empty; // Audit Fields public byte[]? RowVersion { get; set; } diff --git a/web/backend/Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs b/web/backend/Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs index 136a2fc5..7aa1a6ab 100644 --- a/web/backend/Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs +++ b/web/backend/Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs @@ -11,14 +11,12 @@ namespace Features.Auth.Tests.Services; public class TokenServiceValidationTests { - private readonly Mock _authRepositoryMock; private readonly Mock _tokenInfraMock; private readonly TokenService _tokenService; public TokenServiceValidationTests() { _tokenInfraMock = new Mock(); - _authRepositoryMock = new Mock(); // Set environment variables for tokens Environment.SetEnvironmentVariable( @@ -34,7 +32,7 @@ public class TokenServiceValidationTests "test-confirmation-secret-that-is-very-long-1234567890" ); - _tokenService = new TokenService(_tokenInfraMock.Object, _authRepositoryMock.Object); + _tokenService = new TokenService(_tokenInfraMock.Object, new Mock().Object); } [Fact] diff --git a/web/backend/Features/Features.Auth/Repository/AuthRepository.cs b/web/backend/Features/Features.Auth/Repository/AuthRepository.cs index e8149b2c..00bc05c1 100644 --- a/web/backend/Features/Features.Auth/Repository/AuthRepository.cs +++ b/web/backend/Features/Features.Auth/Repository/AuthRepository.cs @@ -2,7 +2,6 @@ using System.Data.Common; using Dapper; using Domain.Entities; using Domain.Exceptions; -using Features.Auth.Dtos; using Infrastructure.Sql; using Microsoft.Data.SqlClient; @@ -46,7 +45,7 @@ public class AuthRepository(ISqlConnectionFactory connectionFactory) INSERT INTO dbo.UserCredential (UserAccountId, Hash) VALUES (@UserAccountId, @Hash); """, - new { UserAccountId = userAccountId, Hash = ua.UserCredential?.Hash }, + new { UserAccountId = userAccountId, ua.UserCredential?.Hash }, transaction ) ); diff --git a/web/backend/Features/Features.Auth/Repository/IAuthRepository.cs b/web/backend/Features/Features.Auth/Repository/IAuthRepository.cs index 240e0db9..0305e166 100644 --- a/web/backend/Features/Features.Auth/Repository/IAuthRepository.cs +++ b/web/backend/Features/Features.Auth/Repository/IAuthRepository.cs @@ -1,5 +1,4 @@ using Domain.Entities; -using Features.Auth.Dtos; namespace Features.Auth.Repository; diff --git a/web/backend/Features/Features.Auth/Services/ITokenService.cs b/web/backend/Features/Features.Auth/Services/ITokenService.cs index d953d475..c3bc2c89 100644 --- a/web/backend/Features/Features.Auth/Services/ITokenService.cs +++ b/web/backend/Features/Features.Auth/Services/ITokenService.cs @@ -62,10 +62,6 @@ public interface ITokenService /// string GenerateConfirmationToken(UserAccount user); - /// Generates a token of the type specified by . - /// Must be . - string GenerateToken(UserAccount user) - where T : struct, Enum; /// Validates an access token's signature and expiration and extracts the caller's identity. /// diff --git a/web/backend/Features/Features.Auth/Services/TokenService.cs b/web/backend/Features/Features.Auth/Services/TokenService.cs index c3aa40a7..5dc8dfa4 100644 --- a/web/backend/Features/Features.Auth/Services/TokenService.cs +++ b/web/backend/Features/Features.Auth/Services/TokenService.cs @@ -88,30 +88,6 @@ public class TokenService : ITokenService ); } - /// - /// - /// Thrown when is not or does not resolve to a known token type. - /// - public string GenerateToken(UserAccount user) - where T : struct, Enum - { - if (typeof(T) != typeof(TokenType)) - throw new InvalidOperationException("Invalid token type"); - - string tokenTypeName = typeof(T).Name; - if (!Enum.TryParse(typeof(TokenType), tokenTypeName, out object? parsed)) - throw new InvalidOperationException("Invalid token type"); - - TokenType tokenType = (TokenType)parsed; - return tokenType switch - { - TokenType.AccessToken => GenerateAccessToken(user), - TokenType.RefreshToken => GenerateRefreshToken(user), - TokenType.ConfirmationToken => GenerateConfirmationToken(user), - _ => throw new InvalidOperationException("Invalid token type"), - }; - } - /// public async Task ValidateAccessTokenAsync(string token) { diff --git a/web/backend/Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs b/web/backend/Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs index de29911b..5c5ce505 100644 --- a/web/backend/Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs +++ b/web/backend/Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs @@ -29,7 +29,7 @@ public class GetBreweryByIdHandlerTests ); result.Should().NotBeNull(); - result!.BreweryPostId.Should().Be(brewery.BreweryPostId); + result.BreweryPostId.Should().Be(brewery.BreweryPostId); } [Fact] diff --git a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs index 481e9393..227d5e90 100644 --- a/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs +++ b/web/backend/Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs @@ -25,7 +25,6 @@ public class CreateBreweryValidator : AbstractValidator RuleFor(x => x.Location.CityId) .NotEmpty() - .When(x => x.Location is not null) .WithMessage("CityId is required."); RuleFor(x => x.Location.AddressLine1) @@ -33,15 +32,12 @@ public class CreateBreweryValidator : AbstractValidator .When(x => x.Location is not null) .WithMessage("Address line 1 is required.") .MaximumLength(256) - .When(x => x.Location is not null) .WithMessage("Address line 1 cannot exceed 256 characters."); RuleFor(x => x.Location.PostalCode) .NotEmpty() - .When(x => x.Location is not null) .WithMessage("Postal code is required.") .MaximumLength(20) - .When(x => x.Location is not null) .WithMessage("Postal code cannot exceed 20 characters."); } } diff --git a/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs b/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs index fdcc3703..4bb74bef 100644 --- a/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs +++ b/web/backend/Features/Features.Breweries/Dtos/BreweryDtoMapper.cs @@ -27,11 +27,11 @@ public static class BreweryDtoMapper CityName: brewery.Location.City?.CityName ?? string.Empty, StateProvinceName: brewery.Location.City?.StateProvince?.StateProvinceName ?? string.Empty, - StateProvinceCode: brewery.Location.City?.StateProvince?.ISO3166_2 + StateProvinceCode: brewery.Location.City?.StateProvince?.Iso31662 ?? string.Empty, CountryName: brewery.Location.City?.StateProvince?.Country?.CountryName ?? string.Empty, - CountryCode: brewery.Location.City?.StateProvince?.Country?.ISO3166_1 + CountryCode: brewery.Location.City?.StateProvince?.Country?.Iso31661 ?? string.Empty, AddressLine1: brewery.Location.AddressLine1, AddressLine2: brewery.Location.AddressLine2, diff --git a/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs b/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs index 23bea801..1d05fc11 100644 --- a/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs +++ b/web/backend/Features/Features.Emails/Services/EmailDispatcher.cs @@ -36,7 +36,7 @@ public class EmailDispatcher( confirmationLink ); - await emailProvider.SendAsync(email, "Welcome to The Biergarten App!", emailHtml, true); + await emailProvider.SendAsync(email, "Welcome to The Biergarten App!", emailHtml); } /// diff --git a/web/backend/Features/Features.UserManagement/Repository/UserAccountRepository.cs b/web/backend/Features/Features.UserManagement/Repository/UserAccountRepository.cs index 279288c3..11a0a353 100644 --- a/web/backend/Features/Features.UserManagement/Repository/UserAccountRepository.cs +++ b/web/backend/Features/Features.UserManagement/Repository/UserAccountRepository.cs @@ -59,7 +59,7 @@ public class UserAccountRepository(ISqlConnectionFactory connectionFactory) """, new { - UserAccountId = userAccount.UserAccountId, + userAccount.UserAccountId, userAccount.Username, userAccount.FirstName, userAccount.LastName, diff --git a/web/backend/Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs b/web/backend/Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs index 1dece02f..aecd1361 100644 --- a/web/backend/Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs +++ b/web/backend/Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs @@ -1,44 +1 @@ -namespace Infrastructure.Sql; - -/// -/// Custom SQL Server error numbers (50000+) that a stored procedure could use to signal -/// domain-level failures via THROW, for a repository to catch as -/// and translate via ex.Number into -/// the corresponding Domain.Exceptions type. -/// -/// -/// Currently unused: the schema has no stored procedures, and no repository throws or catches on -/// these numbers. Repositories instead run their own existence/concurrency checks and throw -/// Domain.Exceptions directly (see docs/website/database.md for the current -/// approach). This type is kept in case a future stored procedure reintroduces the pattern; each -/// number would -/// identify a category of error shared by every procedure that raises it, not a single call site. -/// -public static class SqlErrorCodes -{ - /// - /// A stored procedure's own input validation failed (e.g. a required parameter was NULL). - /// Maps to HTTP 400 Bad Request. - /// - public const int Validation = 50400; - - /// - /// A stored procedure could not find a row it required, by primary key or foreign key. Maps to - /// HTTP 404 Not Found. - /// - public const int NotFound = 50404; - - /// - /// A stored procedure detected a conflict: either a duplicate/already-exists row, or a stale - /// optimistic-concurrency token (row-version mismatch). Maps to HTTP 409 Conflict. - /// - public const int Conflict = 50409; - - /// - /// A defensive check inside a stored procedure failed under conditions that should be - /// unreachable in normal operation (e.g. an INSERT that should always affect one row - /// affected zero). Left uncaught by repositories so it falls through to the generic - /// handler. Maps to HTTP 500/503. - /// - public const int InternalFailure = 50500; -} +namespace Infrastructure.Sql; \ No newline at end of file diff --git a/web/backend/report.sarif b/web/backend/report.sarif new file mode 100644 index 00000000..faf0aecf --- /dev/null +++ b/web/backend/report.sarif @@ -0,0 +1,9181 @@ +{ + "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.6.json", + "version": "2.1.0", + "runs": [ + { + "results": [ + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 0, + "level": "note", + "message": { + "text": "Class 'BeerPost' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 3, + "startColumn": 21, + "endLine": 3, + "endColumn": 29, + "charOffset": 48, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "54620F80612FDAA0780EE63EB95FC786715658EE90559B861F4424773A402C4F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 0, + "level": "note", + "message": { + "text": "Class 'BeerStyle' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 3, + "startColumn": 21, + "endLine": 3, + "endColumn": 30, + "charOffset": 48, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F65B2A76E1B8778649C69B287609216813CF696191F7C11D71ECC1AD2FA6E9E" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 0, + "level": "note", + "message": { + "text": "Class 'ConnectionStrings' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/DatabaseHelpers/ConnectionStrings.cs", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 9, + "startColumn": 14, + "endLine": 9, + "endColumn": 31, + "charOffset": 103, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "74BFAEC7FBBC5AFF30CCF9E5AA7F1A047B1E9D0802BF7D3E31915D38E5FAE8AF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 0, + "level": "note", + "message": { + "text": "Class 'ForbiddenException' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Exceptions/Exceptions.cs", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 25, + "startColumn": 14, + "endLine": 25, + "endColumn": 32, + "charOffset": 927, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1F33DB884413E8385C99CCC5B70362C4F4AF8B47528C641263F6E901DA46D72F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 0, + "level": "note", + "message": { + "text": "Class 'ValidationException' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Exceptions/Exceptions.cs", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 31, + "startColumn": 14, + "endLine": 31, + "endColumn": 33, + "charOffset": 1226, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9B309A372E03D894022BDA8F41622A6B45B33D26284AA8EC80BE3BE3E41FE69C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "CollectionNeverQueried.Global", + "ruleIndex": 1, + "level": "warning", + "message": { + "text": "Content of collection 'SentEmails' is only updated but never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 10, + "startColumn": 28, + "endLine": 10, + "endColumn": 38, + "charOffset": 270, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E4C881F16EE1C03B035F17BEEDDB1E2505ECB34FF1F2B131882B53157634A00" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "CollectionNeverQueried.Global", + "ruleIndex": 1, + "level": "warning", + "message": { + "text": "Content of collection 'SentRegistrationEmails' is only updated but never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 7, + "startColumn": 36, + "endLine": 7, + "endColumn": 58, + "charOffset": 150, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "184570262FDA4A918ACC67BDFF6B6FE78839B76E7D7ED291B2F9D4ED82EB7CC6" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "CollectionNeverQueried.Global", + "ruleIndex": 1, + "level": "warning", + "message": { + "text": "Content of collection 'SentResendConfirmationEmails' is only updated but never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 9, + "startColumn": 42, + "endLine": 9, + "endColumn": 70, + "charOffset": 233, + "charLength": 28 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2CE91F56B335925C70B6429386E95533688C535A0B488C3DD958953E3F6F7844" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "ruleIndex": 2, + "level": "warning", + "message": { + "text": "Expression is always true according to nullable reference types' annotations" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 28, + "startColumn": 24, + "endLine": 28, + "endColumn": 46, + "charOffset": 963, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE5C538C3F799AD45E07967DC51416A9F501F35B1901F2F23A3837142BAB9E98" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "ruleIndex": 2, + "level": "warning", + "message": { + "text": "Expression is always true according to nullable reference types' annotations" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 33, + "startColumn": 24, + "endLine": 33, + "endColumn": 46, + "charOffset": 1130, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B810C525EB6073E05B8156C7D585348F072FA106B05E5F2122CA7BF147C3DEE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "ruleIndex": 2, + "level": "warning", + "message": { + "text": "Expression is always true according to nullable reference types' annotations" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 36, + "startColumn": 24, + "endLine": 36, + "endColumn": 46, + "charOffset": 1265, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "769982293DB45EF5763B3A8690D965EDCE14BE90F47FF490BB90122C16DD4263" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "ruleIndex": 2, + "level": "warning", + "message": { + "text": "Expression is always true according to nullable reference types' annotations" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 41, + "startColumn": 24, + "endLine": 41, + "endColumn": 46, + "charOffset": 1455, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80E6BDD43EB51A938C50D3CD55C78A877EE62EF06E461F8E89C478ECBAF0379F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "ruleIndex": 2, + "level": "warning", + "message": { + "text": "Expression is always true according to nullable reference types' annotations" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 44, + "startColumn": 24, + "endLine": 44, + "endColumn": 46, + "charOffset": 1586, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F3B38352203EA02CC0A65516CDE7C915188ABD32429B52256FCFA530C4ED6950" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConvertToPrimaryConstructor", + "ruleIndex": 3, + "level": "note", + "message": { + "text": "Convert into primary constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/Sqlite/PipelineSeedDataReader.cs", + "uriBaseId": "solutionDir", + "index": 7 + }, + "region": { + "startLine": 16, + "startColumn": 12, + "endLine": 16, + "endColumn": 34, + "charOffset": 340, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FF5C3E0E2913785247BB8B7053DFC5EB5CF958E600DC99A409067B3419B5217B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "ConvertToStaticClass", + "ruleIndex": 4, + "level": "note", + "message": { + "text": "Convert into static class" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/DatabaseHelpers/ConnectionStrings.cs", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 9, + "startColumn": 14, + "endLine": 9, + "endColumn": 31, + "charOffset": 103, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "74BFAEC7FBBC5AFF30CCF9E5AA7F1A047B1E9D0802BF7D3E31915D38E5FAE8AF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 5, + "level": "warning", + "message": { + "text": "Name 'ABV' does not match rule 'Properties'. Suggested name is 'Abv'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 16, + "startColumn": 20, + "endLine": 16, + "endColumn": 23, + "charOffset": 463, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D129E9DE167D518819DDF6726B07B0E386A40D9B96E4AB515B82E6D9BACE3BC5" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 5, + "level": "warning", + "message": { + "text": "Name 'IBU' does not match rule 'Properties'. Suggested name is 'Ibu'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 17, + "startColumn": 16, + "endLine": 17, + "endColumn": 19, + "charOffset": 496, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E0EE9968E4F591845334DFCEB8761FBA03AC75658A6361363C1A65C37259AE45" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 5, + "level": "warning", + "message": { + "text": "Name 'ISO3166_1' does not match rule 'Properties'. Suggested name is 'Iso31661'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 11, + "startColumn": 19, + "endLine": 11, + "endColumn": 28, + "charOffset": 206, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "15926CFA1D85A1E461F89DC1254818799A61BF5905A88BB59D40D559A40B8184" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 5, + "level": "warning", + "message": { + "text": "Name 'ISO3166_2' does not match rule 'Properties'. Suggested name is 'Iso31662'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 16, + "startColumn": 19, + "endLine": 16, + "endColumn": 28, + "charOffset": 468, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1F54B02C3612BA9F11BECF063C6C8B9BA84915C60327868621B9D15D2493B5CA" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 5, + "level": "warning", + "message": { + "text": "Name 'WhenISubmitARefreshTokenRequestUsingAGETRequest' does not match rule 'Methods'. Suggested name is 'WhenISubmitARefreshTokenRequestUsingAgetRequest'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 671, + "startColumn": 23, + "endLine": 671, + "endColumn": 70, + "charOffset": 26104, + "charLength": 47 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "02D3CD51CAF7B6B29071736592540FA1A0C82EE1F899C4DBFAF11C3FD6F8F899" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Cannot resolve symbol 'FluentValidation'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Exceptions/Exceptions.cs", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 29, + "startColumn": 20, + "endLine": 29, + "endColumn": 36, + "charOffset": 1125, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "61665E39453E747AAF43CF3E33687C27DD672EC7B5BF2A1D00A7B98C2D702996" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'command' has no matching param tag in the XML comment for Features.Breweries.Controllers.BreweryController.Update (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Controllers/BreweryController.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 95, + "startColumn": 41, + "endLine": 95, + "endColumn": 48, + "charOffset": 3722, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21F2E99F76A23F1C81EE7F4AFA86C6D0405CA178D437811C86DC485D02C2EA9F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'connectionString' has no matching param tag in the XML comment for Database.Migrations.Program.ExecuteNonQueryAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Migrations/Program.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 102, + "startColumn": 16, + "endLine": 102, + "endColumn": 32, + "charOffset": 4101, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1C447A04F254864D79DCE62DBFF673C2822C1875BFF9FBE3DDC3F4FD4DFA1DD9" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'email' has no matching param tag in the XML comment for Features.Emails.Services.IEmailDispatcher.SendRegistrationEmailAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/IEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 13, + "startColumn": 62, + "endLine": 13, + "endColumn": 67, + "charOffset": 622, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A01E31885787E58E4313EC6B87AD9A191BC364F60E234643F5E4AD24A28E325C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'email' has no matching param tag in the XML comment for Features.Emails.Services.IEmailDispatcher.SendResendConfirmationEmailAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/IEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 20, + "startColumn": 68, + "endLine": 20, + "endColumn": 73, + "charOffset": 1124, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "539B604E7A802364225A01A4C01C037D37CEB6E577356DFE4AD0A4C456CBA2E4" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'expiry' has no matching param tag in the XML comment for Infrastructure.Jwt.JwtInfrastructure.GenerateJwt (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 21, + "startColumn": 70, + "endLine": 21, + "endColumn": 76, + "charOffset": 888, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "89C3842AD686E1197F6FAA3318CF3F4105E214B5262B38F292AF60BE79B69FCE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'firstName' has no matching param tag in the XML comment for Features.Emails.Services.IEmailDispatcher.SendRegistrationEmailAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/IEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 13, + "startColumn": 44, + "endLine": 13, + "endColumn": 53, + "charOffset": 604, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A01E31885787E58E4313EC6B87AD9A191BC364F60E234643F5E4AD24A28E325C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'firstName' has no matching param tag in the XML comment for Features.Emails.Services.IEmailDispatcher.SendResendConfirmationEmailAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/IEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 20, + "startColumn": 50, + "endLine": 20, + "endColumn": 59, + "charOffset": 1106, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "539B604E7A802364225A01A4C01C037D37CEB6E577356DFE4AD0A4C456CBA2E4" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'secret' has no matching param tag in the XML comment for Features.Auth.Services.TokenService.ValidateTokenInternalAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Services/TokenService.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 158, + "startColumn": 16, + "endLine": 158, + "endColumn": 22, + "charOffset": 6189, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "24B9052CAAF4B1B797BE0C37536A6D0AA749913323ECDFEB136F428308BCB886" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'sql' has no matching param tag in the XML comment for Database.Migrations.Program.ExecuteNonQueryAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Migrations/Program.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 103, + "startColumn": 16, + "endLine": 103, + "endColumn": 19, + "charOffset": 4134, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "184678D9374BB8BFA08F2A245B32886768492FE2AA290BE88CD07D71CA592770" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'token' has no matching param tag in the XML comment for Features.Auth.Services.TokenService.ValidateTokenInternalAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Services/TokenService.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 157, + "startColumn": 16, + "endLine": 157, + "endColumn": 21, + "charOffset": 6167, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DFD41D17D6496B916F18BE9FF095E473D2C08EECF8B46A7CF5666970C3A31EFA" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'token' has no matching param tag in the XML comment for Infrastructure.Jwt.JwtInfrastructure.ValidateJwtAsync (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 59, + "startColumn": 64, + "endLine": 59, + "endColumn": 69, + "charOffset": 2491, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B4AD883B1744C4EDFD4D22080A5EFA59FA244FC4DEF4FEC783B8B966050E1FA4" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'userId' has no matching param tag in the XML comment for Infrastructure.Jwt.JwtInfrastructure.GenerateJwt (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 21, + "startColumn": 36, + "endLine": 21, + "endColumn": 42, + "charOffset": 854, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "89C3842AD686E1197F6FAA3318CF3F4105E214B5262B38F292AF60BE79B69FCE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "Parameter 'username' has no matching param tag in the XML comment for Infrastructure.Jwt.JwtInfrastructure.GenerateJwt (but other parameters do)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 21, + "startColumn": 51, + "endLine": 21, + "endColumn": 59, + "charOffset": 869, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "89C3842AD686E1197F6FAA3318CF3F4105E214B5262B38F292AF60BE79B69FCE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "InvalidXmlDocComment", + "ruleIndex": 6, + "level": "warning", + "message": { + "text": "XML comment is not placed on a valid language element" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/Program.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 166, + "startColumn": 1, + "endLine": 172, + "endColumn": 15, + "charOffset": 5536, + "charLength": 485 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E18B1CB01038C0B6CC56D09BE617539881C50FD96F78151B340D0318346B58E7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "MemberCanBePrivate.Global", + "ruleIndex": 7, + "level": "note", + "message": { + "text": "Property 'SentEmails' can be made private" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 10, + "startColumn": 5, + "endLine": 10, + "endColumn": 11, + "charOffset": 247, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E4C881F16EE1C03B035F17BEEDDB1E2505ECB34FF1F2B131882B53157634A00" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "MemberCanBePrivate.Global", + "ruleIndex": 7, + "level": "note", + "message": { + "text": "Property 'SentRegistrationEmails' can be made private" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 7, + "endColumn": 11, + "charOffset": 119, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "184570262FDA4A918ACC67BDFF6B6FE78839B76E7D7ED291B2F9D4ED82EB7CC6" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "MemberCanBePrivate.Global", + "ruleIndex": 7, + "level": "note", + "message": { + "text": "Property 'SentResendConfirmationEmails' can be made private" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 9, + "startColumn": 5, + "endLine": 9, + "endColumn": 11, + "charOffset": 196, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2CE91F56B335925C70B6429386E95533688C535A0B488C3DD958953E3F6F7844" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "MethodHasAsyncOverload", + "ruleIndex": 8, + "level": "note", + "message": { + "text": "Method has 'async' overload" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Migrations/Program.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 46, + "startColumn": 27, + "endLine": 46, + "endColumn": 36, + "charOffset": 1603, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BBF80572B16173CB9B038CC14D62C96A43658DA09FD556E9DD42FCF18DC6F9CB" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "MethodHasAsyncOverload", + "ruleIndex": 8, + "level": "note", + "message": { + "text": "Method has 'async' overload" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Migrations/Program.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 47, + "startColumn": 27, + "endLine": 47, + "endColumn": 36, + "charOffset": 1689, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "88BF0378706CB2E8627DC2D9C9D3C422B16E3AE178299296058CF15808FF3C13" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryDto.CreatedAt' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 28, + "startColumn": 14, + "endLine": 28, + "endColumn": 23, + "charOffset": 1071, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "48E6B2124D64CF1B88E4910DD73E3D54ADE3F3408F35D7B89F8A298046FB7549" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryDto.Description' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 27, + "startColumn": 12, + "endLine": 27, + "endColumn": 23, + "charOffset": 1045, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DBD22154C8761C8EC1E1C8E6E71DD3FCF9603CD6974A7C8FA65A1944C35A0FC7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryDto.PostedById' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 25, + "startColumn": 10, + "endLine": 25, + "endColumn": 20, + "charOffset": 998, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D1A825700A4761B04F1C80B0D8E4B35F14062C8CE4646454D207C6AE67E46B6B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryDto.RowVersion' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 30, + "startColumn": 13, + "endLine": 30, + "endColumn": 23, + "charOffset": 1119, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E3DC6CD8A6BF2532C9F6F3166F2DE67C264977F9F4EE6D09623F1D1B9F9B7A87" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryDto.UpdatedAt' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 29, + "startColumn": 15, + "endLine": 29, + "endColumn": 24, + "charOffset": 1096, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D788474AA0CC409AEAB338AD5031B91F873FC2B1A3ED17CA8F2C1DA477C8A2C8" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.AddressLine1' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 13, + "startColumn": 12, + "endLine": 13, + "endColumn": 24, + "charOffset": 445, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "86267AC4DE203F04365AD690AC8A199950B82AF1088F5F2FA0E354A24D991D65" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.AddressLine2' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 14, + "startColumn": 13, + "endLine": 14, + "endColumn": 25, + "charOffset": 471, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "06B1EFAD8D0FE08BE522E980A90EDB27EB290C9AFDCAFB55AED245C977EA9F36" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.BreweryPostLocationId' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 6, + "startColumn": 10, + "endLine": 6, + "endColumn": 31, + "charOffset": 265, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CEC9655EFB22F5C15AF70AF939268B5EA0227E37D9516CCAE3EA6B320D2CACF4" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.CityId' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 7, + "startColumn": 10, + "endLine": 7, + "endColumn": 16, + "charOffset": 297, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A9A82A328E6E99C3EB648D418D58E1073D648FCD58F0B4C7EC1B3881CBF9B29F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.CityName' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 8, + "startColumn": 12, + "endLine": 8, + "endColumn": 20, + "charOffset": 316, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9450343BA1BA8D18EDA96E94BEF739388AD6453111EB17784D9FF5AF821D4372" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.Coordinates' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 16, + "startColumn": 13, + "endLine": 16, + "endColumn": 24, + "charOffset": 520, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ED1DF3D5F3F30D222CD78F81DE298E41C4AEA87A1DC53D214F55B4243DAB13C7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.CountryCode' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 12, + "startColumn": 12, + "endLine": 12, + "endColumn": 23, + "charOffset": 421, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2A955CFDAA6BC4D674F5A8012C0403F20B84590179E03084830C266E89C6C265" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.CountryName' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 11, + "startColumn": 12, + "endLine": 11, + "endColumn": 23, + "charOffset": 397, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "630651464D80A0E68E9B1751ABEDFD3926C402C0D60DE63026CA0CC0174D1EED" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.PostalCode' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 15, + "startColumn": 12, + "endLine": 15, + "endColumn": 22, + "charOffset": 496, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "58ACD0A3B97FA994C942F8FDC6125DFBA4D3ECA44813F59EC950DE63D5C20105" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.StateProvinceCode' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 10, + "startColumn": 12, + "endLine": 10, + "endColumn": 29, + "charOffset": 367, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "85444FD6BA74214FF5AC8CE5DA666A2E99D60B667FF34CEC9B09169F45EE8AC5" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "NotAccessedPositionalProperty.Global", + "ruleIndex": 9, + "level": "warning", + "message": { + "text": "Positional property 'Features.Breweries.Dtos.BreweryLocationDto.StateProvinceName' is never accessed (except in implicit Equals/ToString implementations)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 9, + "startColumn": 12, + "endLine": 9, + "endColumn": 29, + "charOffset": 337, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3973DB4530D865FBDAB9EC4ACBB95E162B1C3BA191830CB9181C67B8078114A5" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PrivateFieldCanBeConvertedToLocalVariable", + "ruleIndex": 10, + "level": "warning", + "message": { + "text": "The field is always assigned before being used and can be converted into a local variable" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 14, + "startColumn": 44, + "endLine": 14, + "endColumn": 63, + "charOffset": 345, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F06B72BB79C92AF9A96EDA5D5D5C8EE44078C1BFC8F25F69CB26B71D95A94A42" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 6, + "startColumn": 38, + "endLine": 6, + "endColumn": 41, + "charOffset": 109, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F680FE56A8F9262AB4CF89A5561543EEE55104B57B5A650B25D57EE2E61C6764" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 9, + "startColumn": 35, + "endLine": 9, + "endColumn": 38, + "charOffset": 172, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4F4C9E9BA8C66547979B938FDEF6ACF5D2E0A99DAA3A715BC346D88D1320086C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 12, + "startColumn": 38, + "endLine": 12, + "endColumn": 41, + "charOffset": 235, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDF95735567CFE7C7767E7A502FCCAF3EB0ACC37A7806C615BD33BA9A27854D4" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 13, + "startColumn": 38, + "endLine": 13, + "endColumn": 41, + "charOffset": 295, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "280B2176E4FC2D11AD02E14CF698E0ACE07354C50CD2870A157E5215219D2661" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 16, + "startColumn": 38, + "endLine": 16, + "endColumn": 41, + "charOffset": 376, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "096DC7643FC6D3ECBE3BA9BFA58B823EFFB4A35503C930C0C9D057391CFFC188" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 17, + "startColumn": 39, + "endLine": 17, + "endColumn": 42, + "charOffset": 421, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "54CD64AF54DB2FFC064925F5CA2E515EFA6B31E1D93C5F5B1A3C6EC6C3E736EC" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 18, + "startColumn": 38, + "endLine": 18, + "endColumn": 41, + "charOffset": 465, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1496ACCF7A0D567324D70560407DEF249DBA9E86EB2118FF3DD7153346BFAA05" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 22, + "startColumn": 44, + "endLine": 22, + "endColumn": 47, + "charOffset": 600, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F6851411AACDB29DBD1ECE9057E2AA2B990690AB6627FC664856258D3D463A47" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 6, + "startColumn": 46, + "endLine": 6, + "endColumn": 49, + "charOffset": 125, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C7091A3513F27202C04E1BC9F8E08F7642BDADBAC385F31C29799BDC1765B20D" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 13, + "startColumn": 39, + "endLine": 13, + "endColumn": 42, + "charOffset": 292, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "274261E534C298DF0B4E4F7B4A511213EF2B1E6AFA7078344962E24AC86BC448" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 14, + "startColumn": 40, + "endLine": 14, + "endColumn": 43, + "charOffset": 354, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80B8828F9AB7453D63F7E0D4E30853CDA6AD059D04CACB92ECDA66EA6394E181" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 15, + "startColumn": 37, + "endLine": 15, + "endColumn": 40, + "charOffset": 397, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43A20BCC9CFFF00CFA233EC7FAA9A6098AE99E29FE19FF5573A1022EA868A6A7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 16, + "startColumn": 39, + "endLine": 16, + "endColumn": 42, + "charOffset": 458, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "25B1569A621E9A0D6E69973A393F080E3E707EE4D4471D2CE187886E387FB09B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 19, + "startColumn": 38, + "endLine": 19, + "endColumn": 41, + "charOffset": 523, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "02BC3E8623E2DDBA5004755AE5F7E9D3CB4593B6E42849D8CC522F767F0923ED" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/City.cs", + "uriBaseId": "solutionDir", + "index": 21 + }, + "region": { + "startLine": 6, + "startColumn": 31, + "endLine": 6, + "endColumn": 34, + "charOffset": 95, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2225C2D6871D242E30DB37B258A5CC8D688861D494DF3F610AC61E04557E6B55" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/City.cs", + "uriBaseId": "solutionDir", + "index": 21 + }, + "region": { + "startLine": 12, + "startColumn": 35, + "endLine": 12, + "endColumn": 38, + "charOffset": 223, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E5BFFA6A69015BFBB346E0EC75BA249D4ED1BCD9AF215666DB85F16EC2D6DCA9" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/City.cs", + "uriBaseId": "solutionDir", + "index": 21 + }, + "region": { + "startLine": 15, + "startColumn": 38, + "endLine": 15, + "endColumn": 41, + "charOffset": 304, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "02BC3E8623E2DDBA5004755AE5F7E9D3CB4593B6E42849D8CC522F767F0923ED" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 6, + "startColumn": 34, + "endLine": 6, + "endColumn": 37, + "charOffset": 101, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9581B767090D3CFD43029FE4A9F80A1399A49E562431954CCE012515F529EFF2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 9, + "startColumn": 38, + "endLine": 9, + "endColumn": 41, + "charOffset": 164, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A85CD4550FDCA6A1C21AEF206AF0F574C1045E4E76DBF336AB3B9891414D72A7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 11, + "startColumn": 36, + "endLine": 11, + "endColumn": 39, + "charOffset": 223, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "15926CFA1D85A1E461F89DC1254818799A61BF5905A88BB59D40D559A40B8184" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 14, + "startColumn": 38, + "endLine": 14, + "endColumn": 41, + "charOffset": 411, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FBF62ED5970C8A609D920423D3087E10FCEE190C98A2757D68FACC719489AFB" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 6, + "startColumn": 40, + "endLine": 6, + "endColumn": 43, + "charOffset": 113, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1A0E926284D9A11193393A73D053DEF54BA306E8B1E7C1640C3D88C401F4865B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 12, + "startColumn": 44, + "endLine": 12, + "endColumn": 47, + "charOffset": 244, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5BA6F89689A841C2AEE565857F526CBF96F9F83AA5BF2C10D5031FADF658A875" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 16, + "startColumn": 36, + "endLine": 16, + "endColumn": 39, + "charOffset": 485, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1F54B02C3612BA9F11BECF063C6C8B9BA84915C60327868621B9D15D2493B5CA" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 19, + "startColumn": 38, + "endLine": 19, + "endColumn": 41, + "charOffset": 566, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "02BC3E8623E2DDBA5004755AE5F7E9D3CB4593B6E42849D8CC522F767F0923ED" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 6, + "startColumn": 38, + "endLine": 6, + "endColumn": 41, + "charOffset": 109, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D63F09980BEA9F3B6CAE1B48972A4582F6D554EFF870AC3909AD7AB8EE59E24" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 9, + "startColumn": 35, + "endLine": 9, + "endColumn": 38, + "charOffset": 169, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "752AA3E846749C1DC05490FD3709371C8F8E8294F5317128AD1E9D465B597A9A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 10, + "startColumn": 36, + "endLine": 10, + "endColumn": 39, + "charOffset": 227, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A967291738694A876A4FE6B68791974646ED963E66D633C88727A5D9D70BCDC7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 11, + "startColumn": 35, + "endLine": 11, + "endColumn": 38, + "charOffset": 284, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "30EAF673CD45902E885FB941552A7DCF57F22DE00992B39A24A9CD8FC8CA2DCF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 12, + "startColumn": 32, + "endLine": 12, + "endColumn": 35, + "charOffset": 338, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CC566A1D9B3D4AA486E64F88C890424F63058CD29C7467ECACCFB1AB02BB1911" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 13, + "startColumn": 40, + "endLine": 13, + "endColumn": 43, + "charOffset": 400, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F6212FD0ECC385CFD435E43BEF0DAD5077E193C5AA4B0F4B69206D48C18DE6D2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 16, + "startColumn": 38, + "endLine": 16, + "endColumn": 41, + "charOffset": 465, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "096DC7643FC6D3ECBE3BA9BFA58B823EFFB4A35503C930C0C9D057391CFFC188" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 17, + "startColumn": 39, + "endLine": 17, + "endColumn": 42, + "charOffset": 510, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "54CD64AF54DB2FFC064925F5CA2E515EFA6B31E1D93C5F5B1A3C6EC6C3E736EC" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 18, + "startColumn": 38, + "endLine": 18, + "endColumn": 41, + "charOffset": 554, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1496ACCF7A0D567324D70560407DEF249DBA9E86EB2118FF3DD7153346BFAA05" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 21, + "startColumn": 51, + "endLine": 21, + "endColumn": 54, + "charOffset": 641, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "34EF973BAA00335C9D39D5FE06216C13001F0A1AE9BFC94C4813FE472B4ABEF2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 6, + "startColumn": 41, + "endLine": 6, + "endColumn": 44, + "charOffset": 115, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD8053D601C95CB763BB02C3FAF82A157F41F4EB21F36D22EB6BDACE1BFC3F03" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 9, + "startColumn": 38, + "endLine": 9, + "endColumn": 41, + "charOffset": 181, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A520E9EC92B498100E22CBBDEB3D90C1D4DD8AD9CB6ADB80B99F1B60A814CD8D" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 12, + "startColumn": 35, + "endLine": 12, + "endColumn": 38, + "charOffset": 241, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AD6A7110DB8F4F3E2C64EC3EB297AF89F308DFBEE7D7C3AAF850DF1B7A48C9E2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 13, + "startColumn": 31, + "endLine": 13, + "endColumn": 34, + "charOffset": 278, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9859EDB5E89DD8FAAA72DB3C4DD187F327E8D30A9C54B81B47BD184A401B2466" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 14, + "startColumn": 34, + "endLine": 14, + "endColumn": 37, + "charOffset": 334, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3A6C95524495B0EF3F0CC010A6D09B38752F05F93A27282ECA7D6F0B4D5AE99C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 15, + "startColumn": 39, + "endLine": 15, + "endColumn": 42, + "charOffset": 379, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8C3CCA4E9A82BF5C2AAAC411C5B5245274207D8D66AD5451799A3A48718685CB" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 18, + "startColumn": 38, + "endLine": 18, + "endColumn": 41, + "charOffset": 444, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A82C0A5CB15B4BD27B37D74DBB8D04D7ACA56A955E83E60ECB05A1A5C37024BF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 11, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 19, + "startColumn": 38, + "endLine": 19, + "endColumn": 41, + "charOffset": 488, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BA90E3EE7DBBEDEC7D8AE83619AF68BFC03D31427382A2B6D8D49D721665612C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "Razor.UnresolvedComponent", + "ruleIndex": 12, + "level": "warning", + "message": { + "text": "It appears like the 'EmailFooter' markup element is a component. Do you want to add the missing namespace import directive?" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Email.Templates/Mail/ResendConfirmation.razor", + "uriBaseId": "solutionDir", + "index": 24 + }, + "region": { + "startLine": 109, + "startColumn": 14, + "endLine": 109, + "endColumn": 25, + "charOffset": 4517, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3B536EFCB0FC22A4A67E4C9D1E2D0B8D0B07293F731CA17FB31829F49D025BFC" + }, + "properties": { + "tags": ["Razor Component",".NET 10.0"] + } + }, + { + "ruleId": "Razor.UnresolvedComponent", + "ruleIndex": 12, + "level": "warning", + "message": { + "text": "It appears like the 'EmailFooter' markup element is a component. Do you want to add the missing namespace import directive?" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Email.Templates/Mail/UserRegistration.razor", + "uriBaseId": "solutionDir", + "index": 25 + }, + "region": { + "startLine": 109, + "startColumn": 14, + "endLine": 109, + "endColumn": 25, + "charOffset": 4624, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE4A1F3C23A56C5A4CAB88611B78D03AB48C2BC810366700E6E39B3140C70CF5" + }, + "properties": { + "tags": ["Razor Component",".NET 10.0"] + } + }, + { + "ruleId": "RedundantAnonymousTypePropertyName", + "ruleIndex": 13, + "level": "warning", + "message": { + "text": "Redundant explicit property name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Repository/AuthRepository.cs", + "uriBaseId": "solutionDir", + "index": 26 + }, + "region": { + "startLine": 49, + "startColumn": 58, + "endLine": 49, + "endColumn": 64, + "charOffset": 1850, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C580E55E06F8E245F55019AEEAEACEB0D2A1ADC9A5D7EDA120042BF264BE44A8" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantAnonymousTypePropertyName", + "ruleIndex": 13, + "level": "warning", + "message": { + "text": "Redundant explicit property name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.UserManagement/Repository/UserAccountRepository.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 62, + "startColumn": 17, + "endLine": 62, + "endColumn": 32, + "charOffset": 2338, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "91458632DA8EF27625817A0C77C5D019399B1CDC71031FE155C4167753C60728" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantArgumentDefaultValue", + "ruleIndex": 14, + "level": "warning", + "message": { + "text": "The parameter 'isHtml' has the same default value" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/EmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 28 + }, + "region": { + "startLine": 39, + "startColumn": 91, + "endLine": 39, + "endColumn": 95, + "charOffset": 1436, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "18267F391B9B9C7343675B020F403DA1605723CDF6A31095B46B71C2ED3C6D76" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantArgumentDefaultValue", + "ruleIndex": 14, + "level": "warning", + "message": { + "text": "The parameter 'isHtml' has the same default value" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/Services/EmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 28 + }, + "region": { + "startLine": 60, + "startColumn": 13, + "endLine": 60, + "endColumn": 17, + "charOffset": 2021, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "15D546BC4DDD62CCDD619ACBC24312246ACBA2CA7997C3AAF78609C49F178C56" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantSuppressNullableWarningExpression", + "ruleIndex": 15, + "level": "warning", + "message": { + "text": "The nullable warning suppression expression is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs", + "uriBaseId": "solutionDir", + "index": 29 + }, + "region": { + "startLine": 32, + "startColumn": 15, + "endLine": 32, + "endColumn": 16, + "charOffset": 968, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A7480612D8900C6061943CA9335FD0BE4705AF820E93E5FCECA94071B6F97F2A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantToStringCall", + "ruleIndex": 16, + "level": "warning", + "message": { + "text": "Redundant 'Object.ToString()' call" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/Program.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 258, + "startColumn": 29, + "endLine": 258, + "endColumn": 40, + "charOffset": 8717, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D79EF060BEB92C107D49843D010A09A69AB95D13B49A2592BB9DCFBAEA374D65" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 416, + "startColumn": 43, + "endLine": 416, + "endColumn": 49, + "charOffset": 15264, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5E31A72F3BD2977FC21294F0C82E94C07CA5A842B7B30BDB8C9830847933A7BE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 435, + "startColumn": 43, + "endLine": 435, + "endColumn": 49, + "charOffset": 16047, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5E31A72F3BD2977FC21294F0C82E94C07CA5A842B7B30BDB8C9830847933A7BE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 454, + "startColumn": 43, + "endLine": 454, + "endColumn": 49, + "charOffset": 16847, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5E31A72F3BD2977FC21294F0C82E94C07CA5A842B7B30BDB8C9830847933A7BE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 473, + "startColumn": 43, + "endLine": 473, + "endColumn": 49, + "charOffset": 17657, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5E31A72F3BD2977FC21294F0C82E94C07CA5A842B7B30BDB8C9830847933A7BE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 982, + "startColumn": 43, + "endLine": 982, + "endColumn": 49, + "charOffset": 39103, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D22351EB264A48AC416DBADD95928AFF94E7574A6A19ABFFAADA9F2F7A363889" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeArgumentsOfMethod", + "ruleIndex": 17, + "level": "warning", + "message": { + "text": "Type argument specification is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1028, + "startColumn": 43, + "endLine": 1028, + "endColumn": 49, + "charOffset": 41071, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D22351EB264A48AC416DBADD95928AFF94E7574A6A19ABFFAADA9F2F7A363889" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 18, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Core/Authentication/JwtAuthenticationHandler.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 86, + "startColumn": 69, + "endLine": 86, + "endColumn": 72, + "charOffset": 3593, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A0C720B80BDEB218E2343D8A8989D1B8397E5FE2B24F6DCBDECEEBDD3AF61438" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 19, + "level": "warning", + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/Program.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 6, + "startColumn": 1, + "endLine": 6, + "endColumn": 26, + "charOffset": 163, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CAF493C9368D1940B2C7485AB9B386F2D4098361C737347BB2ADBD45095C02AD" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 19, + "level": "warning", + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Repository/AuthRepository.cs", + "uriBaseId": "solutionDir", + "index": 26 + }, + "region": { + "startLine": 5, + "startColumn": 1, + "endLine": 5, + "endColumn": 26, + "charOffset": 88, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5726A6C9898B99E8F868F4B1DE1A63AD8935F73C9E11198B99F1BE6D8D16776B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 19, + "level": "warning", + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Repository/IAuthRepository.cs", + "uriBaseId": "solutionDir", + "index": 31 + }, + "region": { + "startLine": 2, + "startColumn": 1, + "endLine": 2, + "endColumn": 26, + "charOffset": 23, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2058967485AD346399276702076FB6C6A4C3D70B6CF2500322DAA9B3BFBB3E88" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'ActivityWeight.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserResult.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 15, + "startColumn": 44, + "endLine": 15, + "endColumn": 48, + "charOffset": 370, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "845CE355C2CD96ED388F5770B94DAE39FE9228DD06F936E39F44CD8205D5B8C9" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Address.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserRecord.cs", + "uriBaseId": "solutionDir", + "index": 33 + }, + "region": { + "startLine": 5, + "startColumn": 43, + "endLine": 5, + "endColumn": 47, + "charOffset": 115, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D28D420A22B6F8BB959702165847998488E4FD9844922CB3EC92913CCDB68EB8" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Bio.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserResult.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 13, + "startColumn": 34, + "endLine": 13, + "endColumn": 38, + "charOffset": 313, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DACFB76D6741AA54B4776CEC22973A8108B24D6E4A40EC2BF9719D1E42494AD7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Body.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 53, + "startColumn": 30, + "endLine": 53, + "endColumn": 34, + "charOffset": 1343, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F9E55F9558DE58CD7E8623144F83B8BFB93A73D523B12FA55D3FBF3BF3F5B33F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'City.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserAddress.cs", + "uriBaseId": "solutionDir", + "index": 34 + }, + "region": { + "startLine": 5, + "startColumn": 33, + "endLine": 5, + "endColumn": 37, + "charOffset": 106, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DAE5262F633D41D0FB9B16A15D16CB4BFC3D136F39FA2B6504DD470074C21A3B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'CityRegexes.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/PostalCodeSpec.cs", + "uriBaseId": "solutionDir", + "index": 35 + }, + "region": { + "startLine": 7, + "startColumn": 48, + "endLine": 7, + "endColumn": 52, + "charOffset": 186, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C21A86BFCE6C04FA3557F93189702608C860AE89B02CD9FA184F961EAAD2AE73" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'ConfirmationToken.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 55, + "startColumn": 43, + "endLine": 55, + "endColumn": 47, + "charOffset": 1509, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CF73C2D2343D1D8E0A6498E181D84B854D43D2AECA05069B507BC9BF69DE30DE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'ConfirmationToken.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 63, + "startColumn": 43, + "endLine": 63, + "endColumn": 47, + "charOffset": 1802, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CF73C2D2343D1D8E0A6498E181D84B854D43D2AECA05069B507BC9BF69DE30DE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'CountryFormatRegex.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/PostalCodeSpec.cs", + "uriBaseId": "solutionDir", + "index": 35 + }, + "region": { + "startLine": 5, + "startColumn": 49, + "endLine": 5, + "endColumn": 53, + "charOffset": 125, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7ACD669B86EFED79B849F057BACA448DD37A7A0FFFE586067FE8A3B61F907389" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'DescriptionLocal.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/BreweryResult.cs", + "uriBaseId": "solutionDir", + "index": 36 + }, + "region": { + "startLine": 11, + "startColumn": 47, + "endLine": 11, + "endColumn": 51, + "charOffset": 282, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "24448D42659F4BBE5F5ACFBFCB3033DC875D2E6AD31C041E425DA13EFBDD0F1E" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Email.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 54, + "startColumn": 31, + "endLine": 54, + "endColumn": 35, + "charOffset": 1438, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1407DEF768DF94AA2C466A9BA883DE730539A16C5D7642B32BDD1FBFDC0B87EF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Email.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 62, + "startColumn": 31, + "endLine": 62, + "endColumn": 35, + "charOffset": 1731, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1407DEF768DF94AA2C466A9BA883DE730539A16C5D7642B32BDD1FBFDC0B87EF" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'FirstName.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 53, + "startColumn": 35, + "endLine": 53, + "endColumn": 39, + "charOffset": 1379, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4870EC24E68CE6D3A932D5C3B085C9552A1D1AA99872A27CA42D3293C13E96B7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'FirstName.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 61, + "startColumn": 35, + "endLine": 61, + "endColumn": 39, + "charOffset": 1672, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4870EC24E68CE6D3A932D5C3B085C9552A1D1AA99872A27CA42D3293C13E96B7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Gender.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserResult.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 9, + "startColumn": 37, + "endLine": 9, + "endColumn": 41, + "charOffset": 214, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1DF08A15122A1B262416C2E402764C1E6CD6A337F05EA8A426F2CAEECEA438F6" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'IsHtml.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 54, + "startColumn": 30, + "endLine": 54, + "endColumn": 34, + "charOffset": 1401, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B633517FB82FC04D69AFB948C65433ECFB9FCAC0DC30547284807020935BA78B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'LocalLanguages.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/City.cs", + "uriBaseId": "solutionDir", + "index": 37 + }, + "region": { + "startLine": 15, + "startColumn": 51, + "endLine": 15, + "endColumn": 55, + "charOffset": 381, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CBB5DE1530F9BD2D895575CC4D2F0CAD4D34547A4763F074278E2385AE720A66" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Message.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Shared/Shared.Contracts/ResponseBody.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 9, + "startColumn": 38, + "endLine": 9, + "endColumn": 42, + "charOffset": 310, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "11200401E4D019FF54F8C5B4F6244CF43CB5F7825B7D54CD6433DBAF80724A59" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Message.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Shared/Shared.Contracts/ResponseBody.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 21, + "startColumn": 38, + "endLine": 21, + "endColumn": 42, + "charOffset": 703, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7B5B524C4348DA59C1B9F8139A68C888F07EEBDE45CA5CF11316DC379813988C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Payload.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Shared/Shared.Contracts/ResponseBody.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 12, + "startColumn": 33, + "endLine": 12, + "endColumn": 37, + "charOffset": 417, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40186BA46B7019C070D55A0AE6C92824B4A31D3E7B7709389F50C30562B6DDB0" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'PostalCode.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/City.cs", + "uriBaseId": "solutionDir", + "index": 37 + }, + "region": { + "startLine": 17, + "startColumn": 49, + "endLine": 17, + "endColumn": 53, + "charOffset": 449, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7934E58C6F77FF8E112F2EDF0465F3644FAFC22079D5B4AC638C9C3C29D21667" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'PostalCode.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/UserAddress.cs", + "uriBaseId": "solutionDir", + "index": 34 + }, + "region": { + "startLine": 7, + "startColumn": 41, + "endLine": 7, + "endColumn": 45, + "charOffset": 160, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8E6F480EFBC2D3CCEA21C1BB22073CEA78E1DA3E378DFC25512BDBA755561A72" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'SentAt.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 56, + "startColumn": 34, + "endLine": 56, + "endColumn": 38, + "charOffset": 1571, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B0B1473B503E602AD1BCB0B2AF17D0AB90B9D29D9C87C693EA27FA1C94B46242" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'SentAt.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 64, + "startColumn": 34, + "endLine": 64, + "endColumn": 38, + "charOffset": 1864, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B0B1473B503E602AD1BCB0B2AF17D0AB90B9D29D9C87C693EA27FA1C94B46242" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'SentAt.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 55, + "startColumn": 34, + "endLine": 55, + "endColumn": 38, + "charOffset": 1447, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "69AD60BB5D44481CCFBF8B648DD94F0F05C9E9519D76B30B9D071B1ABC1AB286" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'Subject.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 52, + "startColumn": 33, + "endLine": 52, + "endColumn": 37, + "charOffset": 1285, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "563409CE93B04DD66B53F76AF802B5572116343F0185B1A4BDCA8CA07B6687CE" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 20, + "level": "warning", + "message": { + "text": "Auto-property accessor 'To.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 51, + "startColumn": 34, + "endLine": 51, + "endColumn": 38, + "charOffset": 1231, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "031AC45656FA7D637B85B3F3EC9EF8CB00C0CA0F976825B8FEFFDFCDAA0116D7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Constant 'Conflict' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 35, + "startColumn": 22, + "endLine": 35, + "endColumn": 30, + "charOffset": 1665, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4BCD6484E1DE579CBC674555577C8D2958E5FC6C3E8D476C7CC98B20141C85C7" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Constant 'InternalFailure' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 43, + "startColumn": 22, + "endLine": 43, + "endColumn": 37, + "charOffset": 2127, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "00FB34AAB9EB9203C97C795ABE94E3BAB0ECF9FD90BBA5B380A0B0EFD0A5EB7F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Constant 'NotFound' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 29, + "startColumn": 22, + "endLine": 29, + "endColumn": 30, + "charOffset": 1394, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F9695B376460E6BAED86301E6D8CBF0EF0E264F20947D69EBF9C9E323186E2B0" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Constant 'Validation' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 23, + "startColumn": 22, + "endLine": 23, + "endColumn": 32, + "charOffset": 1179, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3E2DCF301DC8F793EE3F68284E8788E749F713A0BA578CE334F5BE92D4A8DD38" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'Clear' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 45, + "startColumn": 17, + "endLine": 45, + "endColumn": 22, + "charOffset": 1197, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F53BB60DF439BAA86B69B89DE3B82116AFDB79F4C1570CE3B7658705E6918098" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'Clear' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 44, + "startColumn": 17, + "endLine": 44, + "endColumn": 22, + "charOffset": 1116, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F53BB60DF439BAA86B69B89DE3B82116AFDB79F4C1570CE3B7658705E6918098" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'DeleteAsync' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.UserManagement/Repository/IUserAccountRepository.cs", + "uriBaseId": "solutionDir", + "index": 40 + }, + "region": { + "startLine": 26, + "startColumn": 10, + "endLine": 26, + "endColumn": 21, + "charOffset": 1169, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BA9018386D38FF7736C4D60BE116D93310E396CA2D2B5BD636A922AE101DEE26" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'GenerateToken' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Services/ITokenService.cs", + "uriBaseId": "solutionDir", + "index": 41 + }, + "region": { + "startLine": 67, + "startColumn": 12, + "endLine": 67, + "endColumn": 25, + "charOffset": 2438, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5F42BD333EAFF466BCFB5C09457B840433215A9AB63951963D5DF701FB346901" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'GetByEmailAsync' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.UserManagement/Repository/IUserAccountRepository.cs", + "uriBaseId": "solutionDir", + "index": 40 + }, + "region": { + "startLine": 32, + "startColumn": 24, + "endLine": 32, + "endColumn": 39, + "charOffset": 1477, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7524F45A1F7D26422BC9D994CFED9F61294C630116AD888B6EB796F9F0219045" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'GetByUsernameAsync' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.UserManagement/Repository/IUserAccountRepository.cs", + "uriBaseId": "solutionDir", + "index": 40 + }, + "region": { + "startLine": 29, + "startColumn": 24, + "endLine": 29, + "endColumn": 42, + "charOffset": 1313, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "353AECFC46B013DF947A5ACC611B5559D796406CF11E48083DD726F8ED21B363" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Method 'RotateCredentialAsync' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Repository/IAuthRepository.cs", + "uriBaseId": "solutionDir", + "index": 31 + }, + "region": { + "startLine": 29, + "startColumn": 10, + "endLine": 29, + "endColumn": 31, + "charOffset": 1471, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F8AA3244D3E7D0024641D83D63ECB47453A28F33CDE9DE8533DD8DD56729162A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'ABV' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 16, + "startColumn": 20, + "endLine": 16, + "endColumn": 23, + "charOffset": 463, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D129E9DE167D518819DDF6726B07B0E386A40D9B96E4AB515B82E6D9BACE3BC5" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BeerPostId' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 6, + "startColumn": 17, + "endLine": 6, + "endColumn": 27, + "charOffset": 85, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5586443022BDEBAC9E08E7F695D49618A8C7B8A8316B1E60F03E760D861FE975" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BeerStyle' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 28, + "startColumn": 23, + "endLine": 28, + "endColumn": 32, + "charOffset": 852, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5BD2D231920FED6B6E275DF956056731EFB5308D4B9540E8C6DC8A14F67E647B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BeerStyleId' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 10, + "startColumn": 17, + "endLine": 10, + "endColumn": 28, + "charOffset": 217, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A9D1F9E1C3F98071B4A793766E2E2BC90C4FB1339DD515ACA4BD1BC271366E08" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BeerStyleId' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 6, + "startColumn": 17, + "endLine": 6, + "endColumn": 28, + "charOffset": 86, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "71D7BD6C26F41F067037CDFAE4033A653A7ED7ABFA4E6558C1307A03875D42F2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BeerStyleName' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 9, + "startColumn": 19, + "endLine": 9, + "endColumn": 32, + "charOffset": 163, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "97CB1EF0BF358507AA37D243B1D2CC89FD3587FEC91CA63903528866AC404687" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BrewedBy' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 26, + "startColumn": 25, + "endLine": 26, + "endColumn": 33, + "charOffset": 806, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2FF15926A522AD4E9E9C81567F0D59E3ED1803F30712551D334AC6A32C68D16C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'BrewedById' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 11, + "startColumn": 17, + "endLine": 11, + "endColumn": 27, + "charOffset": 273, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "06A949C3A09C9D0105FDE6AF49B7E518F819C76335EBEAEB3B4F1546FAD61153" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'CreatedAt' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 20, + "startColumn": 21, + "endLine": 20, + "endColumn": 30, + "charOffset": 555, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7F64340BD528EE6C18CDCB6DAC2D9D46568552D849CB82EA1EA534E918E92639" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'CreatedAt' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 13, + "startColumn": 21, + "endLine": 13, + "endColumn": 30, + "charOffset": 308, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7F64340BD528EE6C18CDCB6DAC2D9D46568552D849CB82EA1EA534E918E92639" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'Description' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 15, + "startColumn": 19, + "endLine": 15, + "endColumn": 30, + "charOffset": 402, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "19E42CE89BC31160839BB0553AC7FC08B4FED816149F6507379476D3BEC30A27" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'Description' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 10, + "startColumn": 19, + "endLine": 10, + "endColumn": 30, + "charOffset": 225, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B9666CD80404ADD22FF30F6F9DBA3AA81DD9E1B20A29FAD0966DEFEBCFD18F82" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'Examples' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/PipelineData/PostalCodeSpec.cs", + "uriBaseId": "solutionDir", + "index": 35 + }, + "region": { + "startLine": 9, + "startColumn": 34, + "endLine": 9, + "endColumn": 42, + "charOffset": 239, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "72124DFE35EC43C6A8BECB70D82659A97723C4B3AD43A7F996389BE6F6D595D8" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'IBU' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 17, + "startColumn": 16, + "endLine": 17, + "endColumn": 19, + "charOffset": 496, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E0EE9968E4F591845334DFCEB8761FBA03AC75658A6361363C1A65C37259AE45" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'Name' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 14, + "startColumn": 19, + "endLine": 14, + "endColumn": 23, + "charOffset": 349, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A0B7F37A5300B9AA0DA789F980E2E74925BD6615B2094BC6BAD841CB3E158F4F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'PostedBy' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 25, + "startColumn": 25, + "endLine": 25, + "endColumn": 33, + "charOffset": 759, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D9C03218D47EB3F38EF5C74A9863AD09E33EA821146F89382242F1BF80B9F869" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'PostedById' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 9, + "startColumn": 17, + "endLine": 9, + "endColumn": 27, + "charOffset": 162, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "420E26EAED244ADF626E32180475436063BDD164F8C00477F7B3D52715D99610" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'RowVersion' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 22, + "startColumn": 20, + "endLine": 22, + "endColumn": 30, + "charOffset": 680, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5372D0B2D451B409F7D89DDEB8B5C69746683935E216FD25DC9DFDB55F1D57F6" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'RowVersion' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 15, + "startColumn": 20, + "endLine": 15, + "endColumn": 30, + "charOffset": 433, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DD3E4D41FF08E3D48ABDD6FE305CB69ADB1E5BC0BA593907E34B971ADCDFAE8C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'RowVersion' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 15, + "startColumn": 20, + "endLine": 15, + "endColumn": 30, + "charOffset": 306, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FBF62ED5970C8A609D920423D3087E10FCEE190C98A2757D68FACC719489AFB" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'SqlServerConnectionString' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Database/Database.Seed/DatabaseHelpers/ConnectionStrings.cs", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 11, + "startColumn": 26, + "endLine": 11, + "endColumn": 51, + "charOffset": 148, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CD6A1A0D813BFB7F08AA4732536449FED0C8F61A584FAA566F86D50F7D6F597F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'UpdatedAt' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 21, + "startColumn": 21, + "endLine": 21, + "endColumn": 30, + "charOffset": 618, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F07B75FEBF4B2FD64DA421DA3641AC666229831ED612C4F01538C0BDE74ED320" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'UpdatedAt' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 14, + "startColumn": 21, + "endLine": 14, + "endColumn": 30, + "charOffset": 371, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F07B75FEBF4B2FD64DA421DA3641AC666229831ED612C4F01538C0BDE74ED320" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'UserAccountId' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 9, + "startColumn": 17, + "endLine": 9, + "endColumn": 30, + "charOffset": 164, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A520E9EC92B498100E22CBBDEB3D90C1D4DD8AD9CB6ADB80B99F1B60A814CD8D" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'UserVerificationId' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 6, + "startColumn": 17, + "endLine": 6, + "endColumn": 35, + "charOffset": 93, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B93E21BAE46ADF1C07D367C5172716A5ED5F30C8B9A684772D893FE224ED7410" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMember.Global", + "ruleIndex": 21, + "level": "note", + "message": { + "text": "Property 'VerificationDateTime' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 12, + "startColumn": 21, + "endLine": 12, + "endColumn": 41, + "charOffset": 231, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "778B80550D03751B2838F864D675E273135AF504DA47F782649351546C1EE083" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 22, + "level": "note", + "message": { + "text": "Only implementations of method 'SendAsync' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Email/IEmailProvider.cs", + "uriBaseId": "solutionDir", + "index": 43 + }, + "region": { + "startLine": 20, + "startColumn": 10, + "endLine": 20, + "endColumn": 19, + "charOffset": 991, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EDC60A5ED3D81C8DEDBCB9591AE72C327014B1D6F70EBAD05037D3150B4E77B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 22, + "level": "note", + "message": { + "text": "Only implementations of method 'ValidateAccessTokenAsync' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Services/ITokenService.cs", + "uriBaseId": "solutionDir", + "index": 41 + }, + "region": { + "startLine": 74, + "startColumn": 26, + "endLine": 74, + "endColumn": 50, + "charOffset": 2853, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "22F952E85F156EA9FD07A69CB8129B2E030FECB203736056D27636A6F90A093D" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 22, + "level": "note", + "message": { + "text": "Only implementations of method 'ValidateRefreshTokenAsync' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Services/ITokenService.cs", + "uriBaseId": "solutionDir", + "index": 41 + }, + "region": { + "startLine": 80, + "startColumn": 26, + "endLine": 80, + "endColumn": 51, + "charOffset": 3241, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9891CDD0759D945CA1266D995F60F52E283A854C3B8715A4AA61C287FB616E1A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddFeaturesAuth' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/DependencyInjection/FeaturesAuthServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 44 + }, + "region": { + "startLine": 15, + "startColumn": 19, + "endLine": 15, + "endColumn": 37, + "charOffset": 583, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9990C0ABDEB5BB5E597C10C73094714DD0E14888A7183D4A9B623E1C32860638" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddFeaturesBreweries' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 45 + }, + "region": { + "startLine": 11, + "startColumn": 19, + "endLine": 11, + "endColumn": 37, + "charOffset": 469, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4D98214B98866AD4FDC08583D2D040C03EF4A387396A48414C3A41FC4D02B60F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddFeaturesEmails' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 46 + }, + "region": { + "startLine": 17, + "startColumn": 19, + "endLine": 17, + "endColumn": 37, + "charOffset": 611, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FE9C7A367665F1C68D5614E88D72ED9DBE25D1006624B5E6B7B0581D3206F83F" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddFeaturesLocations' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Locations/DependencyInjection/FeaturesLocationsServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 47 + }, + "region": { + "startLine": 15, + "startColumn": 19, + "endLine": 15, + "endColumn": 37, + "charOffset": 540, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9CEC0E2A8C3B207A0657410FB9C9B5F9616F09AE5B5B969292BEFA8C0B4C3A9A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddFeaturesUserManagement' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.UserManagement/DependencyInjection/FeaturesUserManagementServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 48 + }, + "region": { + "startLine": 15, + "startColumn": 19, + "endLine": 15, + "endColumn": 37, + "charOffset": 563, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "325AA9CA199A60B50FA0AF5BDD68AAF4CBD6C42CCF17BB3B7DE742BA7C526078" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Method 'AddInfrastructureSql' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/DependencyInjection/InfrastructureSqlServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir", + "index": 49 + }, + "region": { + "startLine": 10, + "startColumn": 19, + "endLine": 10, + "endColumn": 37, + "charOffset": 519, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D82F178B6E882DD7A81F9E5997FC8AD4765067FD04178E624D9188D754C9DF88" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedParameter.Local", + "ruleIndex": 24, + "level": "warning", + "message": { + "text": "Parameter 'options' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Core/Program.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 79, + "startColumn": 75, + "endLine": 79, + "endColumn": 82, + "charOffset": 2985, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0E7C164526C7FBB84BA0354FDCE2A30C9F26FA96D7697E49E836C26EDCCB6F83" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'CreateBreweryValidator' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 6, + "startColumn": 14, + "endLine": 6, + "endColumn": 36, + "charOffset": 162, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FC2510A598AA6C79D0CA745973692DAB065A1F3A4F42F7E586C9DB6FCBC73754" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'LoginValidator' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Commands/Login/LoginValidator.cs", + "uriBaseId": "solutionDir", + "index": 51 + }, + "region": { + "startLine": 6, + "startColumn": 14, + "endLine": 6, + "endColumn": 28, + "charOffset": 208, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "56BE643897C32FEF9C8E09E69D557A303D33FA9181544AD21CE4B94F97B9A0F1" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'RefreshTokenValidator' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Commands/RefreshToken/RefreshTokenValidator.cs", + "uriBaseId": "solutionDir", + "index": 52 + }, + "region": { + "startLine": 6, + "startColumn": 14, + "endLine": 6, + "endColumn": 35, + "charOffset": 184, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "05D382B290FF4A58577EAB45B3020515A0C28F144610FC3CD9E009DC2656E0BD" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'RegisterUserValidator' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth/Commands/RegisterUser/RegisterUserValidator.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 9, + "startColumn": 14, + "endLine": 9, + "endColumn": 35, + "charOffset": 308, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3F90411DA9DF41FDA6751575661607D4640EFADCD6C329C8FCD2D6B7DF011CBC" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'SqlErrorCodes' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 17, + "startColumn": 21, + "endLine": 17, + "endColumn": 34, + "charOffset": 957, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4FAA45FC648F43485EF22D3AC3EB80AA65ECD0E8D3BD6BEB142E5A597202592B" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'UpdateBreweryValidator' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryValidator.cs", + "uriBaseId": "solutionDir", + "index": 54 + }, + "region": { + "startLine": 6, + "startColumn": 14, + "endLine": 6, + "endColumn": 36, + "charOffset": 162, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "586CBA64495DF03D3EBCA714F8874B37289A24527C3398C4DA0B17EA3A654B7D" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedType.Global", + "ruleIndex": 25, + "level": "note", + "message": { + "text": "Class 'UserVerification' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 3, + "startColumn": 21, + "endLine": 3, + "endColumn": 37, + "charOffset": 48, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0099B6298621C4BBDC327E6B035EE865783AA62834FAC140AB6D8B1EDCD9ABF2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedTypeParameter", + "ruleIndex": 26, + "level": "warning", + "message": { + "text": "Type parameter 'T' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Sql/Repository.cs", + "uriBaseId": "solutionDir", + "index": 55 + }, + "region": { + "startLine": 9, + "startColumn": 34, + "endLine": 9, + "endColumn": 35, + "charOffset": 255, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "486342C4D29EA5AC5E0276642B547479164EB3A11C486319DE21DCA3E79326A2" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 27, + "level": "warning", + "message": { + "text": "Local variable 'ex' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Core/GlobalException.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 76, + "startColumn": 31, + "endLine": 76, + "endColumn": 33, + "charOffset": 3028, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "27D61290197C32E7A1663EF38BD1D5BE62CF631AC95A264128510C5D374F8509" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 27, + "level": "warning", + "message": { + "text": "Local variable 'response' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/ApiGeneralSteps.cs", + "uriBaseId": "solutionDir", + "index": 57 + }, + "region": { + "startLine": 97, + "startColumn": 85, + "endLine": 97, + "endColumn": 93, + "charOffset": 3208, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "253B20672CFD8A254EFA790AEA379B545917A192D9A5FEA43064A7175114396C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 27, + "level": "warning", + "message": { + "text": "Local variable 'response' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/ApiGeneralSteps.cs", + "uriBaseId": "solutionDir", + "index": 57 + }, + "region": { + "startLine": 133, + "startColumn": 85, + "endLine": 133, + "endColumn": 93, + "charOffset": 4608, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "253B20672CFD8A254EFA790AEA379B545917A192D9A5FEA43064A7175114396C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 27, + "level": "warning", + "message": { + "text": "Local variable 'response' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 228, + "startColumn": 85, + "endLine": 228, + "endColumn": 93, + "charOffset": 8239, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "253B20672CFD8A254EFA790AEA379B545917A192D9A5FEA43064A7175114396C" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Commands/ConfirmUserHandlerTests.cs", + "uriBaseId": "solutionDir", + "index": 58 + }, + "region": { + "startLine": 29, + "startColumn": 30, + "endLine": 29, + "endColumn": 33, + "charOffset": 917, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0708EB63B258A96F6723BE7C92F3B4E6F5EFA7C04DBE055992DFB8F6DD150EA" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceRefreshTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 49, + "startColumn": 30, + "endLine": 49, + "endColumn": 33, + "charOffset": 1573, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCC1C1A5D504B1E97D140A1BCA8596534AFA9B9F1F90FDFA3BB3E88CB2856E18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceRefreshTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 150, + "startColumn": 30, + "endLine": 150, + "endColumn": 33, + "charOffset": 5147, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCC1C1A5D504B1E97D140A1BCA8596534AFA9B9F1F90FDFA3BB3E88CB2856E18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 48, + "startColumn": 30, + "endLine": 48, + "endColumn": 33, + "charOffset": 1553, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCC1C1A5D504B1E97D140A1BCA8596534AFA9B9F1F90FDFA3BB3E88CB2856E18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 84, + "startColumn": 30, + "endLine": 84, + "endColumn": 33, + "charOffset": 2774, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCC1C1A5D504B1E97D140A1BCA8596534AFA9B9F1F90FDFA3BB3E88CB2856E18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 115, + "startColumn": 30, + "endLine": 115, + "endColumn": 33, + "charOffset": 3817, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCC1C1A5D504B1E97D140A1BCA8596534AFA9B9F1F90FDFA3BB3E88CB2856E18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 180, + "startColumn": 30, + "endLine": 180, + "endColumn": 33, + "charOffset": 5998, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D2FF2A6096793E09FCBCACD699D3B46233DE1361FDB2EBA818B2E6589CE44F61" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 209, + "startColumn": 30, + "endLine": 209, + "endColumn": 33, + "charOffset": 7000, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "172D94B8894A25D63143AE27E004B74700C386AC9BA2A0E8C8CFEE6805DBF007" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 238, + "startColumn": 30, + "endLine": 238, + "endColumn": 33, + "charOffset": 8006, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "30AEEA8B359CCAC3F791B71AC69354D7FE9897EF0CB49E1C8394A1C6E937EC84" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Features/Features.Breweries.Tests/Queries/GetAllBreweriesHandlerTests.cs", + "uriBaseId": "solutionDir", + "index": 60 + }, + "region": { + "startLine": 37, + "startColumn": 35, + "endLine": 37, + "endColumn": 40, + "charOffset": 1060, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BCFD7BC83138155F6A2C4F328C1CF59F07D71907C37164699334E6BCED226B18" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 25, + "startColumn": 30, + "endLine": 25, + "endColumn": 33, + "charOffset": 1044, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CC4FB5CCEF7938091834090F737B600F919F1EE783733556701FED68BCA6F85A" + }, + "properties": { + "tags": ["C#",".NET 10.0"] + } + } + ], + "tool": { + "driver": { + "name": "InspectCode", + "organization": "JetBrains, Inc", + "fullName": "JetBrains Inspect Code 2026.2.1", + "semanticVersion": "262.0.20260818.210923", + "informationUri": "http://www.jetbrains.com/resharper/features/command-line.html", + "rules": [ + { + "id": "ClassNeverInstantiated.Global", + "fullDescription": { + "text": "Non-static class is never instantiated" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Global.html" + }, + "shortDescription": { + "text": "Class is never instantiated: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverQueried.Global", + "fullDescription": { + "text": "Elements are only added to the collection but never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Global.html" + }, + "shortDescription": { + "text": "Collection content is never queried: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "fullDescription": { + "text": "Expression is always 'true' or 'false' according to nullable reference types' annotations" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract.html" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToPrimaryConstructor", + "fullDescription": { + "text": "Replace ordinary constructor with primary constructor" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToPrimaryConstructor.html" + }, + "shortDescription": { + "text": "Convert constructor into primary constructor" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToPrimaryConstructor.html", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToStaticClass", + "fullDescription": { + "text": "Make class static" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToStaticClass.html" + }, + "shortDescription": { + "text": "Convert into static class" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToStaticClass.html", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentNaming", + "fullDescription": { + "text": "Name doesn't match naming style defined for this kind of symbol" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/InconsistentNaming.html" + }, + "shortDescription": { + "text": "Inconsistent Naming" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InconsistentNaming.html", + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvalidXmlDocComment", + "fullDescription": { + "text": "Invalid XML documentation comment" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/InvalidXmlDocComment.html" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InvalidXmlDocComment.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBePrivate.Global", + "fullDescription": { + "text": "Member can be made private" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Global.html" + }, + "shortDescription": { + "text": "Member can be made private: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodHasAsyncOverload", + "fullDescription": { + "text": "Method has async overload" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/MethodHasAsyncOverload.html" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MethodHasAsyncOverload.html", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPositionalProperty.Global", + "fullDescription": { + "text": "Positional property is never accessed for reading" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Global.html" + }, + "shortDescription": { + "text": "Non-accessed positional property: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PrivateFieldCanBeConvertedToLocalVariable", + "fullDescription": { + "text": "Private field is always assigned before being used and can be converted into a local variable" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/PrivateFieldCanBeConvertedToLocalVariable.html" + }, + "shortDescription": { + "text": "Private field can be converted into local variable" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/PrivateFieldCanBeConvertedToLocalVariable.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PropertyCanBeMadeInitOnly.Global", + "fullDescription": { + "text": "Property setter can be replaced with 'init' accessor to enforce property immutability" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/PropertyCanBeMadeInitOnly.Global.html" + }, + "shortDescription": { + "text": "Property can be made init-only: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/PropertyCanBeMadeInitOnly.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Razor.UnresolvedComponent", + "fullDescription": { + "text": "Unknown HTML tag, may be a component" + }, + "defaultConfiguration": { + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "Razor.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantAnonymousTypePropertyName", + "fullDescription": { + "text": "Explicit name specification of anonymous type property is redundant. It is inferred from the initializer expression." + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantAnonymousTypePropertyName.html" + }, + "shortDescription": { + "text": "Redundant anonymous type property explicit name" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantAnonymousTypePropertyName.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantArgumentDefaultValue", + "fullDescription": { + "text": "Corresponding parameter is optional and has the same value, so the argument could be omitted" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantArgumentDefaultValue.html" + }, + "shortDescription": { + "text": "Redundant argument with default value" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantArgumentDefaultValue.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantSuppressNullableWarningExpression", + "fullDescription": { + "text": "Nullable warning suppression expression does not suppress any warnings and is applied to an already non-nullable operand" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantSuppressNullableWarningExpression.html" + }, + "shortDescription": { + "text": "Redundant nullable warning suppression expression" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantSuppressNullableWarningExpression.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantToStringCall", + "fullDescription": { + "text": "Use of ToString() call in a context where it would be generated by the compiler automatically.\r\n For example, in a concatenation with a string or as an argument of a string.Format() call." + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantToStringCall.html" + }, + "shortDescription": { + "text": "Redundant 'object.ToString()' call" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantToStringCall.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantTypeArgumentsOfMethod", + "fullDescription": { + "text": "Specification of method type arguments is redundant because they are inferred from argument types" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantTypeArgumentsOfMethod.html" + }, + "shortDescription": { + "text": "Redundant type arguments of method" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantTypeArgumentsOfMethod.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantTypeDeclarationBody", + "fullDescription": { + "text": "Empty type declaration body can be replaced with semicolon" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantTypeDeclarationBody.html" + }, + "shortDescription": { + "text": "Redundant type declaration body" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantTypeDeclarationBody.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantUsingDirective", + "fullDescription": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/RedundantUsingDirective.html" + }, + "shortDescription": { + "text": "Redundant using directive" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/RedundantUsingDirective.html", + "relationships": [ + { + "target": { + "id": "ASPX.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedAutoPropertyAccessor.Global", + "fullDescription": { + "text": "Accessor in auto-property is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedAutoPropertyAccessor.Global.html" + }, + "shortDescription": { + "text": "Auto-property accessor is never used: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedAutoPropertyAccessor.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMember.Global", + "fullDescription": { + "text": "Type member is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedMember.Global.html" + }, + "shortDescription": { + "text": "Type member is never used: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedMember.Global.html", + "relationships": [ + { + "target": { + "id": "ASPX.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "ASXX.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMemberInSuper.Global", + "fullDescription": { + "text": "Type member is never used with base type or interface, it is always accessed via more specific type" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedMemberInSuper.Global.html" + }, + "shortDescription": { + "text": "Type member is never accessed via base type: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedMemberInSuper.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMethodReturnValue.Global", + "fullDescription": { + "text": "Method return value is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedMethodReturnValue.Global.html" + }, + "shortDescription": { + "text": "Method return value is never used: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedMethodReturnValue.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedParameter.Local", + "fullDescription": { + "text": "Parameter is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedParameter.Local.html" + }, + "shortDescription": { + "text": "Unused parameter: Private accessibility" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedParameter.Local.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedType.Global", + "fullDescription": { + "text": "Type is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedType.Global.html" + }, + "shortDescription": { + "text": "Type is never used: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedType.Global.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedTypeParameter", + "fullDescription": { + "text": "Type parameter is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedTypeParameter.html" + }, + "shortDescription": { + "text": "Unused type parameter" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedTypeParameter.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedVariable", + "fullDescription": { + "text": "Local variable is never used" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnusedVariable.html" + }, + "shortDescription": { + "text": "Unused local variable" + }, + "defaultConfiguration": { + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnusedVariable.html", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseCollectionExpression", + "fullDescription": { + "text": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax" + }, + "help": { + "text": "https://www.jetbrains.com/help/resharper/UseCollectionExpression.html" + }, + "shortDescription": { + "text": "Use collection expression syntax" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UseCollectionExpression.html", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "taxa": [ + { + "id": "ASPX", + "name": "Aspx" + }, + { + "id": "ASPX.CodeRedundancy", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "ASPX", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ASPX.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "ASPX", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ASXX", + "name": "HttpHandler or WebService" + }, + { + "id": "ASXX.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "ASXX", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP", + "name": "C#" + }, + { + "id": "CSHARP.BestPractice", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.CodeRedundancy", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.LanguageUsage", + "name": "Language Usage Opportunities", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Razor", + "name": "Razor" + }, + { + "id": "Razor.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Razor", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC", + "name": "VB.NET" + }, + { + "id": "VBASIC.BestPractice", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML", + "name": "XAML" + }, + { + "id": "XAML.BestPractice", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ] + } + }, + "invocations": [ + { + "executionSuccessful": true + } + ], + "versionControlProvenance": [ + { + "repositoryUri": "https://github.com/aaronpo97/the-biergarten-app", + "revisionId": "7bcadc5ae4dcfd1169152ab0c13a87415676f43c", + "branch": "main-2.0" + } + ], + "originalUriBaseIds": { + "solutionDir": { + "uri": "file:///home/aaronpo/projects/the-biergarten-app/web/backend/", + "description": { + "text": "Solution Directory" + } + } + }, + "artifacts": [ + { + "location": { + "uri": "Domain/Domain.Entities/Entities/BeerPost.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "BC1D55155C9413FE9773B2EBC0C05EC4", + "sha-1": "2CC2FDFC4E2BC8C2AD11926731F59D6F3C8ACC3D", + "sha-256": "254E80CF25F6BB140D6825330F8DDEEBB1FF3AE69D56660460D15DD2069F8AA0" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/BeerStyle.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "97D0D8BB00DE68CE8F80D02253016870", + "sha-1": "D4EC0755201A12220A9A7A5FCD1F6DCE66E450C9", + "sha-256": "E1BACA06C01DDBF3CBEC70351861A64CC899265A52E86A5A033DAD691A58C2C7" + } + }, + { + "location": { + "uri": "Database/Database.Seed/DatabaseHelpers/ConnectionStrings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3A3413055A158FB4FC677CE1F598BF14", + "sha-1": "4EC07FCDBC68BA4E91E46A44C764E10CF900F229", + "sha-256": "FC33C0502F62BCB69A596C8DB6875A523669D09195A0E2058518ECEEC59799EF" + } + }, + { + "location": { + "uri": "Domain/Domain.Exceptions/Exceptions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FEB4A3C199B3E337E54B79BA711828B6", + "sha-1": "CB6F2BBF8EF87575666A57777E75992BF599CA98", + "sha-256": "36F752168C7722DADAA4EEAE742193C90C6CD296E32DB0954E40168F69255F34" + } + }, + { + "location": { + "uri": "API/API.Specs/Mocks/MockEmailProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B7A5C0AD43BAF5A76B17D88E89B42D0E", + "sha-1": "3FD688DCF3D0DDEEFDAAB134A70BCAF6DEE24291", + "sha-256": "0E79CD76690C1A6BAA920A82F04DFE401E22CEF62B9C7FD177DBCF22B63E7328" + } + }, + { + "location": { + "uri": "API/API.Specs/Mocks/MockEmailDispatcher.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "917882DD6D571808E9000A78D9A54887", + "sha-1": "07BB2DAC886990330B20A022B97404A99D01E065", + "sha-256": "72A437A4CAE8F82218ED17CFB487F020C5AD5744B88C83B197FFE4F9425CD027" + } + }, + { + "location": { + "uri": "Features/Features.Breweries/Commands/CreateBrewery/CreateBreweryValidator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "6556ED2B5AE241C77CFAB38D222708A3", + "sha-1": "391705456E9FE00C21164F4C4F3E2EE9699D6AD3", + "sha-256": "DF0E49BACFEC38DC745D6A2FA4E271144F3B514B661D7FAB33361C43E983E8EB" + } + }, + { + "location": { + "uri": "Database/Database.Seed/Sqlite/PipelineSeedDataReader.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "26309266122C66F2B4FA3AD57A92A0E4", + "sha-1": "FFEB7B19D764184F8E5DC2ADA676DFE825527E90", + "sha-256": "3774F3156902CCDC7CEF9E8BBE00A928625C450BE232A1C61EF5BB9F3AF2D39B" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/Country.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "EBF5E718D20A3169EA01E0A154FAD90C", + "sha-1": "22E46BDF2AE7A0579374F8C49FE41E85A59F9358", + "sha-256": "6F049DD105F0FF75D770FB8CD43B8C196DEDAF5B8DA5BBC750544DBA02978C83" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/StateProvince.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FF78C816AD04308560CDA32AA789763D", + "sha-1": "510BB815D66A9079E1D97D98A277AA2B8FF5CAE5", + "sha-256": "28BE4A9E43B5E4C0ED8C084CDB7E2488D11C335BEF73CD759BC62DD247C77F17" + } + }, + { + "location": { + "uri": "API/API.Specs/Steps/AuthSteps.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DFA13859038A4E53DDF41E7B910B366E", + "sha-1": "C071250166E13C22C329FE9B59CAF1570007713D", + "sha-256": "3169CB8D021835791E59F89E9FDB95E28C8FB96F81851DDE6DEF99CCC348046E" + } + }, + { + "location": { + "uri": "Features/Features.Breweries/Controllers/BreweryController.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DCB578539D8A4A5B3B369A40B5161E23", + "sha-1": "213007965133757BFEF25077C2E63C0BADA776CE", + "sha-256": "B901A750B04CDD187DC92CC4CAB9D903D87049660D4513683B710D3337EB9CB1" + } + }, + { + "location": { + "uri": "Database/Database.Migrations/Program.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0F363184165EDF3B94A27135C5AFC106", + "sha-1": "311A47E0243E92E24E0069202AA8F2DDF213EC0A", + "sha-256": "BBB9C7E2099BA23222E5417AB5B959B394B076CF91080DABD559EF851B57F7B9" + } + }, + { + "location": { + "uri": "Features/Features.Emails/Services/IEmailDispatcher.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "218370548C016E56D9B87A06B3990634", + "sha-1": "A38ECAEC49611BD0BD516E5CF899D9E07079C77E", + "sha-256": "02654E3971047E7145D901556B23E0B173494DA73BF830C761C3E12A285033B4" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Jwt/JwtInfrastructure.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5855DAD36DAB7DB4ACA6B3F73BE340A5", + "sha-1": "31FCAFB72A1EFD2BB53F2E450368DF6FD659E522", + "sha-256": "74AA60C87EB5BA0881CB7E6F653A3D5B14EB28DBB3E082CEE98EB2C625EC6ECB" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Services/TokenService.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0161998F9B7DF3D7F652B4C4778B735F", + "sha-1": "BA04BA73FB96F3D77B9C33959D19515DE9A74D0A", + "sha-256": "A8CF29BEA06E7ED58C495FDAC81AD26E95C53EEA19625ED8E487E6F34DD96AEF" + } + }, + { + "location": { + "uri": "Database/Database.Seed/Program.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "046188048CAF00A83EE56AD1BD48BDA2", + "sha-1": "13C16F9B07BA795EC83BB026206E846D79DD20C0", + "sha-256": "358A8F6420D435B6B50F08758381D5312D2BCD973531B3862DEE487F46A421F9" + } + }, + { + "location": { + "uri": "Features/Features.Breweries/Dtos/BreweryDto.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "70DD6EE6B231DC1A7AD04AE9C2D39FEF", + "sha-1": "08EC4EF9BA6237C1F54C2CBC29A63088A16FE016", + "sha-256": "51F746445F6304594F89A41480D50D641C982B02E4ED3137D02FB585C241959E" + } + }, + { + "location": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceValidationTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1562B8EB65EF8A50D04D45019B03913C", + "sha-1": "0649E07127010332D344B66479914FCE2B2F60B5", + "sha-256": "AA1E4DF35F54BA1A950E5A86CF531F999A9D7CB0A8D8782C513DBB5B4423FEB8" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/BreweryPost.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B1857523FC504B841E6F5616E39C27B7", + "sha-1": "9B895DFA86B25313EDEAAE91C194A7113DC3C98C", + "sha-256": "A93E5BB2EDB6D946A0EA503552FF14814B6A44178D4871251117D2344B49544D" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/BreweryPostLocation.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "57905448E5FE47553D74BE693C635C87", + "sha-1": "ED1B69DD9CC8BC4773C647A8B482E12B01F911B7", + "sha-256": "B04A74C50EB5629C107DFAD8D4AB3130C82F5E86507800CA49EB486168D4168A" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/City.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "63B681FB2872700DEA86210CC09F12CB", + "sha-1": "26FEBBF2878636735437838CE8FE5CBC338EC16D", + "sha-256": "F1E20CF188A7D7638FA9292695E172CB3F7E3AB9130A1B7149775BAA9FCD4D95" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/UserAccount.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D152E18875F1BF3E3C7704E35F0B1FC2", + "sha-1": "33E22EAD133F5CE1D218665C3A7F988AB466E583", + "sha-256": "4952F70532F5DEF4E64EE6F0DE3F54A51675F73F26A265C428368C5F0E767A2D" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/UserCredential.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "23EE3F8976678EF1E26D140B931BF6C8", + "sha-1": "5348E03AD5AFB3AD3B50B05FB67AE0ACDDCBACC4", + "sha-256": "F2DAA12562670CC851FF642328C521D5D733696D04C63E0B4D0ABFE6957066E6" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Email.Templates/Mail/ResendConfirmation.razor", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0F58F4524DD6DAF91D98FF08EBFD0853", + "sha-1": "017744B2D0C18DFE8CC30FFE3C801194813415D4", + "sha-256": "C5745053EB125C50AD2BFDAA9DDCA8B8989F090F82EF87B2A4C3FCDDD85AF508" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Email.Templates/Mail/UserRegistration.razor", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "353158E7A293F86C2004EAB7F2B70BF9", + "sha-1": "3BB58C84C742C63649E70E21BE3C114B13975E9B", + "sha-256": "E67C8548D2D87B2C7E92C1CC996E0A6F213DB044DF12374FE2D22B8DFF2D6747" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Repository/AuthRepository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "74514C7937BEA7AED456BA574273C800", + "sha-1": "74994D5FC1CBC5E705997F1DE4E0AB5275282B9B", + "sha-256": "CA6CEDDF1D2D94571FA388F85C97E0FAE76864F82A784DD919CC438A48D54604" + } + }, + { + "location": { + "uri": "Features/Features.UserManagement/Repository/UserAccountRepository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "83BF3031803DEFA45721173719ED9D6B", + "sha-1": "C848BAD2841F4D03A63ECD96915B7F7EF6BC083A", + "sha-256": "852AADC48933F51C2C1E9D790263C9018BDB97AA30C44A683BE3D82C8B5CB862" + } + }, + { + "location": { + "uri": "Features/Features.Emails/Services/EmailDispatcher.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "58F277AD0914CFFFBD3EC5BF0D6E2748", + "sha-1": "EEB300132FA8D4B04985EE73E0B59638513D16B6", + "sha-256": "F524D37965E83A136708792C1B5754D40DE738015D8CCA7BD199255232790772" + } + }, + { + "location": { + "uri": "Features/Features.Breweries.Tests/Queries/GetBreweryByIdHandlerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "44B40457FBFDDE5F935C4E487E3BEB9F", + "sha-1": "35C30081C7E9262E1B582ED904665D0FCF2F77B5", + "sha-256": "350E5DBE511CD11833CFD576FE172A15B0050943A4769924C3EF8B6B224FF03D" + } + }, + { + "location": { + "uri": "API/API.Core/Authentication/JwtAuthenticationHandler.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4C08BCE28597448CD3682942D2C31D7C", + "sha-1": "8D66C5DF820832FE551DF59C1AFE2E59941A6144", + "sha-256": "A9C3A9DDAF332463537FA470DD11052DB474F5EA1FC7C4D9932AD9C1CC785B1B" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Repository/IAuthRepository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "CD9094B970F74189056E14C795F06CE5", + "sha-1": "78EE360E6F04D74E51F3E3B99DD8013DBCE34F93", + "sha-256": "8D75B8EB9EDAC38D53368B4CF6ADDB32F803B42DDBCAD1EDE0C5B59A538B2F1E" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/UserResult.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "7BBC53DA40E1C5B7F3074B12975444FF", + "sha-1": "CE6F8B87F12D6CCF1AC977F4CEC98697F9747759", + "sha-256": "A99BDC537412F37460A686E4B7A071656B85B7664759F1B2CA5290DBD9875F41" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/UserRecord.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "41A2C642FDD84DF0FE8997E9C1864B8C", + "sha-1": "5E567478952BF62AE51078AFE44CE1B94419C1DE", + "sha-256": "A28074CADA4BE01A661D594FBEC0B6BAEE755099E190FC70A79D03FD963673F8" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/UserAddress.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8451D251A8EDB173F27A3EDC83604801", + "sha-1": "00F0ACAE463E61F5FEAE30A8B1B258DCB6BA76B7", + "sha-256": "D4EAF9ED6E84CE15CEECDABFF1C0ECC9079AF5E614A538983200D1366B8B2C30" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/PostalCodeSpec.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8C0764C04FB6CE58BB7D031F026F366B", + "sha-1": "AB2018ADEF2E81E729F14DCD46A05B6A56883712", + "sha-256": "E73F1B985DAAFD7B5CBB4DFB10928D820B823AF5BEA2BEA593E0C6208D6E972B" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/BreweryResult.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "6F4B410F428854898B587B5D888246C1", + "sha-1": "F4456C5907EC23C2127B077A8F252ECD075BFE84", + "sha-256": "563E6B43ABE1226E73103CFDF362C4D0BF09AF2508397A0C7B7791212BE11E17" + } + }, + { + "location": { + "uri": "Database/Database.Seed/PipelineData/City.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "48BF19770ED69441370F3080777DB673", + "sha-1": "1D555CCF3AB6E8335E53F6286C7ADDF75E1577A6", + "sha-256": "9D016D52929D14ACB1959D742C085C2410BB9AA650021A8216BF7DC42372005A" + } + }, + { + "location": { + "uri": "Shared/Shared.Contracts/ResponseBody.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "18ACCE0D301BBEAFA4905CDCC6926FF2", + "sha-1": "49B47CB6537A3405D080B514F98AEA10ECFA4A44", + "sha-256": "C7737A04D595E26427F5894533B9717F4EA4021A50866848170ACA255430BEDA" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Sql/SqlErrorCodes.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "86207CE594FB58D49A714E8EA966F40E", + "sha-1": "574565C936CE9891DF4354A889A05853BC25A216", + "sha-256": "CB9042DD483D81986DD25C9DD3F019AF2C3E8C9C49715CC2B8CC431ACFA5150D" + } + }, + { + "location": { + "uri": "Features/Features.UserManagement/Repository/IUserAccountRepository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5E44A0E22D96A626FA25260E50FFA14C", + "sha-1": "7A972A8E42BC9AD92836EE4CF9BD848856C91839", + "sha-256": "DA27420535B7BAE7814AAB51FAFAB16CA83F7B9ACB852DD9090993E7065AA2A5" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Services/ITokenService.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "01FA459640319512362F8FB6E9929B89", + "sha-1": "512976F44B4F9734A1ABE46B7AE1316D38D2EE45", + "sha-256": "439EA9DC23B0083ED7A870BCD01222E10816FE9515DD7AC6E685757FD5285C9E" + } + }, + { + "location": { + "uri": "Domain/Domain.Entities/Entities/UserVerification.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "93B793A40DFDF84D096D899986BCC5FF", + "sha-1": "B9A6EF35C3D1EFB637ADDB977336B2B26A5444E9", + "sha-256": "9953679FB72382F7F94214C0A3D9B8260FB4E90510E93E56F0D07E4592678DF0" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Email/IEmailProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "350B5520DB2B11F6A76B1FC465F7DF15", + "sha-1": "9D9EE2C028B31FD6665EA11882F5747C1C506902", + "sha-256": "7A3D25AEA36A74648DA2B138EE164DB9AA3321E5C0DCA5DE66483851771CEA9C" + } + }, + { + "location": { + "uri": "Features/Features.Auth/DependencyInjection/FeaturesAuthServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "31FC462E5F993FBE7CF9C9F9B2A36EB7", + "sha-1": "1AAD5338796ECD82CC33E8952A6F6018A5F90306", + "sha-256": "AA18171255ACC34C6F1BC1E107DF62223204EF111AF7725D4ABD5B6F28CE7F9B" + } + }, + { + "location": { + "uri": "Features/Features.Breweries/DependencyInjection/FeaturesBreweriesServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "EAECBD4321EA88A762964C7EFE386C55", + "sha-1": "0063EED61EDEE00B803DBEF37E523079F023AF8B", + "sha-256": "8313EF8D9EA5D2480348451FA6D6BFB09D33A99444E97B71CE9FFDE7DC32F1EC" + } + }, + { + "location": { + "uri": "Features/Features.Emails/DependencyInjection/FeaturesEmailsServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C813ECD2143B87C8D9A9707F0A360EC7", + "sha-1": "1B32D0DE07D875F97179CAE44A357F566F5E4370", + "sha-256": "CAB6B1F0AF04D3D2998266BDA2F6A9D71DB6F715B6F6315998E6D0D2EE482882" + } + }, + { + "location": { + "uri": "Features/Features.Locations/DependencyInjection/FeaturesLocationsServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "229AC1D8A1F4A70EE6AEF25BBF7E9F50", + "sha-1": "E8A51A6740569E5E556DB19C10EB484202EBDEF9", + "sha-256": "CA7F6EA0C7969D896F1D5274450D54B3733869A393C01E8E62A1C6973264A714" + } + }, + { + "location": { + "uri": "Features/Features.UserManagement/DependencyInjection/FeaturesUserManagementServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "859E8470CB2F7075FA3109DE82AFAFE0", + "sha-1": "DE3D8012C5984449ADC357DC347D34E3AD75A336", + "sha-256": "91A83DDDEB9CF005BF55F16D671F6219148FAEACB5ABF854017400566B783B97" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Sql/DependencyInjection/InfrastructureSqlServiceCollectionExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0AA25FBBB4F3DA326481FA176D7CDD6B", + "sha-1": "32313E04B07D757FEA7DAFB06203C1AE145A9A5F", + "sha-256": "8D9F03387D93B5CBE51E9A5FBA2418789731245236A0203D0257F73A9D20F461" + } + }, + { + "location": { + "uri": "API/API.Core/Program.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "A76474E4DE808B214CDEE3BACCA6CC1A", + "sha-1": "B838D8B3A800D1D2D1F2A43A30544CC2304FE270", + "sha-256": "B54ADF6279F94FCCA587296F8749AA149CC6FAE8C7582E9C6AAC74CED67E9455" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Commands/Login/LoginValidator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4460E29F2BE2CEF0F24E6D442BE484A3", + "sha-1": "94E78EEAE4B5B7A8A44F4ED717F8537312F36652", + "sha-256": "6D4D4AFBF0D36755C69ED6A1AC252E7B066E13BEA2264A11ED1492652CAB912B" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Commands/RefreshToken/RefreshTokenValidator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "07535B950FF43778BEDD69C1F22B5FBD", + "sha-1": "2419AD179B4A9A62496ED000C7BD2BB1B4C9E367", + "sha-256": "5E36CC2BA493FC62F54089DFE6025E3089507D556C604157F65D771697F4A325" + } + }, + { + "location": { + "uri": "Features/Features.Auth/Commands/RegisterUser/RegisterUserValidator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1EFC2CCE67A2AAED1BE75DE7BE46CEE4", + "sha-1": "84FF61CEEBCE01AC7D5ADFD907057185CC5EF7AB", + "sha-256": "67580DC505AB2C9A68E0028AA224DBAE1D3249B94B5B1631821ED4B242CBDA6A" + } + }, + { + "location": { + "uri": "Features/Features.Breweries/Commands/UpdateBrewery/UpdateBreweryValidator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D3B8B636DB4D161A700EE597DCDD5C7E", + "sha-1": "0CB980CC1426B98A136724ED30E9CD267FD2D417", + "sha-256": "03164508D9A18723E77C00234912FDE344B3015393824ACE2B9819E875F13765" + } + }, + { + "location": { + "uri": "Infrastructure/Infrastructure.Sql/Repository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "BA6D7A11C251703CCBC8DBA8938019E9", + "sha-1": "02C9825D55D1E7C9E2974BFEAAAAF305DBA8029B", + "sha-256": "438BFB5B9466C0431CF4FE786FE0AC22070FE2583A6CE11DA4ED502D849C6CF0" + } + }, + { + "location": { + "uri": "API/API.Core/GlobalException.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "CC2D5A5C38541CE3F6A8383DAD47BDBC", + "sha-1": "F675A3736AD3ECC37ED2D7F37865162E5FBAF547", + "sha-256": "78AAADCD1D3B22808B3D8429DF00E4002A43A88BBA341B210FB953B9EB5273D8" + } + }, + { + "location": { + "uri": "API/API.Specs/Steps/ApiGeneralSteps.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "12EC985400900D2432A76F53EB8DBCF5", + "sha-1": "4B2121F8A5B87634EFD15128CE68C02F83031F65", + "sha-256": "E145CF17D6D7AC2EE1D6AA42E76DFA9199E3FEBB56588CB0985625AB107D88B1" + } + }, + { + "location": { + "uri": "Features/Features.Auth.Tests/Commands/ConfirmUserHandlerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "EE59805793E9E7D4A61F022EB09C1119", + "sha-1": "9B4C9F9E325AFCA6987601AD0168D31F10E6E1E1", + "sha-256": "E96C4390E97A3FBC2F0141F4055DAA00C1CC29709F5143D797B49A40DF0B22C9" + } + }, + { + "location": { + "uri": "Features/Features.Auth.Tests/Services/TokenServiceRefreshTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "24DB201ABFA3CD34A6CF46FD98A83C0B", + "sha-1": "6C143DC9FD24B1A3277BDABD46D3F8CADE124E47", + "sha-256": "9DFE182B137F3112E69BC8C103CFE9036CDCF19AAE6169C113BE3DCFC11C656D" + } + }, + { + "location": { + "uri": "Features/Features.Breweries.Tests/Queries/GetAllBreweriesHandlerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "714A7F9C3DFBA14F77B77DF52289AAD7", + "sha-1": "2BFD94AAF186C0B0318C298B48246D09C7F8488A", + "sha-256": "D97C057229FC590F08A05D00E5D646A9DA15CB71FFC423551DCB4CAD06265666" + } + } + ], + "columnKind": "utf16CodeUnits" + } + ] +} \ No newline at end of file