Skip to content

Commit

Permalink
bug fix
Browse files Browse the repository at this point in the history
  • Loading branch information
HaikAsatryan committed Jul 23, 2024
1 parent 528f114 commit bfdd340
Show file tree
Hide file tree
Showing 24 changed files with 158 additions and 145 deletions.
45 changes: 43 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ tab_width = 4
#########################
# Custom added settings #
#########################

[*.cs]
dotnet_diagnostic.cs8600.severity = error #Converting null literal or possible null value to non-nullable type.
dotnet_diagnostic.cs8601.severity = error #Possible null reference assignment.
dotnet_diagnostic.cs8602.severity = error #possible dereference of a null reference
Expand All @@ -145,5 +145,46 @@ dotnet_diagnostic.cs1717.severity = error #variable is assigned to itself
dotnet_diagnostic.cs1718.severity = error #comparison made to same variable
dotnet_diagnostic.cs0659.severity = error #overriding object.Equals but not overriding object.GetHashCode
dotnet_diagnostic.cs0251.severity = error #Indexing an array with a negative index (array indices always start at zero)
dotnet_diagnostic.s3363.severity = none #Never set DateTime as PrimaryKey. Ignored as we never do it but have warnings for cache entities.
dotnet_diagnostic.ca2016.severity = error #Forwarding cancellation tokens
csharp_style_namespace_declarations = file_scoped:error
resharper_entity_framework_model_validation_unlimited_string_length_highlighting = none

#########################
# VS added settings #
#########################

[*.cs]
csharp_style_namespace_declarations = file_scoped:error
resharper_entity_framework_model_validation_unlimited_string_length_highlighting = none
csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:silent
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_primary_constructors = true:suggestion
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

[{*.yaml,*.yml}]
dotnet_style_namespace_match_folder = true:suggestion
dotnet_style_operator_placement_when_wrapping = beginning_of_line
tab_width = 3
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent

[*.csv]
indent_style = tab
tab_width = 4
137 changes: 68 additions & 69 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,71 +1,70 @@
<Project>
<ItemGroup>
<PackageVersion Include="AspNetCore.HealthChecks.Elasticsearch" Version="8.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.NpgSql" Version="8.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.Rabbitmq" Version="8.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.Prometheus.Metrics" Version="8.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.Redis" Version="8.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="8.0.1"/>
<PackageVersion Include="EFCore.NamingConventions" Version="8.0.3"/>
<PackageVersion Include="FluentDateTime" Version="3.0.0"/>
<PackageVersion Include="FluentValidation.AspNetCore" Version="11.3.0"/>
<PackageVersion Include="Hangfire" Version="1.8.14"/>
<PackageVersion Include="Hangfire.Dashboard.Basic.Authentication" Version="7.0.1"/>
<PackageVersion Include="Hangfire.EntityFrameworkCore" Version="0.6.0"/>
<PackageVersion Include="Hangfire.PostgreSql" Version="1.20.9"/>
<PackageVersion Include="MassTransit.RabbitMQ" Version="8.2.3"/>
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="8.0.6"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.6"/>
<PackageVersion Include="MediatR" Version="12.3.0"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.6">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0"/>
<PackageVersion Include="NetArchTest.Rules" Version="1.3.2"/>
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4"/>
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0"/>
<PackageVersion Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" Version="1.7.0-rc.1"/>
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.7.0-beta.1"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.9.0"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0"/>
<PackageVersion Include="Otp.NET" Version="1.3.0"/>
<PackageVersion Include="PandaTech.BaseConverter" Version="4.0.4"/>
<PackageVersion Include="Pandatech.DistributedCache" Version="1.1.0"/>
<PackageVersion Include="Pandatech.EFCore.AuditBase" Version="1.0.3"/>
<PackageVersion Include="PandaTech.FileExporter" Version="3.1.1"/>
<PackageVersion Include="Pandatech.FluentMinimalApiMapper" Version="1.1.0"/>
<PackageVersion Include="Pandatech.CommissionCalculator" Version="3.3.0"/>
<PackageVersion Include="Pandatech.Communicator" Version="1.0.5"/>
<PackageVersion Include="Pandatech.Crypto" Version="2.5.0"/>
<PackageVersion Include="Pandatech.GridifyExtensions" Version="1.4.0"/>
<PackageVersion Include="Pandatech.MassTransit.PostgresOutbox" Version="1.0.7"/>
<PackageVersion Include="Pandatech.PandaVaultClient" Version="3.1.0"/>
<PackageVersion Include="Pandatech.RegexBox" Version="1.2.4"/>
<PackageVersion Include="Pandatech.ResponseCrafter" Version="2.2.2"/>
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.1"/>
<PackageVersion Include="Serilog.Enrichers.Environment" Version="3.0.1"/>
<PackageVersion Include="Serilog.Sinks.Elasticsearch" Version="10.0.0"/>
<PackageVersion Include="SonarAnalyzer.CSharp" Version="9.28.0.94264">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2"/>
<PackageVersion Include="UAParser" Version="3.1.47"/>
<PackageVersion Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="xunit" Version="2.8.1"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="AspNetCore.HealthChecks.Elasticsearch" Version="8.0.1" />
<PackageVersion Include="AspNetCore.HealthChecks.NpgSql" Version="8.0.1" />
<PackageVersion Include="AspNetCore.HealthChecks.Rabbitmq" Version="8.0.1" />
<PackageVersion Include="AspNetCore.HealthChecks.Prometheus.Metrics" Version="8.0.1" />
<PackageVersion Include="AspNetCore.HealthChecks.Redis" Version="8.0.1" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="8.0.1" />
<PackageVersion Include="EFCore.NamingConventions" Version="8.0.3" />
<PackageVersion Include="FluentDateTime" Version="3.0.0" />
<PackageVersion Include="FluentValidation.AspNetCore" Version="11.3.0" />
<PackageVersion Include="Hangfire" Version="1.8.14" />
<PackageVersion Include="Hangfire.Dashboard.Basic.Authentication" Version="7.0.1" />
<PackageVersion Include="Hangfire.EntityFrameworkCore" Version="0.6.0" />
<PackageVersion Include="Hangfire.PostgreSql" Version="1.20.9" />
<PackageVersion Include="MassTransit.RabbitMQ" Version="8.2.3" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="8.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.7" />
<PackageVersion Include="MediatR" Version="12.3.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.7">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.7">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageVersion Include="NetArchTest.Rules" Version="1.3.2" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" Version="1.7.0-rc.1" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.7.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" />
<PackageVersion Include="Otp.NET" Version="1.3.0" />
<PackageVersion Include="Pandatech.DistributedCache" Version="1.1.0" />
<PackageVersion Include="Pandatech.EFCore.AuditBase" Version="1.1.0" />
<PackageVersion Include="PandaTech.FileExporter" Version="3.2.0" />
<PackageVersion Include="Pandatech.FluentMinimalApiMapper" Version="1.1.0" />
<PackageVersion Include="Pandatech.CommissionCalculator" Version="3.3.0" />
<PackageVersion Include="Pandatech.Communicator" Version="1.0.5" />
<PackageVersion Include="Pandatech.Crypto" Version="2.5.0" />
<PackageVersion Include="Pandatech.GridifyExtensions" Version="1.5.1" />
<PackageVersion Include="Pandatech.MassTransit.PostgresOutbox" Version="1.0.7" />
<PackageVersion Include="Pandatech.PandaVaultClient" Version="3.1.0" />
<PackageVersion Include="Pandatech.RegexBox" Version="1.2.4" />
<PackageVersion Include="Pandatech.ResponseCrafter" Version="3.0.0" />
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.1" />
<PackageVersion Include="Serilog.Enrichers.Environment" Version="3.0.1" />
<PackageVersion Include="Serilog.Sinks.Elasticsearch" Version="10.0.0" />
<PackageVersion Include="SonarAnalyzer.CSharp" Version="9.30.0.95878">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
<PackageVersion Include="UAParser" Version="3.1.47" />
<PackageVersion Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="xunit" Version="2.9.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using BaseConverter.Extensions;
using FluentMinimalApiMapper;
using GridifyExtensions.Extensions;
using MediatR;
Expand Down Expand Up @@ -49,7 +48,6 @@ public void AddRoutes(IEndpointRouteBuilder app)
return TypedResults.Ok(user);
})
.Authorize()
.RouteBaseConverter()
.ProducesNotFound();


Expand All @@ -61,7 +59,6 @@ public void AddRoutes(IEndpointRouteBuilder app)
return TypedResults.Ok();
})
.Authorize()
.RouteBaseConverter()
.ProducesBadRequest()
.ProducesConflict();

Expand All @@ -77,7 +74,6 @@ public void AddRoutes(IEndpointRouteBuilder app)
return TypedResults.Ok();
})
.Authorize()
.RouteBaseConverter()
.ProducesBadRequest()
.ProducesNotFound();

Expand All @@ -89,7 +85,6 @@ public void AddRoutes(IEndpointRouteBuilder app)
return TypedResults.Ok();
})
.Authorize()
.RouteBaseConverter()
.ProducesBadRequest()
.ProducesNotFound();

Expand All @@ -111,7 +106,7 @@ public void AddRoutes(IEndpointRouteBuilder app)
.Authorize()
.ProducesBadRequest();

groupApp.MapGet("/column/distinct",
groupApp.MapGet("/column-distinct-values",
async ([AsParameters] GetUserColumnDistinctValuesQuery query,
ISender sender,
CancellationToken token) =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using BaseConverter.Extensions;
using Microsoft.OpenApi.Models;
using Microsoft.OpenApi.Models;
using Pandatech.CleanArchitecture.Api.Configurations.Options;
using Pandatech.CleanArchitecture.Api.Helpers;
using Swashbuckle.AspNetCore.SwaggerGen;
Expand Down Expand Up @@ -40,8 +39,6 @@ public static WebApplicationBuilder AddSwagger(this WebApplicationBuilder builde
});
}

// Add string input support into int64 field
options.AddBaseConverterFilters();
options.SchemaFilter<EnumSwaggerSchemaFilter>();

// Add the custom token authentication option
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@
"RefreshTokenExpirationMinutes": "250000",
"RefreshTokenMaxExpirationMinutes": "93110400",
"CookieDomain": ".pandatech.it",
"AESKey": "**",
"Base36Chars": "**"
"AESKey": "**"
},
"ElasticIndexName": "be-tmp-pandatech-vertical-slices",
"Communicator": {
Expand Down
3 changes: 1 addition & 2 deletions src/Pandatech.CleanArchitecture.Api/appsettings.Local.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@
"RefreshTokenExpirationMinutes": "1440",
"RefreshTokenMaxExpirationMinutes": "93110400",
"CookieDomain": ".localhost",
"AesKey": "CS3mDKKzjY0QGDpkazeaJUj0UHLMLd5qCW1lCTovDcE=",
"Base36Chars": "0123456789abcdefghijklmnopqrstuvwxyz"
"AesKey": "CS3mDKKzjY0QGDpkazeaJUj0UHLMLd5qCW1lCTovDcE="
},
"Communicator": {
"SmsFake": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@
"RefreshTokenExpirationMinutes": "1440",
"RefreshTokenMaxExpirationMinutes": "3110400",
"CookieDomain": ".pandatech.it",
"AESKey": "**",
"Base36Chars": "**"
"AESKey": "**"
},
"ElasticIndexName": "be-tmp-pandatech-vertical-slices",
"CorsSettings": {
Expand Down
3 changes: 1 addition & 2 deletions src/Pandatech.CleanArchitecture.Api/appsettings.QA.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@
"RefreshTokenExpirationMinutes": "250000",
"RefreshTokenMaxExpirationMinutes": "93110400",
"CookieDomain": ".pandatech.it",
"AESKey": "**",
"Base36Chars": "**"
"AESKey": "**"
},
"ElasticIndexName": "be-tmp-pandatech-vertical-slices",
"Communicator": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using BaseConverter.Attributes;
using Pandatech.CleanArchitecture.Core.DTOs.Auth;
using Pandatech.CleanArchitecture.Core.Enums;

Expand All @@ -10,9 +9,7 @@ public class IdentityStateCommandResponse(
string fullName,
UserRole userRole)
{
[PropertyBaseConverter]
public long UserId { get; set; } = userId;

public UserStatus Status { get; set; } = status;
public string FullName { get; set; } = fullName;
public UserRole UserRole { get; set; } = userRole;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
using BaseConverter.Attributes;
using Pandatech.CleanArchitecture.Application.Features.Auth.Contracts.CreateToken;
using Pandatech.CleanArchitecture.Core.Enums;

namespace Pandatech.CleanArchitecture.Application.Features.Auth.Contracts.Login;

public class LoginCommandResponse
{
[PropertyBaseConverter]
public long UserId { get; set; }

public bool ForcePasswordChange { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
using BaseConverter.Attributes;
using Pandatech.CleanArchitecture.Core.Entities;
using Pandatech.CleanArchitecture.Core.Enums;

namespace Pandatech.CleanArchitecture.Application.Features.Auth.Contracts.RefreshToken;

public class RefreshTokenCommandResponse
{
[PropertyBaseConverter]
public long UserId { get; set; }

public bool ForcePasswordChange { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using BaseConverter.Attributes;
using Pandatech.CleanArchitecture.Core.Interfaces;

namespace Pandatech.CleanArchitecture.Application.Features.User.Application.Delete;

public class DeleteUsersCommand : ICommand
{
[PropertyBaseConverter]
public required List<long> Ids { get; set; }
}
public record DeleteUsersCommand(string Filter) : ICommand;
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,9 @@ namespace Pandatech.CleanArchitecture.Application.Features.User.Application.Dele
public class DeleteUsersCommandHandler(IUnitOfWork unitOfWork, IRequestContext requestContext)
: ICommandHandler<DeleteUsersCommand>
{
public async Task Handle(DeleteUsersCommand request, CancellationToken cancellationToken)
public Task Handle(DeleteUsersCommand request, CancellationToken cancellationToken)
{
var users = await unitOfWork
.Users
.GetByIdsExceptSuperAsync(request.Ids, cancellationToken);

if (users.Count == 0)
{
return;
}

foreach (var user in users)
{
user.MarkAsDeleted(requestContext.Identity.UserId);
}

await unitOfWork.SaveChangesAsync(cancellationToken);
return unitOfWork.Users
.DeleteAsync(request.Filter, requestContext.Identity.UserId, cancellationToken);
}
}

This file was deleted.

Loading

0 comments on commit bfdd340

Please sign in to comment.