示例#1
0
def get_all_details():
    try:
        if request.method == "POST":
            jwt_token = request.headers["token"]
            driver_number = request.headers["number"]
            stat, tok = Authorize.verify_jwt(driver_number, jwt_token)
            if stat == 0:
                raise ValueError("Not authorized")

            logging.debug("incoming POST request: " + str(request.form))
            response = Details.get_all(driver_number)
            logging.debug("getalldetails returned:\n" + str(response))
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/getalldetails with error: " + str(e))
        return default_error
示例#2
0
def update_vehicle():
    try:
        if request.method == "POST":
            jwt_token = request.headers["token"]
            driver_number = request.headers["number"]
            stat, tok = Authorize.verify_jwt(driver_number, jwt_token)
            if stat == 0:
                raise ValueError("Not authorized")

            logging.debug("incoming POST request: " + str(request.form))
            driver_vehicle = request.form["vehicle"]
            response = Vehicle.update_vehicle(driver_number, driver_vehicle)
            logging.debug("updateVehicle returned:\n" + str(response))
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/updateVehicle with error: " + str(e))
        return default_error
示例#3
0
def get_distance():
    try:
        if request.method == "GET":
            jwt_token = request.headers["token"]
            stat, tok = Authorize.verify_jwt(jwt_token)
            if stat == 0:
                raise ValueError("Not authorized")
            if len(tok) > 0:
                logging.critical(
                    "failure in v1/bookingPath with token expired: ")
                return token_expiry_error
            user_number = request.args["number"]
            response = Book.path(user_number)
            response = json.dumps(response)
            response = make_response(response)
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/bookingPath with error: " + str(e))
        return default_error
示例#4
0
def reject():
    try:
        jwt_token = request.headers["token"]
        stat, tok = Authorize.verify_jwt(jwt_token)
        if stat == 0:
            raise ValueError("Not authorized")
        if request.method == "POST":
            driver_number = request.args["number"]
            response = Book.reject(driver_number)
            if len(tok) > 0:
                response["data"]["tokenStatus"] = "new"
                response["data"]["token"] = tok
            else:
                response["data"]["tokenStatus"] = "same"
                response["data"]["token"] = jwt_token
            response = json.dumps(response)
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/reject with error: " + str(e))
        return default_error
示例#5
0
def cancel():
    try:
        if request.method == "POST":
            jwt_token = request.headers["token"]
            stat, tok = Authorize.verify_jwt(jwt_token)
            if stat == 0:
                raise ValueError("Not authorized")
            if len(tok) > 0:
                logging.critical("failure in v1/cancel with token expired: ")
                return token_expiry_error
            user_number = request.form["number"]
            booking_id = request.form["bookingId"]
            response = Book.cancel_booking(user_number, booking_id)
            response = json.dumps(response)
            with app.app_context():
                response = make_response(response)
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/cancel with error: " + str(e))
        return default_error
示例#6
0
def book():
    try:
        if request.method == "POST":
            jwt_token = request.headers["token"]
            stat, tok = Authorize.verify_jwt(jwt_token)
            if stat == 0:
                raise ValueError("Not authorized")
            if len(tok) > 0:
                logging.critical("failure in v1/book with token expired: ")
                return token_expiry_error

            if "fromLatitude" in request.form:
                user_number = request.form["number"]
                from_latitude = request.form["fromLatitude"]
                from_longitude = request.form["fromLongitude"]
                to_latitude = request.form["toLatitude"]
                to_longitude = request.form["toLongitude"]
                seats = request.form["seats"]
                response, s = Book.find_drivers(user_number, from_longitude,
                                                from_latitude, to_longitude,
                                                to_latitude, seats)
                response = json.dumps(response)
                if s == 1:
                    t = threading.Thread(name="create booking",
                                         target=Book.create_booking,
                                         args=(
                                             user_number,
                                             from_longitude,
                                             from_latitude,
                                             to_longitude,
                                             to_latitude,
                                             seats,
                                         ))
                    t.setDaemon(True)
                    t.start()
                with app.app_context():
                    response = make_response(response)
                return response
    except RuntimeError as e:
        logging.critical("failure in v1/book with error: " + str(e))
        return default_error
示例#7
0
def start_trip():
    try:
        jwt_token = request.headers["token"]
        stat, tok = Authorize.verify_jwt(jwt_token)
        if stat == 0:
            raise ValueError("Not authorized")
        if request.method == "POST":
            user_number = request.args["userNumber"]
            booking_id = request.args["bookingId"]
            response = Book.start_trip(user_number, booking_id)
            if len(tok) > 0:
                response["data"]["tokenStatus"] = "new"
                response["data"]["token"] = tok
            else:
                response["data"]["tokenStatus"] = "same"
                response["data"]["token"] = jwt_token
            response = json.dumps(response)
            return response
    except RuntimeError as e:
        logging.critical("failure in v1/startTrip with error: " + str(e))
        return default_error