ea4fedc283d9089c2367dbb4719b93ff4731d5e5
[it/otf.git] / a1-sdnc-vth / app / helpers / policy_helper.py
1 from app.helpers import response_helper as ResponseHelper\r
2 from flask import current_app\r
3 from app.errors.bad_request_exception import BadRequestException\r
4 import requests\r
5 \r
6 def get_policy_using_get(request, response_dict, config):\r
7     json_data = request.get_json()\r
8     if 'id' not in json_data: raise BadRequestException(406, "Request is missing id")\r
9     param = {'id': json_data['id']}\r
10     creds = ResponseHelper.get_credentials(json_data, config)\r
11     url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
12     res = requests.get(url, auth=creds, params=param)\r
13     response = {\r
14             "status_code":res.status_code,\r
15             "result": res.json()\r
16             }\r
17     response_dict['vthResponse']['resultData'] = response\r
18 \r
19     return response_dict\r
20 def put_policy_using_put(request, response_dict, config):\r
21     json_data = request.get_json()\r
22     creds = ResponseHelper.get_credentials(json_data, config)\r
23 \r
24     current_app.logger.info("creds: {}".format(creds))\r
25 \r
26     required = {'id', 'jsonBody', 'ric', 'service'}\r
27     param_keys = {'id', 'ric', 'service'}\r
28     optional = {"type"}\r
29     data_keys = param_keys.copy()\r
30     keys = set(json_data.keys())\r
31     if not required <= keys:\r
32         raise BadRequestException(406, "Request is missing required values {}".format(required))\r
33     if optional <= keys: data_keys.update(optional)\r
34     param = {}\r
35     body = {}\r
36     for key in data_keys:\r
37         param[key] = json_data[key]\r
38     body['jsonBody'] = json_data['jsonBody']\r
39 \r
40     url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
41     res = requests.put(url, auth=creds, params=param, json=body)\r
42     response = {\r
43             "status_code":res.status_code,\r
44             "result": res.json()\r
45             }\r
46     response_dict['vthResponse']['resultData'] = response\r
47     return response_dict\r
48 def delete_policy_using_delete(request, response_dict, config):\r
49     json_data = request.get_json()\r
50     creds = ResponseHelper.get_credentials(json_data, config)\r
51 \r
52     current_app.logger.info("creds: {}".format(creds))\r
53 \r
54     keys = set(json_data.keys())\r
55     required = {'id'}\r
56     if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
57     param = {'id': json_data['id']}\r
58 \r
59     url = ResponseHelper.create_url(config=config, uri_path="/policy")\r
60     res = requests.delete(url, auth=creds, params=param)\r
61     response = {\r
62             "status_code":res.status_code,\r
63             "result": res.json()\r
64             }\r
65     response_dict['vthResponse']['resultData'] = response\r
66     return response_dict\r
67 \r
68 def get_policy_ids_using_get(request, response_dict, config):\r
69     json_data = request.get_json()\r
70     creds = ResponseHelper.get_credentials(json_data, config)\r
71     current_app.logger.info("creds: {}".format(creds))\r
72 \r
73     param = {\r
74             "ric":json_data["ric"] if "ric" in json_data else "",\r
75             "service":json_data["service"] if "service" in json_data else "",\r
76             "type":json_data["type"] if "type" in json_data else ""\r
77             }\r
78 \r
79     url = ResponseHelper.create_url(config=config, uri_path="/policy_ids")\r
80     res = requests.get(url, auth=creds, params=param)\r
81     response = {\r
82             "status_code":res.status_code,\r
83             "result": res.json()\r
84             }\r
85     response_dict['vthResponse']['resultData'] = response\r
86     return response_dict\r
87 \r
88 def get_policy_schema_using_get(request, response_dict, config):\r
89     json_data = request.get_json()\r
90     #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
91     #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
92     #creds = (username, password)\r
93     creds = ResponseHelper.get_credentials(json_data, config)\r
94     current_app.logger.info("creds: {}".format(creds))\r
95 \r
96     keys = set(json_data.keys())\r
97     required = {'id'}\r
98     if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
99     param = {'id': json_data['id']}\r
100 \r
101     url = ResponseHelper.create_url(config=config, uri_path="/policy_schema")\r
102     res = requests.get(url, auth=creds, params=param)\r
103     response = {\r
104             "status_code":res.status_code,\r
105             "result": res.json()\r
106             }\r
107     response_dict['vthResponse']['resultData'] = response\r
108     return response_dict\r
109 def get_policy_schemas_using_get(request, response_dict, config):\r
110     json_data = request.get_json()\r
111     #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
112     #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
113     #creds = (username, password)\r
114     creds = ResponseHelper.get_credentials(json_data, config)\r
115     current_app.logger.info("creds: {}".format(creds))\r
116 \r
117     param = {\r
118             "ric":json_data['ric'] if 'ric' in json_data else ""\r
119             }\r
120     #api_response = requests.put(url, credentials=creds, params=param)\r
121 \r
122     url = ResponseHelper.create_url(config=config, uri_path="/policy_schemas")\r
123     res = requests.get(url, auth=creds, params=param)\r
124     response = {\r
125             "status_code":res.status_code,\r
126             "result": res.json()\r
127             }\r
128     response_dict['vthResponse']['resultData'] = response\r
129     return response_dict\r
130 def get_policy_status_using_get(request, response_dict, config):\r
131     json_data = request.get_json()\r
132     #username = config['auth']['username'] if 'username' not in json_data else json_data['username']\r
133     #password = config['auth']['password'] if 'password' not in json_data else json_data['password']\r
134     #creds = (username, password)\r
135     creds = ResponseHelper.get_credentials(json_data, config)\r
136     current_app.logger.info("creds: {}".format(creds))\r
137 \r
138     keys = set(json_data.keys())\r
139     required = {'id'}\r
140     if not required <= keys: raise BadRequestException(406, "Request is missing required values {}".format(required))\r
141     param = {\r
142             "id":json_data["id"]\r
143             }\r
144 \r
145     response_dict['vthResponse']['resultData'] = param\r
146     #api_response = requests.get(url, credentials=creds, params=param)\r
147     return response_dict\r
148 def get_policy_types_using_get(request, response_dict, config):\r
149     json_data = request.get_json()\r
150     creds = ResponseHelper.get_credentials(json_data, config)\r
151     param = {\r
152             'ric': json_data['ric'] if 'ric' in json_data else ""\r
153             }\r
154 \r
155     url = ResponseHelper.create_url(config=config, uri_path="/a1-p/policytypes")\r
156     res = requests.get(url, auth=creds, params=param)\r
157     response = {\r
158             "status_code":res.status_code,\r
159             "result": res.json()\r
160             }\r
161     response_dict['vthResponse']['resultData'] = response\r
162     return response_dict\r
163 \r