Adding policy manager and a1 sdnc vth
[it/otf.git] / a1-policy-manager-vth / app / helpers / policy_helper.py
diff --git a/a1-policy-manager-vth/app/helpers/policy_helper.py b/a1-policy-manager-vth/app/helpers/policy_helper.py
new file mode 100644 (file)
index 0000000..ea4fedc
--- /dev/null
@@ -0,0 +1,163 @@
+from app.helpers import response_helper as ResponseHelper\r
+from flask import current_app\r
+from app.errors.bad_request_exception import BadRequestException\r
+import requests\r
+\r
+def get_policy_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    if 'id' not in json_data: raise BadRequestException(406, "Request is missing id")\r
+    param = {'id': json_data['id']}\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
+    res = requests.get(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+\r
+    return response_dict\r
+def put_policy_using_put(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    required = {'id', 'jsonBody', 'ric', 'service'}\r
+    param_keys = {'id', 'ric', 'service'}\r
+    optional = {"type"}\r
+    data_keys = param_keys.copy()\r
+    keys = set(json_data.keys())\r
+    if not required <= keys:\r
+        raise BadRequestException(406, "Request is missing required values {}".format(required))\r
+    if optional <= keys: data_keys.update(optional)\r
+    param = {}\r
+    body = {}\r
+    for key in data_keys:\r
+        param[key] = json_data[key]\r
+    body['jsonBody'] = json_data['jsonBody']\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
+    res = requests.put(url, auth=creds, params=param, json=body)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+def delete_policy_using_delete(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    keys = set(json_data.keys())\r
+    required = {'id'}\r
+    if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
+    param = {'id': json_data['id']}\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
+    res = requests.delete(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+\r
+def get_policy_ids_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    param = {\r
+            "ric":json_data["ric"] if "ric" in json_data else "",\r
+            "service":json_data["service"] if "service" in json_data else "",\r
+            "type":json_data["type"] if "type" in json_data else ""\r
+            }\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy_ids")\r
+    res = requests.get(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+\r
+def get_policy_schema_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
+    #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
+    #creds = (username, password)\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    keys = set(json_data.keys())\r
+    required = {'id'}\r
+    if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
+    param = {'id': json_data['id']}\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy_schema")\r
+    res = requests.get(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+def get_policy_schemas_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
+    #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
+    #creds = (username, password)\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    param = {\r
+            "ric":json_data['ric'] if 'ric' in json_data else ""\r
+            }\r
+    #api_response = requests.put(url, credentials=creds, params=param)\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/policy_schemas")\r
+    res = requests.get(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+def get_policy_status_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
+    #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
+    #creds = (username, password)\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    current_app.logger.info("creds: {}".format(creds))\r
+\r
+    keys = set(json_data.keys())\r
+    required = {'id'}\r
+    if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
+    param = {\r
+            "id":json_data["id"]\r
+            }\r
+\r
+    response_dict['vthResponse']['resultData'] = param\r
+    #api_response = requests.get(url, credentials=creds, params=param)\r
+    return response_dict\r
+def get_policy_types_using_get(request, response_dict, config):\r
+    json_data = request.get_json()\r
+    creds = ResponseHelper.get_credentials(json_data, config)\r
+    param = {\r
+            'ric': json_data['ric'] if 'ric' in json_data else ""\r
+            }\r
+\r
+    url = ResponseHelper.create_url(config=config, uri_path="/a1-p/policytypes")\r
+    res = requests.get(url, auth=creds, params=param)\r
+    response = {\r
+            "status_code":res.status_code,\r
+            "result": res.json()\r
+            }\r
+    response_dict['vthResponse']['resultData'] = response\r
+    return response_dict\r
+\r