def route_authentication_logout(api_version, account_type):

    if api_version == "v1":

        params_dict = routing.get_params_dict(request)

        if account_type == "helper":
            authentication_result = tokening.check_helper_api_key(params_dict)
            if authentication_result["status"] != "ok":
                return formatting.postprocess_response(authentication_result)

            # Route will always return {"status": "ok"}
            return helper_logout(params_dict['email'],
                                 params_dict['api_key']), 200

        elif account_type == "admin":
            authentication_result = tokening.check_admin_api_key(params_dict)
            if tokening.check_admin_api_key(params_dict)["status"] != "ok":
                return formatting.postprocess_response(authentication_result)

            # Route will always return {"status": "ok"}
            return admin_logout(params_dict['email'],
                                params_dict['api_key']), 200

        else:
            return formatting.status("account_type invalid"), 400
    else:
        # Programming Error
        return formatting.status("api_version invalid"), 400
Beispiel #2
0
    def get(self):
        params_dict = routing.get_params_dict(request, print_out=True)

        authentication_result = tokening.check_helper_api_key(
            params_dict,
            new_api_key=(os.getenv("ENVIRONMENT") == "production"))
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        result_dict = filter_scripts.get_filter(params_dict['email'])
        return formatting.postprocess_response(
            result_dict, new_api_key=authentication_result["api_key"])
Beispiel #3
0
    def put(self):
        params_dict = routing.get_params_dict(request, print_out=True)

        authentication_result = tokening.check_helper_api_key(params_dict)
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        validation_result = validating.validate_edit_filter(params_dict)
        if validation_result["status"] != "ok":
            return formatting.postprocess_response(validation_result)

        result_dict = filter_scripts.modify_filter(params_dict)
        return formatting.postprocess_response(result_dict)
Beispiel #4
0
    def get(self):
        # Get all infos for a specific account
        params_dict = routing.get_params_dict(request)

        authentication_result = tokening.check_helper_api_key(
            params_dict,
            new_api_key=(os.getenv("ENVIRONMENT") == "production"))
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        result_dict = account_scripts.get_account(params_dict['email'])
        return formatting.postprocess_response(
            result_dict, new_api_key=authentication_result["api_key"])
Beispiel #5
0
    def put(self):
        # Modify an existing account
        params_dict = routing.get_params_dict(request)

        authentication_result = tokening.check_helper_api_key(params_dict)
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        validation_result = validating.validate_edit_account(params_dict)
        if validation_result["status"] != "ok":
            return formatting.postprocess_response(validation_result)

        result_dict = account_scripts.modify_account(params_dict)
        return formatting.postprocess_response(result_dict)
Beispiel #6
0
def route_helper_phone_trigger(api_version):

    if api_version == "v1":
        params_dict = routing.get_params_dict(request)

        authentication_result = tokening.check_helper_api_key(params_dict)
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        result_dict = phone_verification.trigger(params_dict['email'])
        return formatting.postprocess_response(result_dict)

    else:
        # Programming Error
        return formatting.status("api_version invalid"), 400
Beispiel #7
0
    def put(self):

        # Modify an accepted call (reject, fulfill, comment)

        params_dict = routing.get_params_dict(request, print_out=True)

        authentication_result = tokening.check_helper_api_key(params_dict)
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        validation_result = validating.validate_edit_call(params_dict)
        if validation_result["status"] != "ok":
            return formatting.postprocess_response(validation_result)

        result_dict = call_scripts.modify_call(params_dict)
        return formatting.postprocess_response(result_dict)
def route_database_fetchall(api_version):
    if api_version == "v1":

        params_dict = routing.get_params_dict(request)

        authentication_result = tokening.check_helper_api_key(
            params_dict,
            new_api_key=(os.getenv("ENVIRONMENT") == "production"))
        if authentication_result["status"] != "ok":
            return formatting.postprocess_response(authentication_result)

        account_dict = account_scripts.get_account(params_dict['email'])
        calls_dict = call_scripts.get_calls(params_dict['email'])
        filter_dict = filter_scripts.get_filter(params_dict['email'])
        forward_dict = forward_scripts.get_forward(params_dict['email'])

        for result_dict in [
                account_dict, calls_dict, filter_dict, forward_dict
        ]:
            if result_dict["status"] != "ok":
                return formatting.postprocess_response(result_dict)

        performance_dict = performance_scripts.get_performance(
            account_dict["account"]["zip_code"])

        result_dict = formatting.status(
            "ok",
            account=account_dict["account"],
            calls=calls_dict["calls"],
            filter=filter_dict["filter"],
            forward=forward_dict["forward"],
            performance=performance_dict["performance"])
        return formatting.postprocess_response(
            result_dict, new_api_key=authentication_result['api_key'])

    else:
        return formatting.status("api_version invalid"), 400