2 * ============LICENSE_START=======================================================
\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
11 * http://www.apache.org/licenses/LICENSE-2.0
\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
23 var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q) {
\r
25 getSubscriberName : function(globalCustomerId,
\r
26 successCallbackFunction) {
\r
28 .debug("AaiService:getSubscriberName: globalCustomerId: "
\r
29 + globalCustomerId);
\r
31 COMPONENT.AAI_SUB_DETAILS_PATH
\r
32 + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
\r
34 timeout : PropertyService
\r
35 .getServerResponseTimeoutMsec()
\r
36 }).then(function(response) {
\r
38 if (response.data) {
\r
39 subName = response.data[FIELD.ID.SUBNAME];
\r
41 successCallbackFunction(subName);
\r
43 (UtilityService.runHttpErrorHandler);
\r
47 runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
\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
57 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
58 }).then(function(response) {
\r
59 if (response.data != null) {
\r
60 successCallback(response);
\r
62 errorCallback(response);
\r
64 }, function(response) {
\r
65 errorCallback(response);
\r
70 getVNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
\r
72 var url = COMPONENT.AAI_GET_VNF_INFO +
\r
73 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
\r
74 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
\r
75 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
\r
76 $http.get(url, {}, {
\r
77 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
78 }).then(function(response) {
\r
79 if (response.data != null) {
\r
80 successCallback(response);
\r
82 errorCallback(response);
\r
84 }, function(response) {
\r
85 errorCallback(response);
\r
90 getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {
\r
93 $http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, {
\r
96 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
97 }).then(function(response) {
\r
99 subscriber = response.data;
\r
100 var subscriberName = subscriber[FIELD.ID.SUBNAME];
\r
101 if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {
\r
102 angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {
\r
103 var serviceInstanceId = [];
\r
104 var serviceType = "";
\r
105 if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {
\r
106 serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];
\r
108 serviceType = FIELD.PROMPT.NO_SERVICE_SUB;
\r
110 if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {
\r
111 angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {
\r
112 // put them together, i guess
\r
113 var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],
\r
114 "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],
\r
115 "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],
\r
116 "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]
\r
118 if (selectedServiceInstance != null) {
\r
119 if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {
\r
120 serviceInstanceId.push(inst);
\r
123 serviceInstanceId.push(inst);
\r
127 if (serviceInstanceId == []) {
\r
128 serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];
\r
131 angular.forEach(serviceInstanceId, function(subVal, subKey) {
\r
133 globalCustomerId : selectedSubscriber,
\r
134 subscriberName : subscriberName,
\r
135 serviceType : serviceType,
\r
136 serviceInstanceId : subVal.serviceInstanceId,
\r
137 aaiModelInvariantId : subVal.aaiModelInvariantId,
\r
139 : subVal.aaiModelVersionId,
\r
140 serviceInstanceName : subVal.serviceInstanceName,
\r
141 isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED]
\r
147 globalCustomerId : selectedSubscriber,
\r
148 subscriberName : selectedSubscriberName,
\r
149 serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
\r
150 serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
\r
153 successCallback(displayData, subscriberName);
\r
154 }, function(response) {
\r
155 errorCallback(response);});
\r
158 getSubList : function(successCallback, errorCallback ) {
\r
160 $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, {
\r
163 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
164 }).then(function(response) {
\r
165 var customerList = [];
\r
166 if (response.data.customer != null) {
\r
167 angular.forEach(response.data.customer, function(subVal, subKey) {
\r
168 var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME],
\r
169 "isPermitted": subVal[FIELD.ID.IS_PERMITTED], };
\r
170 customerList.push(cust);
\r
172 successCallback(customerList);
\r
174 errorCallback(response);
\r
176 },function(response) {
\r
177 errorCallback(response);
\r
181 getServices2 : function(successCallback, errorCallback ) {
\r
183 $http.get( FIELD.ID.AAI_GET_SERVICES, {}, {
\r
186 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
187 }).then(function(response) {
\r
188 var customerList = [];
\r
189 if (response.data != null) {
\r
190 var serviceIdList = [];
\r
191 angular.forEach(response.data, function(value, key) {
\r
192 angular.forEach(value, function(subVal, key) {
\r
193 var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] ,
\r
194 "isPermitted" : subVal[FIELD.ID.IS_PERMITTED]
\r
196 };serviceIdList.push(newVal);
\r
199 successCallback(serviceIdList);
\r
201 errorCallback(response);
\r
203 },function(response) {
\r
204 errorCallback(response);
\r
208 getSubscriptionServiceTypeList : function(globalCustomerId,
\r
209 successCallbackFunction) {
\r
211 .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
\r
212 + globalCustomerId);
\r
213 if ( UtilityService.hasContents(globalCustomerId) ) {
\r
215 COMPONENT.AAI_SUB_DETAILS_PATH
\r
216 + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
\r
218 timeout : PropertyService
\r
219 .getServerResponseTimeoutMsec()
\r
220 }).then(function(response) {
\r
221 if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
\r
222 var serviceTypes = [];
\r
223 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
\r
225 for (var i = 0; i < serviceSubscriptions.length; i++) {
\r
226 serviceTypes.push({
\r
227 "name":serviceSubscriptions[i][FIELD.ID.SERVICETYPE],
\r
228 "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],
\r
231 successCallbackFunction(serviceTypes);
\r
233 successCallbackFunction([]);
\r
236 (UtilityService.runHttpErrorHandler);
\r
239 getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,
\r
240 successCallbackFunction) {
\r
242 .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
\r
243 + globalCustomerId);
\r
244 var url = COMPONENT.AAI_GET_TENANTS
\r
245 + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
\r
249 timeout : PropertyService
\r
250 .getServerResponseTimeoutMsec()
\r
251 }).then(function(response) {
\r
252 var lcpCloudRegionTenants = [];
\r
253 var aaiLcpCloudRegionTenants = response.data;
\r
255 lcpCloudRegionTenants.push({
\r
256 "cloudRegionId": "",
\r
257 "tenantName": FIELD.PROMPT.REGION,
\r
261 for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
\r
262 lcpCloudRegionTenants.push({
\r
263 "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],
\r
264 "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
\r
265 "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],
\r
266 "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]});
\r
269 successCallbackFunction(lcpCloudRegionTenants);
\r
271 (UtilityService.runHttpErrorHandler);
\r
273 getSubscribers : function(successCallbackFunction) {
\r
275 .debug("AaiService:getSubscribers");
\r
276 var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
\r
280 timeout : PropertyService
\r
281 .getServerResponseTimeoutMsec()
\r
282 }).then(function(response) {
\r
283 if (response.data) {
\r
284 successCallbackFunction(response.data.customer);
\r
286 successCallbackFunction([]);
\r
289 (UtilityService.runHttpErrorHandler);
\r
291 getProvOptionsFromSystemProp : function(successCallbackFunction) {
\r
293 .debug("AaiService:getProvOptionsFromSystemProp");
\r
294 var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
\r
298 timeout : PropertyService
\r
299 .getServerResponseTimeoutMsec()
\r
300 }).then(function(response) {
\r
301 if (response.data) {
\r
302 successCallbackFunction(response);
\r
304 successCallbackFunction([]);
\r
307 (UtilityService.runHttpErrorHandler);
\r
309 getLoggedInUserID : function(successCallbackFunction) {
\r
311 .debug("AaiService:getLoggedInUserID");
\r
312 var url = COMPONENT.GET_USER_ID;
\r
316 transformResponse: [function (data) {
\r
319 timeout : PropertyService
\r
320 .getServerResponseTimeoutMsec()
\r
321 }).then(function(response) {
\r
322 if (response.data) {
\r
323 successCallbackFunction(response);
\r
325 successCallbackFunction([]);
\r
327 },function(failure){console.log("failure")})["catch"]
\r
328 (UtilityService.runHttpErrorHandler);
\r
330 getServices : function(successCallbackFunction) {
\r
332 .debug("AaiService:getServices");
\r
333 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
\r
337 timeout: PropertyService
\r
338 .getServerResponseTimeoutMsec()
\r
339 }).then(function (response) {
\r
340 if (response.data) {
\r
341 successCallbackFunction(response);
\r
343 successCallbackFunction([]);
\r
346 (UtilityService.runHttpErrorHandler);
\r
349 getAicZones: function (successCallbackFunction) {
\r
351 .debug("getAicZones:getAicZones");
\r
352 var url = COMPONENT.AAI_GET_AIC_ZONES +COMPONENT.ASSIGN + Math.random();
\r
356 timeout : PropertyService
\r
357 .getServerResponseTimeoutMsec()
\r
358 }).then(function(response) {
\r
359 if (response.data) {
\r
360 successCallbackFunction(response);
\r
362 successCallbackFunction([]);
\r
365 (UtilityService.runHttpErrorHandler);},
\r
366 getAicZoneForPNF: function (globalCustomerId,serviceType,serviceInstanceId,successCallbackFunction) {
\r
368 .debug("getAicZones:getAicZones");
\r
369 var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF
\r
370 .replace('@serviceInstanceId', serviceInstanceId)
\r
371 .replace('@globalCustomerId', globalCustomerId)
\r
372 .replace('@serviceType', serviceType);
\r
375 timeout : PropertyService
\r
376 .getServerResponseTimeoutMsec()
\r
377 }).then(function(response) {
\r
378 successCallbackFunction(response.data);
\r
380 (UtilityService.runHttpErrorHandler);},
\r
382 getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {
\r
384 .debug("AaiService:getServices");
\r
385 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
\r
389 timeout : PropertyService
\r
390 .getServerResponseTimeoutMsec()
\r
391 }).then(function(response) {
\r
392 if (response.data) {
\r
393 successCallbackFunction(response);
\r
395 successCallbackFunction([]);
\r
398 (UtilityService.runHttpErrorHandler);
\r
400 getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {
\r
402 .debug("AaiService:getServiceModelsByServiceType");
\r
403 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
407 timeout : PropertyService
\r
408 .getServerResponseTimeoutMsec()
\r
409 }).then(function(response) {
\r
410 if (response.data) {
\r
411 successCallbackFunction(response);
\r
413 successCallbackFunction([]);
\r
416 (UtilityService.runHttpErrorHandler);
\r
419 getVnfsByCustomerIdAndServiceType: function(globalSubscriberId, serviceType){
\r
420 var deferred = $q.defer();
\r
422 if (UtilityService.hasContents(globalSubscriberId) &&
\r
423 UtilityService.hasContents(serviceType) ) {
\r
425 $http.get(COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + globalSubscriberId + COMPONENT.FORWARD_SLASH
\r
427 .success(function (response) {
\r
429 deferred.resolve({data: response});
\r
431 deferred.resolve({data: []});
\r
433 }).error(function (data, status, headers, config) {
\r
434 deferred.reject({message: data, status: status});
\r
438 return deferred.promise;
\r
441 getVnfVersionsByInvariantId: function(modelInvariantId){
\r
442 var deferred = $q.defer();
\r
444 if (UtilityService.hasContents(modelInvariantId)) {
\r
445 var body = {"versions" : modelInvariantId}
\r
446 $http.post(( COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID),body)
\r
448 .success(function (response) {
\r
450 deferred.resolve({data: response});
\r
452 deferred.resolve({data: []});
\r
454 }).error(function (data, status, headers, config) {
\r
455 deferred.reject({message: data, status: status});
\r
459 return deferred.promise;
\r
462 getSubscriberServiceTypes: function(subscriberUuid) {
\r
463 var deferred = $q.defer();
\r
464 $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);
\r
466 if (UtilityService.hasContents(subscriberUuid)) {
\r
467 $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())
\r
468 .success(function (response) {
\r
469 if(response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
\r
470 deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});
\r
472 deferred.resolve({data: []});
\r
474 }).error(function (data, status, headers, config) {
\r
475 deferred.reject({message: data, status: status});
\r
479 return deferred.promise;
\r
483 appDS2.factory("AaiService", ["$http", "$log", "PropertyService",
\r
484 "UtilityService", "COMPONENT", "FIELD", "$q", AaiService]);
\r