Exemplo n.º 1
0
        public async Task <ActionResult <ReturnSignUserResponse> > CheckUserStatusAsync(
            [FromQuery] EmailValidateRequest model)
        {
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user is null)
            {
                ModelState.AddModelError(nameof(model.Email), _localizer["EmailNotFound"]);
                return(BadRequest(ModelState));
            }

            if (!user.PhoneNumberConfirmed)
            {
                if (user.OldUser.GetValueOrDefault())
                {
                    return(new ReturnSignUserResponse(RegistrationStep.RegisterSetEmailPassword));
                }
                ModelState.AddModelError(nameof(model.Email), _localizer["EmailNotFound"]);
                return(BadRequest(ModelState));
            }

            if (user.PasswordHash is null)
            {
                return(new ReturnSignUserResponse(RegistrationStep.RegisterSetEmailPassword));
            }
            return(new ReturnSignUserResponse(RegistrationStep.LoginSetPassword));
        }
        public override Task <EmailValidateReply> ValidateEmail(EmailValidateRequest request, ServerCallContext context)
        {
            _logger.LogInformation("Input {request}", request);
            var result = _service.Validate(request.Email);

            var reply = new EmailValidateReply {
                ErrorMessage = result.ErrorMessage, IsSuccess = result.IsSuccess
            };

            return(Task.FromResult(reply));
        }