[VID-6] Initial rebase push
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / aaiService.js
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 "use strict";\r
22 \r
23 var AaiService = function($http, $log, PropertyService, UtilityService, COMPONENT, FIELD) {\r
24     return {\r
25         getSubscriberName : function(globalCustomerId,\r
26                         successCallbackFunction) {\r
27                     $log\r
28                             .debug("AaiService:getSubscriberName: globalCustomerId: "\r
29                                     + globalCustomerId);\r
30                     $http.get(\r
31                                   COMPONENT.AAI_SUB_DETAILS_PATH\r
32                                     + globalCustomerId + COMPONENT.ASSIGN + Math.random(),\r
33                             {\r
34                                 timeout : PropertyService\r
35                                         .getServerResponseTimeoutMsec()\r
36                             }).then(function(response) {\r
37                                 var subName = "";\r
38                                 if (response.data) {\r
39                                         subName = response.data[FIELD.ID.SUBNAME];\r
40                                 }\r
41                                 successCallbackFunction(subName);\r
42                             })["catch"]\r
43                             (UtilityService.runHttpErrorHandler);\r
44                 },\r
45 \r
46                 \r
47                 runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
48                 \r
49                         var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +\r
50                                 COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +\r
51                                 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) + \r
52                                 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) + \r
53                                 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
54                         $http.get(url, {\r
55 \r
56                         },{\r
57                                 timeout : PropertyService.getServerResponseTimeoutMsec()\r
58                         }).then(function(response) {\r
59                                 if (response.data != null) { \r
60                                 successCallback(response);\r
61                                 } else {\r
62                                         errorCallback(response);\r
63                                 }\r
64                         }, function(response) {\r
65                                 errorCallback(response);\r
66                         });\r
67                 },\r
68                 \r
69                 \r
70                 getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) { \r
71                         var subscriber;\r
72                         var displayData;\r
73                         $http.get( COMPONENT.AAI_SUB_DETAILS_PATH  + selectedSubscriber, {\r
74 \r
75                         },{\r
76                                 timeout : PropertyService.getServerResponseTimeoutMsec()\r
77                         }).then(function(response) {\r
78                                 displayData = [];\r
79                                 subscriber = response.data;\r
80                                 var subscriberName = subscriber[FIELD.ID.SUBNAME];\r
81                                 if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {\r
82                                         angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {\r
83                                                 var serviceInstanceId = [];\r
84                                                 var serviceType = "";\r
85                                                 if (serviceSubscription[FIELD.ID.SERVICE_TYPE] != null) {\r
86                                                         serviceType = serviceSubscription[FIELD.ID.SERVICE_TYPE];\r
87                                                 } else {\r
88                                                         serviceType = FIELD.PROMPT.NO_SERVICE_SUB;\r
89                                                 }\r
90                                                 if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {\r
91                                                         angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {\r
92                                                                 // put them together, i guess\r
93                                                                 var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID], \r
94                                                                                         "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],\r
95                                                                                         "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],\r
96                                                                                 "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]\r
97                                                                 };\r
98                                                                 if (selectedServiceInstance != null) {\r
99                                                                         if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {\r
100                                                                                 serviceInstanceId.push(inst);\r
101                                                                         }\r
102                                                                 } else {\r
103                                                                         serviceInstanceId.push(inst);\r
104                                                                 }\r
105                                                         });\r
106                                                 } else {\r
107                                                         if (serviceInstanceId == []) {\r
108                                                                 serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];\r
109                                                         }\r
110                                                 }\r
111                                                 angular.forEach(serviceInstanceId, function(subVal, subKey) {\r
112                                                         displayData.push({\r
113                                                                 globalCustomerId        : selectedSubscriber,\r
114                                                                 subscriberName          : subscriberName,\r
115                                                                 serviceType             : serviceType,\r
116                                                                 serviceInstanceId       : subVal.serviceInstanceId,\r
117                                                                 aaiModelInvariantId             : subVal.aaiModelInvariantId,\r
118                                                                 aaiModelVersionId : subVal.aaiModelVersionId,\r
119                                                                 serviceInstanceName     : subVal.serviceInstanceName\r
120                                                         });\r
121                                                 });\r
122                                         });\r
123                                 } else { \r
124                                         displayData.push({\r
125                                                 globalCustomerId        : selectedSubscriber,\r
126                                                 subscriberName          : selectedSubscriberName,\r
127                                                 serviceType             : FIELD.PROMPT.NO_SERVICE_SUB,\r
128                                                 serviceInstanceId       : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
129                                         });  \r
130                                 }\r
131                                 successCallback(displayData, subscriberName);\r
132                         }, function(response) { \r
133                                 errorCallback(response);\r
134                         });\r
135                 },\r
136         getSubList : function(successCallback, errorCallback ) {\r
137 \r
138                 $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {\r
139 \r
140                 },{\r
141                         timeout : PropertyService.getServerResponseTimeoutMsec()\r
142                 }).then(function(response) {\r
143                         var customerList = [];\r
144                         if (response.data.customer != null) {\r
145                                 angular.forEach(response.data.customer, function(subVal, subKey) {\r
146                                         var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME] };\r
147                                         customerList.push(cust);\r
148                                 });     \r
149                                 successCallback(customerList);\r
150                         } else {        \r
151                                 errorCallback(response);\r
152                         }\r
153                 },function(response) {\r
154                         errorCallback(response);\r
155                 });\r
156         },\r
157         \r
158         getServices2 : function(successCallback, errorCallback ) {\r
159 \r
160                 $http.get( FIELD.ID.AAI_GET_SERVICES, {\r
161 \r
162                 },{\r
163                         timeout : PropertyService.getServerResponseTimeoutMsec()\r
164                 }).then(function(response) {\r
165                         var customerList = [];\r
166                         if (response.data != null) {\r
167                                 var serviceIdList = [];\r
168                                 angular.forEach(response.data, function(value, key) {\r
169                                         angular.forEach(value, function(subVal, key) {\r
170                                                 var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] };\r
171                                                 serviceIdList.push(newVal);\r
172                                         });\r
173                                 });\r
174                                 successCallback(serviceIdList);\r
175                         } else {        \r
176                                 errorCallback(response);\r
177                         }\r
178                 },function(response) {\r
179                         errorCallback(response);\r
180                 });\r
181         },\r
182         \r
183                 getSubscriptionServiceTypeList : function(globalCustomerId,\r
184                         successCallbackFunction) {\r
185                     $log\r
186                             .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "\r
187                                     + globalCustomerId);\r
188                     if ( UtilityService.hasContents(globalCustomerId) ) {\r
189                             $http.get(\r
190                                         COMPONENT.AAI_SUB_DETAILS_PATH\r
191                                             + globalCustomerId + COMPONENT.ASSIGN + Math.random(),\r
192                                     {\r
193                                         timeout : PropertyService\r
194                                                 .getServerResponseTimeoutMsec()\r
195                                     }).then(function(response) {\r
196                                         if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {\r
197                                                 var serviceTypes = [];\r
198                                                 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];\r
199                                                 \r
200                                                 for (var i = 0; i < serviceSubscriptions.length; i++) {\r
201                                                         serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICE_TYPE]);\r
202                                                 }\r
203                                                 successCallbackFunction(serviceTypes);\r
204                                         } else {\r
205                                                 successCallbackFunction([]);\r
206                                         }\r
207                                     })["catch"]\r
208                                     (UtilityService.runHttpErrorHandler);\r
209                             }\r
210                 },\r
211                 getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,\r
212                                 successCallbackFunction) {\r
213                             $log\r
214                                     .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "\r
215                                             + globalCustomerId);\r
216                             var url =   COMPONENT.AAI_GET_TENANTS\r
217                             + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();\r
218                             \r
219                             $http.get(url,\r
220                                     {\r
221                                         timeout : PropertyService\r
222                                                 .getServerResponseTimeoutMsec()\r
223                                     }).then(function(response) {\r
224                                         var lcpCloudRegionTenants = [];\r
225                                         var aaiLcpCloudRegionTenants = response.data;\r
226                                         \r
227                                         lcpCloudRegionTenants.push({\r
228                                                 "cloudRegionId": "",\r
229                                                 "tenantName": FIELD.PROMPT.REGION,\r
230                                                 "tenantId": ""\r
231                                         });\r
232                                         \r
233                                         for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {\r
234                                                 lcpCloudRegionTenants.push({\r
235                                                         "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],\r
236                                                         "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],\r
237                                                         "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID]\r
238                                                 });\r
239                                         }\r
240                                         \r
241                                         successCallbackFunction(lcpCloudRegionTenants);\r
242                                     })["catch"]\r
243                                     (UtilityService.runHttpErrorHandler);\r
244                 },\r
245                 getSubscribers : function(successCallbackFunction) {\r
246                             $log\r
247                                     .debug("AaiService:getSubscribers");\r
248                             var url =  FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();\r
249                 \r
250                             $http.get(url,\r
251                                     {\r
252                                         timeout : PropertyService\r
253                                                 .getServerResponseTimeoutMsec()\r
254                                     }).then(function(response) {\r
255                                         if (response.data) {\r
256                                                 successCallbackFunction(response.data.customer);\r
257                                         } else {\r
258                                                 successCallbackFunction([]);\r
259                                         }\r
260                                     })["catch"]\r
261                                     (UtilityService.runHttpErrorHandler);\r
262                 },\r
263                 getProvOptionsFromSystemProp : function(successCallbackFunction) {\r
264                     $log\r
265                             .debug("AaiService:getProvOptionsFromSystemProp");\r
266                     var url =  COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;\r
267         \r
268                     $http.get(url,\r
269                             {\r
270                                 timeout : PropertyService\r
271                                         .getServerResponseTimeoutMsec()\r
272                             }).then(function(response) {\r
273                                 if (response.data) {\r
274                                         successCallbackFunction(response);\r
275                                 } else {\r
276                                         successCallbackFunction([]);\r
277                                 }\r
278                             })["catch"]\r
279                             (UtilityService.runHttpErrorHandler);\r
280             },\r
281             getLoggedInUserID : function(successCallbackFunction) {\r
282                     $log\r
283                             .debug("AaiService:getLoggedInUserID");\r
284                     var url = COMPONENT.GET_USER_ID;\r
285         \r
286                     $http.get(url,\r
287                             {\r
288                                 timeout : PropertyService\r
289                                         .getServerResponseTimeoutMsec()\r
290                             }).then(function(response) {\r
291                                 if (response.data) {\r
292                                         successCallbackFunction(response);\r
293                                 } else {\r
294                                         successCallbackFunction([]);\r
295                                 }\r
296                             })["catch"]\r
297                             (UtilityService.runHttpErrorHandler);\r
298             },\r
299                 getServices : function(successCallbackFunction) {\r
300                     $log\r
301                             .debug("AaiService:getServices");\r
302                     var url =  COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();\r
303         \r
304                     $http.get(url,\r
305                             {\r
306                                 timeout : PropertyService\r
307                                         .getServerResponseTimeoutMsec()\r
308                             }).then(function(response) {\r
309                                 if (response.data) {\r
310                                         successCallbackFunction(response);\r
311                                 } else {\r
312                                         successCallbackFunction([]);\r
313                                 }\r
314                             })["catch"]\r
315                             (UtilityService.runHttpErrorHandler);\r
316         },\r
317         getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {\r
318             $log\r
319                     .debug("AaiService:getServices");\r
320                  var url =   COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
321 \r
322             $http.get(url,\r
323                     {\r
324                         timeout : PropertyService\r
325                                 .getServerResponseTimeoutMsec()\r
326                     }).then(function(response) {\r
327                         if (response.data) {\r
328                                 successCallbackFunction(response);\r
329                         } else {\r
330                                 successCallbackFunction([]);\r
331                         }\r
332                     })["catch"]\r
333                     (UtilityService.runHttpErrorHandler);\r
334 }\r
335     }\r
336 }\r
337 \r
338 appDS2.factory("AaiService", [ "$http", "$log", "PropertyService",\r
339         "UtilityService", "COMPONENT", "FIELD", AaiService ]);\r