ee99547b655cdc4a5df5194acd7e9d22ccbf72a2
[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.SERVICETYPE] != null) {\r
86                                                         serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];\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\r
119                                                                 : subVal.aaiModelVersionId,\r
120                                                                 serviceInstanceName     : subVal.serviceInstanceName\r
121                                                         });\r
122                                                 });\r
123                                         });\r
124                                 } else { \r
125                                         displayData.push({\r
126                                                 globalCustomerId        : selectedSubscriber,\r
127                                                 subscriberName          : selectedSubscriberName,\r
128                                                 serviceType             : FIELD.PROMPT.NO_SERVICE_SUB,\r
129                                                 serviceInstanceId       : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
130                                         });  \r
131                                 }\r
132                                 successCallback(displayData, subscriberName);\r
133                         }, function(response) { \r
134                                 errorCallback(response);\r
135                         });\r
136                 },\r
137         getSubList : function(successCallback, errorCallback ) {\r
138 \r
139                 $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {\r
140 \r
141                 },{\r
142                         timeout : PropertyService.getServerResponseTimeoutMsec()\r
143                 }).then(function(response) {\r
144                         var customerList = [];\r
145                         if (response.data.customer != null) {\r
146                                 angular.forEach(response.data.customer, function(subVal, subKey) {\r
147                                         var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME] };\r
148                                         customerList.push(cust);\r
149                                 });     \r
150                                 successCallback(customerList);\r
151                         } else {        \r
152                                 errorCallback(response);\r
153                         }\r
154                 },function(response) {\r
155                         errorCallback(response);\r
156                 });\r
157         },\r
158         \r
159         getServices2 : function(successCallback, errorCallback ) {\r
160 \r
161                 $http.get( FIELD.ID.AAI_GET_SERVICES, {\r
162 \r
163                 },{\r
164                         timeout : PropertyService.getServerResponseTimeoutMsec()\r
165                 }).then(function(response) {\r
166                         var customerList = [];\r
167                         if (response.data != null) {\r
168                                 var serviceIdList = [];\r
169                                 angular.forEach(response.data, function(value, key) {\r
170                                         angular.forEach(value, function(subVal, key) {\r
171                                                 var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] };\r
172                                                 serviceIdList.push(newVal);\r
173                                         });\r
174                                 });\r
175                                 successCallback(serviceIdList);\r
176                         } else {        \r
177                                 errorCallback(response);\r
178                         }\r
179                 },function(response) {\r
180                         errorCallback(response);\r
181                 });\r
182         },\r
183         \r
184                 getSubscriptionServiceTypeList : function(globalCustomerId,\r
185                         successCallbackFunction) {\r
186                     $log\r
187                             .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "\r
188                                     + globalCustomerId);\r
189                     if ( UtilityService.hasContents(globalCustomerId) ) {\r
190                             $http.get(\r
191                                         COMPONENT.AAI_SUB_DETAILS_PATH\r
192                                             + globalCustomerId + COMPONENT.ASSIGN + Math.random(),\r
193                                     {\r
194                                         timeout : PropertyService\r
195                                                 .getServerResponseTimeoutMsec()\r
196                                     }).then(function(response) {\r
197                                         if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {\r
198                                                 var serviceTypes = [];\r
199                                                 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];\r
200                                                 \r
201                                                 for (var i = 0; i < serviceSubscriptions.length; i++) {\r
202                                                         serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICETYPE]);\r
203                                                 }\r
204                                                 successCallbackFunction(serviceTypes);\r
205                                         } else {\r
206                                                 successCallbackFunction([]);\r
207                                         }\r
208                                     })["catch"]\r
209                                     (UtilityService.runHttpErrorHandler);\r
210                             }\r
211                 },\r
212                 getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,\r
213                                 successCallbackFunction) {\r
214                             $log\r
215                                     .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "\r
216                                             + globalCustomerId);\r
217                             var url =   COMPONENT.AAI_GET_TENANTS\r
218                             + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();\r
219                             \r
220                             $http.get(url,\r
221                                     {\r
222                                         timeout : PropertyService\r
223                                                 .getServerResponseTimeoutMsec()\r
224                                     }).then(function(response) {\r
225                                         var lcpCloudRegionTenants = [];\r
226                                         var aaiLcpCloudRegionTenants = response.data;\r
227                                         \r
228                                         lcpCloudRegionTenants.push({\r
229                                                 "cloudRegionId": "",\r
230                                                 "tenantName": FIELD.PROMPT.REGION,\r
231                                                 "tenantId": ""\r
232                                         });\r
233                                         \r
234                                         for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {\r
235                                                 lcpCloudRegionTenants.push({\r
236                                                         "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],\r
237                                                         "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],\r
238                                                         "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID]\r
239                                                 });\r
240                                         }\r
241                                         \r
242                                         successCallbackFunction(lcpCloudRegionTenants);\r
243                                     })["catch"]\r
244                                     (UtilityService.runHttpErrorHandler);\r
245                 },\r
246                 getSubscribers : function(successCallbackFunction) {\r
247                             $log\r
248                                     .debug("AaiService:getSubscribers");\r
249                             var url =  FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();\r
250                 \r
251                             $http.get(url,\r
252                                     {\r
253                                         timeout : PropertyService\r
254                                                 .getServerResponseTimeoutMsec()\r
255                                     }).then(function(response) {\r
256                                         if (response.data) {\r
257                                                 successCallbackFunction(response.data.customer);\r
258                                         } else {\r
259                                                 successCallbackFunction([]);\r
260                                         }\r
261                                     })["catch"]\r
262                                     (UtilityService.runHttpErrorHandler);\r
263                 },\r
264                 getProvOptionsFromSystemProp : function(successCallbackFunction) {\r
265                     $log\r
266                             .debug("AaiService:getProvOptionsFromSystemProp");\r
267                     var url =  COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;\r
268         \r
269                     $http.get(url,\r
270                             {\r
271                                 timeout : PropertyService\r
272                                         .getServerResponseTimeoutMsec()\r
273                             }).then(function(response) {\r
274                                 if (response.data) {\r
275                                         successCallbackFunction(response);\r
276                                 } else {\r
277                                         successCallbackFunction([]);\r
278                                 }\r
279                             })["catch"]\r
280                             (UtilityService.runHttpErrorHandler);\r
281             },\r
282             getLoggedInUserID : function(successCallbackFunction) {\r
283                     $log\r
284                             .debug("AaiService:getLoggedInUserID");\r
285                     var url = COMPONENT.GET_USER_ID;\r
286         \r
287                     $http.get(url,\r
288                             {\r
289                                 timeout : PropertyService\r
290                                         .getServerResponseTimeoutMsec()\r
291                             }).then(function(response) {\r
292                                 if (response.data) {\r
293                                         successCallbackFunction(response);\r
294                                 } else {\r
295                                         successCallbackFunction([]);\r
296                                 }\r
297                             })["catch"]\r
298                             (UtilityService.runHttpErrorHandler);\r
299             },\r
300                 getServices : function(successCallbackFunction) {\r
301                     $log\r
302                             .debug("AaiService:getServices");\r
303                     var url =  COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();\r
304         \r
305                     $http.get(url,\r
306                             {\r
307                                 timeout : PropertyService\r
308                                         .getServerResponseTimeoutMsec()\r
309                             }).then(function(response) {\r
310                                 if (response.data) {\r
311                                         successCallbackFunction(response);\r
312                                 } else {\r
313                                         successCallbackFunction([]);\r
314                                 }\r
315                             })["catch"]\r
316                             (UtilityService.runHttpErrorHandler);\r
317         },\r
318         getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {\r
319             $log\r
320                     .debug("AaiService:getServices");\r
321                  var url =   COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
322 \r
323             $http.get(url,\r
324                     {\r
325                         timeout : PropertyService\r
326                                 .getServerResponseTimeoutMsec()\r
327                     }).then(function(response) {\r
328                         if (response.data) {\r
329                                 successCallbackFunction(response);\r
330                         } else {\r
331                                 successCallbackFunction([]);\r
332                         }\r
333                     })["catch"]\r
334                     (UtilityService.runHttpErrorHandler);\r
335 },\r
336 getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {\r
337                 $log\r
338                 .debug("AaiService:getServiceModelsByServiceType");\r
339                 var url =   COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
340                 \r
341                 $http.get(url,\r
342                                 {\r
343                         timeout : PropertyService\r
344                         .getServerResponseTimeoutMsec()\r
345                                 }).then(function(response) {\r
346                                         if (response.data) {\r
347                                                 successCallbackFunction(response);\r
348                                         } else {\r
349                                                 successCallbackFunction([]);\r
350                                         }\r
351                                 })["catch"]\r
352                 (UtilityService.runHttpErrorHandler);\r
353         }\r
354     }\r
355 }\r
356 \r
357 appDS2.factory("AaiService", [ "$http", "$log", "PropertyService",\r
358         "UtilityService", "COMPONENT", "FIELD", AaiService ]);\r