public async Task <IActionResult> ResendConfirmationCode(
            CancellationToken cancellationToken,
            [FromRoute] string email,
            [FromServices] IUserRepository userRepository,
            [FromServices] UserRegistrationService userRegistrationService)
        {
            var user = await userRepository.FindByEmail(email, cancellationToken);

            if (user == null)
            {
                return(NotFound());
            }

            if (user.EmailState != EmailState.Unconfirmed)
            {
                return(UnprocessableEntity());
            }

            await userRegistrationService.ResendConfirmationCode(user, cancellationToken);

            return(NoContent());
        }