public async Task <Result> ForgotPasswordAsync(PasswordRecoveryRequest request, CancellationToken cancellationToken = default)
        {
            AppUser user = await _userManager.FindByEmailAsync(request.Email);

            if (user == null || !await _userManager.IsEmailConfirmedAsync(user))
            {
                return(await Task.FromResult(Result.Fail(ExceptionConstants.USER_WAS_NOT_FOUND)));
            }

            return(await _emailBuilder.SendPasswordResetMessageAsync(user, request.CallBackUrl, cancellationToken));
        }