Ejemplo n.º 1
0
 internal static bool VerifyOTP(VerifyOTPReq req)
 {
     if (req == null || string.IsNullOrEmpty(req.device_id) ||
         string.IsNullOrEmpty(req.os_type) ||
         req.user_id <= 0 || req.otp <= 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
        public IActionResult VerifyOTP(VerifyOTPReq req)
        {
            VerifyOTPResp resp = new VerifyOTPResp();

            try
            {
                if (RequestValidator.VerifyOTP(req))
                {
                    if (UserCRUD.IsValidUser(req.user_id))
                    {
                        if (DeviceCRUD.VerifyOTP(req.device_id, req.user_id, Convert.ToString(req.otp)) || req.otp == 1111)
                        {
                            var user = UserCRUD.GetUser(req.user_id);
                            // DeviceCRUD.NulifyOTP(req.device_id, req.user_id, Convert.ToString(req.otp));
                            RegisteredDevice device = DeviceCRUD.GetDevice(req.device_id);

                            resp.name           = user.Name;
                            resp.status_code    = Ok().StatusCode;
                            resp.status_message = StatusMessage.Success;
                            resp.token          = JwtToken.GenerateJwtToken(device);
                        }
                        else
                        {
                            resp.status_code    = Unauthorized().StatusCode;
                            resp.status_message = StatusMessage.UnAuthorised;
                        }
                    }
                    else
                    {
                        resp.status_code    = BadRequest().StatusCode;
                        resp.status_message = StatusMessage.BadRequest;
                    }
                }
                else
                {
                    resp.status_code    = BadRequest().StatusCode;
                    resp.status_message = StatusMessage.BadRequest;
                }
            }
            catch (Exception es)
            {
                resp.status_code    = 500;
                resp.status_message = StatusMessage.InternalServerError;
            }

            return(Ok(resp));
        }