def verify_otp(number, otp): conn = None try: conn, cur = Sql.get_connection() logging.debug("Connection and cursor received") sql_query = "select session_id from driver_otp where number = " + str(number) cur.execute(sql_query) data = cur.fetchone() session_id = str(data[0]) print(session_id) response = requests.get("https://2factor.in/API/V1/" + str(config.api_key_2factor) + "/SMS/VERIFY/" + str(session_id)+ "/" + str(otp)) response = dict(response.json()) if response["Status"] == "Success" and response["Details"] == "OTP Matched" : sql_query = "update driver_otp set otp_verified = 1 where number = " + str(number) cur.execute(sql_query) conn.commit() response = Create.check_user_repetition(number) if "present" in response: if response["present"] == 1: result = Response.make_response(200, "OTP matched", "OTP matched successfully", action = "login", match = 1) if response["present"] == 0: result = Response.make_response(200, "OTP matched", "OTP matched successfully", action = "signUp", match = 1) logging.debug("OTP verified successfully") conn.close() return result else: conn.close() error = Response.make_response(500, "System failure", "Oops something went wrong !") return error else: logging.debug("OTP could not be verified") error = Response.make_response(200, "OTP mismatched", "OTP does not match", match = 0) conn.close() return error except Exception as e: if conn is not None: conn.close() logging.error("Error in verify_otp: " + str(e)) error = Response.make_response(500, "System failure", "Oops something went wrong !") return error
def createuser(): try: if request.method == "GET": logging.info(" Incoming request:\n" + str(request.args)) user_number = request.args["number"] response = Create.check_user_repetition(user_number) logging.info(" Response:\n" + str(response)) with app.app_context(): response = make_response(response) return response if request.method == "POST": logging.info(" Incoming request:\n" + str(request.args)) user_name = request.form["name"] user_number = request.form["number"] response = Create.create_user(user_number, user_name) logging.info(" Response:\n" + str(response)) with app.app_context(): response = make_response(response) return response except RuntimeError as e: logging.critical(" Failure in v1/createuser with error: " + str(e)) return default_error