public async Task <IActionResult> ChangePassword([FromBody] UserDto userDto,
                                                         CancellationToken cancellationToken = default)
        {
            var success = await userService.ChangePassword(userDto, cancellationToken);

            if (!success)
            {
                return(UnprocessableEntity("Failed to change password"));
            }

            await emailService.SendEmail(EmailGenerator
                                         .PasswordChangeMessage(userDto.Email), cancellationToken);

            return(NoContent());
        }