def save_configuration()

in cloud-functions/rideshare-plus-rest-api/main.py [0:0]


def save_configuration(request: flask.Request) -> flask.Response:
    try:
        print("BEGIN: save_configuration")
        # {'mode': 'predict', 'ride_distance': 'short', 'is_raining': False, 'is_snowing': False}
        request_json = request.get_json()
        print("request_json: ", request_json)
        looker_url = str(request_json['looker_url']).lower()
        print("looker_url: ", looker_url)
        project_id = os.environ['PROJECT_ID']
        print("project_id: ", project_id) 
        code_bucket = os.environ['ENV_CODE_BUCKET']
        print("code_bucket: ", code_bucket) 

        filename = "website/rideshareplusconfig.json";
        config_value = {
            "looker_url" : looker_url
        }
        default_json = json.dumps(config_value) 
       
        storage_client = storage.Client()
        bucket = storage_client.get_bucket(code_bucket)
        blob = bucket.blob(filename)
        blob.upload_from_string(default_json, content_type='application/json', num_retries=3)

        replies = []
        row_dict = { "success" : True}
        replies.append(row_dict)
        flask_response = flask.make_response(flask.jsonify({'data': replies}), 200)
        flask_response.headers['Access-Control-Allow-Origin'] = '*'
        print("END: save_configuration")
        return flask_response
    except Exception as e:
        print ("Exception (save_configuration): " + str(e))
        flask_response_error =  flask.make_response(flask.jsonify({'errorMessage': str(e)}), 400)
        flask_response_error.headers['Access-Control-Allow-Origin'] = '*'
        return flask_response_error