public async Task <CommandHandlingResult> Handle(GeneratePasswordResetTokenCommand cmd, IEventPublisher publisher) { ResetPasswordAccessToken token = await _accessTokenService.CreateAsync(cmd.EmployeeId, cmd.MerchantId); _chaosKitty.Meow("Issue with Azure repository when creating reset password token"); string resetPasswordUrl = string.Format(_resetPasswordUrlTemplate, token.PublicId); if (cmd.IsNewEmployee) { publisher.PublishEvent(new EmployeeRegistrationCompletedEvent { Id = token.EmployeeId, ResetPasswordUrl = resetPasswordUrl }); } else { publisher.PublishEvent(new EmployeeUpdateCompletedEvent { Id = token.EmployeeId, ResetPasswordUrl = resetPasswordUrl }); } _chaosKitty.Meow("Issue with RabbitMq publishing EmployeeRegistrationCompletedEvent and EmployeeUpdateCompletedEvent"); return(CommandHandlingResult.Ok()); }
public async Task <IActionResult> Create([FromBody] CreateResetPasswordTokenRequest request) { try { ResetPasswordAccessToken token = await _accessTokenService.CreateAsync(request.EmployeeId, request.MerchantId); return(Ok(Mapper.Map <ResetPasswordAccessTokenResponse>(token))); } catch (DuplicateKeyException e) { _log.Error(e, $"{e.Message}, request: {request.ToJson()}"); return(BadRequest(ErrorResponse.Create(e.Message))); } }