From b355aeb8ffa99aa0b4a0a89e88403b13d5982291 Mon Sep 17 00:00:00 2001 From: alex289 Date: Sat, 2 Sep 2023 12:33:58 +0200 Subject: [PATCH] chore: Code Cleanup --- .../SetInactiveUsersService.cs | 6 ++-- .../CleanArchitecture.Api.csproj | 32 +++++++++---------- CleanArchitecture.Api/Program.cs | 2 +- ...CleanArchitecture.Application.Tests.csproj | 14 ++++---- .../Tenants/GetAllTenantsQueryHandlerTests.cs | 6 ++-- .../Users/GetAllUsersQueryHandlerTests.cs | 8 ++--- .../GetAll/GetAllTenantsQueryHandler.cs | 10 +++--- .../Users/GetAll/GetAllUsersQueryHandler.cs | 6 ++-- .../Services/TenantService.cs | 2 +- .../Services/UserService.cs | 1 - .../ViewModels/PageQuery.cs | 3 +- .../ViewModels/PagedResult.cs | 1 - .../CleanArchitecture.Domain.Tests.csproj | 12 +++---- .../CreateUserCommandHandlerTests.cs | 2 +- .../DeleteUserCommandHandlerTests.cs | 2 +- .../DeleteUserCommandTestFixture.cs | 2 +- CleanArchitecture.Domain/CacheKeyGenerator.cs | 12 ++++--- .../CleanArchitecture.Domain.csproj | 8 ++--- .../LoginUser/LoginUserCommandHandler.cs | 2 +- CleanArchitecture.Domain/Entities/User.cs | 4 +-- .../Extensions/ServiceCollectionExtension.cs | 2 +- .../Rabbitmq/RabbitMqHandler.cs | 3 +- ...anArchitecture.Infrastructure.Tests.csproj | 10 +++--- .../CleanArchitecture.Infrastructure.csproj | 2 +- .../InMemoryBus.cs | 4 +-- .../CleanArchitecture.IntegrationTests.csproj | 20 ++++++------ .../CleanArchitecture.Proto.csproj | 14 ++++---- .../CleanArchitecture.Shared.csproj | 2 +- .../CleanArchitecture.gRPC.Tests.csproj | 16 +++++----- 29 files changed, 105 insertions(+), 103 deletions(-) diff --git a/CleanArchitecture.Api/BackgroundServices/SetInactiveUsersService.cs b/CleanArchitecture.Api/BackgroundServices/SetInactiveUsersService.cs index 8c94c7a..f63e0f8 100644 --- a/CleanArchitecture.Api/BackgroundServices/SetInactiveUsersService.cs +++ b/CleanArchitecture.Api/BackgroundServices/SetInactiveUsersService.cs @@ -15,8 +15,8 @@ namespace CleanArchitecture.Api.BackgroundServices; public sealed class SetInactiveUsersService : BackgroundService { - private readonly IServiceProvider _serviceProvider; private readonly ILogger _logger; + private readonly IServiceProvider _serviceProvider; public SetInactiveUsersService( IServiceProvider serviceProvider, @@ -55,7 +55,7 @@ public sealed class SetInactiveUsersService : BackgroundService { user.SetInactive(); } - + try { await context.SaveChangesAsync(stoppingToken); @@ -64,7 +64,7 @@ public sealed class SetInactiveUsersService : BackgroundService { _logger.LogError(ex, "Error while setting users to inactive"); } - + await Task.Delay(TimeSpan.FromDays(1), stoppingToken); } } diff --git a/CleanArchitecture.Api/CleanArchitecture.Api.csproj b/CleanArchitecture.Api/CleanArchitecture.Api.csproj index 345bdf5..2a4b57b 100644 --- a/CleanArchitecture.Api/CleanArchitecture.Api.csproj +++ b/CleanArchitecture.Api/CleanArchitecture.Api.csproj @@ -7,29 +7,29 @@ - - - - - - - + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + - - - - + + + + diff --git a/CleanArchitecture.Api/Program.cs b/CleanArchitecture.Api/Program.cs index afd0f84..64f28a1 100644 --- a/CleanArchitecture.Api/Program.cs +++ b/CleanArchitecture.Api/Program.cs @@ -35,7 +35,7 @@ if (builder.Environment.IsProduction()) var host = rabbitMqConfig["Host"]!; var username = rabbitMqConfig["Username"]!; var password = rabbitMqConfig["Password"]!; - + builder.Services .AddHealthChecks() .AddSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")!) diff --git a/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj b/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj index 5351867..ddb3c48 100644 --- a/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj +++ b/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -24,8 +24,8 @@ - - + + diff --git a/CleanArchitecture.Application.Tests/Queries/Tenants/GetAllTenantsQueryHandlerTests.cs b/CleanArchitecture.Application.Tests/Queries/Tenants/GetAllTenantsQueryHandlerTests.cs index 061cf4b..4747660 100644 --- a/CleanArchitecture.Application.Tests/Queries/Tenants/GetAllTenantsQueryHandlerTests.cs +++ b/CleanArchitecture.Application.Tests/Queries/Tenants/GetAllTenantsQueryHandlerTests.cs @@ -32,7 +32,7 @@ public sealed class GetAllTenantsQueryHandlerTests result.PageSize.Should().Be(query.PageSize); result.Page.Should().Be(query.Page); result.Count.Should().Be(1); - + tenant.Should().BeEquivalentTo(result.Items.First()); } @@ -40,7 +40,7 @@ public sealed class GetAllTenantsQueryHandlerTests public async Task Should_Not_Get_Deleted_Tenant() { _fixture.SetupTenant(true); - + var query = new PageQuery { PageSize = 10, @@ -50,7 +50,7 @@ public sealed class GetAllTenantsQueryHandlerTests var result = await _fixture.QueryHandler.Handle( new GetAllTenantsQuery(query), default); - + result.PageSize.Should().Be(query.PageSize); result.Page.Should().Be(query.Page); result.Count.Should().Be(0); diff --git a/CleanArchitecture.Application.Tests/Queries/Users/GetAllUsersQueryHandlerTests.cs b/CleanArchitecture.Application.Tests/Queries/Users/GetAllUsersQueryHandlerTests.cs index 60ccfc0..2a03ced 100644 --- a/CleanArchitecture.Application.Tests/Queries/Users/GetAllUsersQueryHandlerTests.cs +++ b/CleanArchitecture.Application.Tests/Queries/Users/GetAllUsersQueryHandlerTests.cs @@ -16,7 +16,7 @@ public sealed class GetAllUsersQueryHandlerTests public async Task Should_Get_All_Users() { var user = _fixture.SetupUserAsync(); - + var query = new PageQuery { PageSize = 1, @@ -28,7 +28,7 @@ public sealed class GetAllUsersQueryHandlerTests default); _fixture.VerifyNoDomainNotification(); - + result.PageSize.Should().Be(query.PageSize); result.Page.Should().Be(query.Page); result.Count.Should().Be(1); @@ -43,7 +43,7 @@ public sealed class GetAllUsersQueryHandlerTests public async Task Should_Not_Get_Deleted_Users() { _fixture.SetupDeletedUserAsync(); - + var query = new PageQuery { PageSize = 10, @@ -55,7 +55,7 @@ public sealed class GetAllUsersQueryHandlerTests default); _fixture.VerifyNoDomainNotification(); - + result.PageSize.Should().Be(query.PageSize); result.Page.Should().Be(query.Page); result.Count.Should().Be(0); diff --git a/CleanArchitecture.Application/Queries/Tenants/GetAll/GetAllTenantsQueryHandler.cs b/CleanArchitecture.Application/Queries/Tenants/GetAll/GetAllTenantsQueryHandler.cs index 839b4ef..5eb5be0 100644 --- a/CleanArchitecture.Application/Queries/Tenants/GetAll/GetAllTenantsQueryHandler.cs +++ b/CleanArchitecture.Application/Queries/Tenants/GetAll/GetAllTenantsQueryHandler.cs @@ -27,21 +27,21 @@ public sealed class GetAllTenantsQueryHandler : .GetAllNoTracking() .Include(x => x.Users) .Where(x => !x.Deleted); - + if (!string.IsNullOrWhiteSpace(request.SearchTerm)) { - tenantsQuery = tenantsQuery.Where(tenant => + tenantsQuery = tenantsQuery.Where(tenant => tenant.Name.Contains(request.SearchTerm)); } - + var totalCount = await tenantsQuery.CountAsync(cancellationToken); - + var tenants = await tenantsQuery .Skip((request.Query.Page - 1) * request.Query.PageSize) .Take(request.Query.PageSize) .Select(tenant => TenantViewModel.FromTenant(tenant)) .ToListAsync(cancellationToken); - + return new PagedResult( totalCount, tenants, request.Query.Page, request.Query.PageSize); } diff --git a/CleanArchitecture.Application/Queries/Users/GetAll/GetAllUsersQueryHandler.cs b/CleanArchitecture.Application/Queries/Users/GetAll/GetAllUsersQueryHandler.cs index dcdd952..67d4d5c 100644 --- a/CleanArchitecture.Application/Queries/Users/GetAll/GetAllUsersQueryHandler.cs +++ b/CleanArchitecture.Application/Queries/Users/GetAll/GetAllUsersQueryHandler.cs @@ -29,14 +29,14 @@ public sealed class GetAllUsersQueryHandler : if (!string.IsNullOrWhiteSpace(request.SearchTerm)) { - usersQuery = usersQuery.Where(user => + usersQuery = usersQuery.Where(user => user.Email.Contains(request.SearchTerm) || user.FirstName.Contains(request.SearchTerm) || user.LastName.Contains(request.SearchTerm)); } - + var totalCount = await usersQuery.CountAsync(cancellationToken); - + var users = await usersQuery .Skip((request.Query.Page - 1) * request.Query.PageSize) .Take(request.Query.PageSize) diff --git a/CleanArchitecture.Application/Services/TenantService.cs b/CleanArchitecture.Application/Services/TenantService.cs index 409a91f..7a99f6a 100644 --- a/CleanArchitecture.Application/Services/TenantService.cs +++ b/CleanArchitecture.Application/Services/TenantService.cs @@ -60,7 +60,7 @@ public sealed class TenantService : ITenantService SlidingExpiration = TimeSpan.FromDays(3), AbsoluteExpiration = DateTimeOffset.Now.AddDays(30) }); - + return cachedTenant; } diff --git a/CleanArchitecture.Application/Services/UserService.cs b/CleanArchitecture.Application/Services/UserService.cs index 4f4522e..847dcdd 100644 --- a/CleanArchitecture.Application/Services/UserService.cs +++ b/CleanArchitecture.Application/Services/UserService.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Threading.Tasks; using CleanArchitecture.Application.Interfaces; using CleanArchitecture.Application.Queries.Users.GetAll; diff --git a/CleanArchitecture.Application/ViewModels/PageQuery.cs b/CleanArchitecture.Application/ViewModels/PageQuery.cs index 89fd16f..1e7186f 100644 --- a/CleanArchitecture.Application/ViewModels/PageQuery.cs +++ b/CleanArchitecture.Application/ViewModels/PageQuery.cs @@ -4,14 +4,15 @@ namespace CleanArchitecture.Application.ViewModels; public sealed class PageQuery { + private int _page = 1; private int _pageSize = 10; + public int PageSize { get => _pageSize; set => _pageSize = Math.Max(0, value); } - private int _page = 1; public int Page { get => _page; diff --git a/CleanArchitecture.Application/ViewModels/PagedResult.cs b/CleanArchitecture.Application/ViewModels/PagedResult.cs index 09fac7d..7989b3f 100644 --- a/CleanArchitecture.Application/ViewModels/PagedResult.cs +++ b/CleanArchitecture.Application/ViewModels/PagedResult.cs @@ -23,7 +23,6 @@ public sealed class PagedResult // used by json deserializer private PagedResult() { - } public static PagedResult Empty() diff --git a/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj b/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj index 664c70b..749e02f 100644 --- a/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj +++ b/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -24,7 +24,7 @@ - + diff --git a/CleanArchitecture.Domain.Tests/CommandHandler/User/CreateUser/CreateUserCommandHandlerTests.cs b/CleanArchitecture.Domain.Tests/CommandHandler/User/CreateUser/CreateUserCommandHandlerTests.cs index c162f6d..ef81bc5 100644 --- a/CleanArchitecture.Domain.Tests/CommandHandler/User/CreateUser/CreateUserCommandHandlerTests.cs +++ b/CleanArchitecture.Domain.Tests/CommandHandler/User/CreateUser/CreateUserCommandHandlerTests.cs @@ -61,7 +61,7 @@ public sealed class CreateUserCommandHandlerTests DomainErrorCodes.User.UserAlreadyExists, $"There is already a user with Id {command.UserId}"); } - + [Fact] public void Should_Not_Create_Already_Existing_Email() { diff --git a/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandHandlerTests.cs b/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandHandlerTests.cs index 816a9d1..7dc1c8d 100644 --- a/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandHandlerTests.cs +++ b/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandHandlerTests.cs @@ -42,7 +42,7 @@ public sealed class DeleteUserCommandHandlerTests ErrorCodes.ObjectNotFound, $"There is no user with Id {command.UserId}"); } - + [Fact] public void Should_Not_Delete_User_Insufficient_Permissions() { diff --git a/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandTestFixture.cs b/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandTestFixture.cs index bdd73f9..ed6d653 100644 --- a/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandTestFixture.cs +++ b/CleanArchitecture.Domain.Tests/CommandHandler/User/DeleteUser/DeleteUserCommandTestFixture.cs @@ -40,7 +40,7 @@ public sealed class DeleteUserCommandTestFixture : CommandHandlerFixtureBase return user; } - + public void SetupCurrentUser() { User.GetUserRole().Returns(UserRole.User); diff --git a/CleanArchitecture.Domain/CacheKeyGenerator.cs b/CleanArchitecture.Domain/CacheKeyGenerator.cs index aa99aea..11b0bc7 100644 --- a/CleanArchitecture.Domain/CacheKeyGenerator.cs +++ b/CleanArchitecture.Domain/CacheKeyGenerator.cs @@ -5,9 +5,13 @@ namespace CleanArchitecture.Domain; public static class CacheKeyGenerator { - public static string GetEntityCacheKey(TEntity entity) where TEntity : Entity => - $"{typeof(TEntity)}-{entity.Id}"; + public static string GetEntityCacheKey(TEntity entity) where TEntity : Entity + { + return $"{typeof(TEntity)}-{entity.Id}"; + } - public static string GetEntityCacheKey(Guid id) where TEntity : Entity => - $"{typeof(TEntity)}-{id}"; + public static string GetEntityCacheKey(Guid id) where TEntity : Entity + { + return $"{typeof(TEntity)}-{id}"; + } } \ No newline at end of file diff --git a/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj b/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj index 56823a6..6055242 100644 --- a/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj +++ b/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj @@ -10,16 +10,16 @@ - - + + - + - + diff --git a/CleanArchitecture.Domain/Commands/Users/LoginUser/LoginUserCommandHandler.cs b/CleanArchitecture.Domain/Commands/Users/LoginUser/LoginUserCommandHandler.cs index 081689c..2a72fae 100644 --- a/CleanArchitecture.Domain/Commands/Users/LoginUser/LoginUserCommandHandler.cs +++ b/CleanArchitecture.Domain/Commands/Users/LoginUser/LoginUserCommandHandler.cs @@ -68,7 +68,7 @@ public sealed class LoginUserCommandHandler : CommandHandlerBase, return ""; } - + user.SetActive(); user.SetLastLoggedinDate(DateTimeOffset.Now); diff --git a/CleanArchitecture.Domain/Entities/User.cs b/CleanArchitecture.Domain/Entities/User.cs index 292007c..16e4e8f 100644 --- a/CleanArchitecture.Domain/Entities/User.cs +++ b/CleanArchitecture.Domain/Entities/User.cs @@ -66,7 +66,7 @@ public class User : Entity { TenantId = tenantId; } - + public void SetLastLoggedinDate(DateTimeOffset lastLoggedinDate) { LastLoggedinDate = lastLoggedinDate; @@ -76,7 +76,7 @@ public class User : Entity { Status = UserStatus.Inactive; } - + public void SetActive() { Status = UserStatus.Active; diff --git a/CleanArchitecture.Domain/Extensions/ServiceCollectionExtension.cs b/CleanArchitecture.Domain/Extensions/ServiceCollectionExtension.cs index b579092..615be19 100644 --- a/CleanArchitecture.Domain/Extensions/ServiceCollectionExtension.cs +++ b/CleanArchitecture.Domain/Extensions/ServiceCollectionExtension.cs @@ -39,7 +39,7 @@ public static class ServiceCollectionExtension { // Fanout services.AddScoped(); - + // User services.AddScoped, UserEventHandler>(); services.AddScoped, UserEventHandler>(); diff --git a/CleanArchitecture.Domain/Rabbitmq/RabbitMqHandler.cs b/CleanArchitecture.Domain/Rabbitmq/RabbitMqHandler.cs index 6a8fb0d..09c20b0 100644 --- a/CleanArchitecture.Domain/Rabbitmq/RabbitMqHandler.cs +++ b/CleanArchitecture.Domain/Rabbitmq/RabbitMqHandler.cs @@ -13,6 +13,7 @@ namespace CleanArchitecture.Domain.Rabbitmq; public sealed class RabbitMqHandler : BackgroundService { + private readonly IModel? _channel; private readonly RabbitMqConfiguration _configuration; private readonly ConcurrentDictionary> _consumers = new(); @@ -21,8 +22,6 @@ public sealed class RabbitMqHandler : BackgroundService private readonly ConcurrentQueue _pendingActions = new(); - private readonly IModel? _channel; - public RabbitMqHandler( RabbitMqConfiguration configuration, ILogger logger) diff --git a/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj b/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj index a31690e..1a8531e 100644 --- a/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj +++ b/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj @@ -8,10 +8,10 @@ - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -23,7 +23,7 @@ - + diff --git a/CleanArchitecture.Infrastructure/CleanArchitecture.Infrastructure.csproj b/CleanArchitecture.Infrastructure/CleanArchitecture.Infrastructure.csproj index 6f4ac31..0c47055 100644 --- a/CleanArchitecture.Infrastructure/CleanArchitecture.Infrastructure.csproj +++ b/CleanArchitecture.Infrastructure/CleanArchitecture.Infrastructure.csproj @@ -7,7 +7,7 @@ - + diff --git a/CleanArchitecture.Infrastructure/InMemoryBus.cs b/CleanArchitecture.Infrastructure/InMemoryBus.cs index 7c2ac2b..b41cc62 100644 --- a/CleanArchitecture.Infrastructure/InMemoryBus.cs +++ b/CleanArchitecture.Infrastructure/InMemoryBus.cs @@ -11,8 +11,8 @@ namespace CleanArchitecture.Infrastructure; public sealed class InMemoryBus : IMediatorHandler { private readonly IDomainEventStore _domainEventStore; - private readonly IMediator _mediator; private readonly IFanoutEventHandler _fanoutEventHandler; + private readonly IMediator _mediator; public InMemoryBus( IMediator mediator, @@ -34,7 +34,7 @@ public sealed class InMemoryBus : IMediatorHandler await _domainEventStore.SaveAsync(@event); await _mediator.Publish(@event); - + await _fanoutEventHandler.HandleDomainEventAsync(@event); } diff --git a/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj b/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj index ad4c6ae..2890dea 100644 --- a/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj +++ b/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj @@ -8,14 +8,14 @@ - - - - - - - - + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -27,8 +27,8 @@ - - + + diff --git a/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj b/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj index 9f45389..7df8022 100644 --- a/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj +++ b/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj @@ -6,16 +6,16 @@ - - - - + + + + - - - + + + diff --git a/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj b/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj index bbe89de..812e7fd 100644 --- a/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj +++ b/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj @@ -7,7 +7,7 @@ - + diff --git a/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj b/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj index 34930d6..7371779 100644 --- a/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj +++ b/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -24,9 +24,9 @@ - - - + + +