Ejemplo n.º 1
0
        public IActionResult VerifyNewUser([FromBody] UserVerifyRequest verifyRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            UserVerifyResponse response = _usersControllerUtilities.VerifyNewUser(verifyRequest);

            return(Ok(response));
        }
Ejemplo n.º 2
0
        private bool CheckForUserVerificationErrors(
            UserVerifyRequest verifyRequest,
            User userToVerify,
            UserVerifyResponse response,
            out UserVerifyResponse actionResult)
        {
            // default the result value.
            actionResult = null;

            if (userToVerify.Verified)
            {
                response.ErrorCode  = (int)UserResponseCode.AlreadyVerifiedUser;
                response.FailReason = "Cannot Verify as User already verified";
                {
                    actionResult = response;
                    return(true);
                }
            }

            if (userToVerify.VerificationByTime > DateTime.Now)
            {
                response.ErrorCode  = (int)UserResponseCode.VerificationCodeTimedOut;
                response.FailReason = "Cannot Verify as code has timed out";
                {
                    actionResult = response;
                    return(true);
                }
            }

            if (userToVerify.VerificationCode.ToString() != verifyRequest.ConfirmationCode.Trim())
            {
                response.ErrorCode  = (int)UserResponseCode.IncorrectConfirmationCode;
                response.FailReason = "Cannot Verify as code is incorrect";
                {
                    actionResult = response;
                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        private void OnUserVerifySuccess(UserVerifyResponse userVerifyResponse)
        {
            if (userVerifyResponse.code == GameVariables.CodeType.None)
            {
                GameManager.GetInstance.StoreLoginCredentials(userVerifyResponse.user_id.ToString(), userVerifyResponse.access_token);
            }
            else
            {
                switch (userVerifyResponse.code)
                {
                case GameVariables.CodeType.InvalidOtp: loginUiController.ShowErrorMessageInOtpInputPanel("Please enter valid OTP");
                    break;

                case GameVariables.CodeType.RoomIsActive: loginUiController.ShowErrorMessageInOtpInputPanel("Cannot join this room! \n room is active.");
                    break;

                default: loginUiController.ShowErrorMessageInOtpInputPanel("Error Occured! \n Plese Resend OTP.");
                    break;
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Verifies a new user login.
        /// </summary>
        /// <param name="verifyRequest">The new user login to try to verify.</param>
        /// <returns>The action result.</returns>
        public UserVerifyResponse VerifyNewUser(UserVerifyRequest verifyRequest)
        {
            UserVerifyResponse response = new UserVerifyResponse
            {
                ErrorCode  = (int)UserResponseCode.Success,
                FailReason = "",
                UserId     = ""
            };

            User userToVerify =
                _userDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == verifyRequest.UserId);

            if (userToVerify == null)
            {
                response.ErrorCode  = (int)UserResponseCode.UnknownItem;
                response.FailReason = "Cannot Verify this unknown user";
                return(response);
            }

            UserVerifyResponse actionResult;

            if (CheckForUserVerificationErrors(verifyRequest, userToVerify, response, out actionResult))
            {
                // Return the verification error.
                return(actionResult);
            }

            // If here a valid user so set the flag and update.
            userToVerify.Verified = true;
            _userDatabase.UpdateDatabaseItem(userToVerify);

            // Send the successful fully populated response.
            response.Name        = userToVerify.Name;
            response.Description = userToVerify.Description;
            response.Email       = userToVerify.Email;
            return(response);
        }