Refactor UpdateUserCommandHandler to include current user service and adjust user ID handling

This commit is contained in:
masoodafar-web
2025-11-14 08:57:16 +03:30
parent 2de1aa90db
commit f179009f2c
2 changed files with 18 additions and 6 deletions

View File

@@ -5,15 +5,21 @@ namespace FrontOffice.BFF.Application.UserCQ.Commands.UpdateUser;
public class UpdateUserCommandHandler : IRequestHandler<UpdateUserCommand, Unit>
{
private readonly IApplicationContractContext _context;
private readonly ICurrentUserService _currentUserService;
public UpdateUserCommandHandler(IApplicationContractContext context)
public UpdateUserCommandHandler(IApplicationContractContext context, ICurrentUserService currentUserService)
{
_context = context;
_currentUserService = currentUserService;
}
public async Task<Unit> Handle(UpdateUserCommand request, CancellationToken cancellationToken)
{
// var updatingUserRequest = new UpdateUserRequest();
var updatingUserRequest = request.Adapt<UpdateUserRequest>();
if (request.Id <= 0)
{
updatingUserRequest.Id = Convert.ToInt64(_currentUserService.UserId);
}
// var existUser = await _context.User.GetUserAsync(new GetUserRequest()
// {
// Id = request.Id
@@ -60,7 +66,7 @@ public class UpdateUserCommandHandler : IRequestHandler<UpdateUserCommand, Unit>
// updatingUserRequest.SmsNotifications = request.SmsNotifications;
// }
await _context.User.UpdateUserAsync(request: request.Adapt<UpdateUserRequest>(),
await _context.User.UpdateUserAsync(request: updatingUserRequest,
cancellationToken: cancellationToken);
return Unit.Value;
}

View File

@@ -4,19 +4,25 @@ using FrontOffice.BFF.Infrastructure.Services;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.IdentityModel.Logging;
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.Extensions.DependencyInjection;
public static class ConfigureServices
{
public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration)
public static IServiceCollection AddInfrastructureServices(this IServiceCollection services,
IConfiguration configuration)
{
services.AddSingleton<IApplicationContractContext, ApplicationContractContext>();
services.AddSingleton<IKavenegarService, KavenegarService>();
services.AddInfrastructureGrpcServices(configuration);
#region AddAuthentication
#if DEBUG
IdentityModelEventSource.ShowPII = true;
#endif
var message = "";
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(jwtBearerOptions =>