2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
23 var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q, featureFlags) {
25 function getServiceInstance(serviceInstanceIdentifier, findBy) {
26 serviceInstanceIdentifier.trim();
28 return $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + serviceInstanceIdentifier + "/" + findBy + "?r=" + Math.random(), {}, {
29 timeout: PropertyService.getServerResponseTimeoutMsec()
33 function getPnfByName(pnfName) {
34 var deferred = $q.defer();
35 var url = COMPONENT.AAI_GET_PNF_BY_NAME + encodeURIComponent(pnfName);
36 var config = {timeout: PropertyService.getServerResponseTimeoutMsec()};
38 $http.get(url, config)
39 .success(function (response) {
40 deferred.resolve({data: response});
42 .error(function (data, status, headers, config) {
43 deferred.reject({message: data, status: status});
46 return deferred.promise;
49 function getGlobalCustomerIdFromServiceInstanceResponse(response) {
50 var globalCustomerId = "";
51 if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {
52 var customerIndex = 5;
53 var customerIdIndex = 6;
56 var item = response.data[FIELD.ID.RESULT_DATA][itemIndex];
57 var url = item[FIELD.ID.RESOURCE_LINK];
58 var urlParts = url.split("/");
59 if (urlParts[customerIndex] === FIELD.ID.CUSTOMER) {
60 globalCustomerId = urlParts[customerIdIndex];
63 return globalCustomerId;
66 function searchServiceInstances(query) {
67 return $http.get(COMPONENT.SEARCH_SERVICE_INSTANCES + query, {}, {
68 timeout: PropertyService.getServerResponseTimeoutMsec()
69 }).then(function (response) {
70 var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];
71 if (!displayData || !displayData.length) {
73 globalCustomerId: null,
75 serviceType: FIELD.PROMPT.NO_SERVICE_SUB,
76 serviceInstanceId: FIELD.PROMPT.NO_SERVICE_INSTANCE
79 return {displayData: displayData};
83 function getJoinedQueryString(queries) {
84 return queries.filter(function (val) {
89 function getConfigParams(nfRole, cloudRegion) {
90 if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH)) {
96 cloudRegion: cloudRegion,
107 getSubscriberName: function (globalCustomerId,
108 successCallbackFunction) {
110 .debug("AaiService:getSubscriberName: globalCustomerId: "
113 COMPONENT.AAI_SUB_DETAILS_PATH
114 + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
116 timeout: PropertyService
117 .getServerResponseTimeoutMsec()
118 }).then(function (response) {
121 result.subscriberName = response.data[FIELD.ID.SUBNAME];
122 result.serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS];
124 successCallbackFunction(result);
126 (UtilityService.runHttpErrorHandler);
129 runNamedQuery: function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
131 var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +
132 COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +
133 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
134 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
135 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
136 return $http.get(url, {}, {
139 timeout: PropertyService.getServerResponseTimeoutMsec()
140 }).then(function (response) {
141 if (response.data != null) {
142 successCallback(response);
144 errorCallback(response);
146 }, function (response) {
147 errorCallback(response);
152 getVNFInformationByServiceTypeAndId: function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
154 var url = COMPONENT.AAI_GET_VNF_INFO +
155 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
156 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
157 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
159 timeout: PropertyService.getServerResponseTimeoutMsec()
160 }).then(function (response) {
161 if (response.data != null) {
162 successCallback(response);
164 errorCallback(response);
166 }, function (response) {
167 errorCallback(response);
171 getPNFInformationByServiceTypeAndId: function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
173 var url = COMPONENT.AAI_GET_PNF_INSTANCE +
174 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
175 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
176 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
178 timeout: PropertyService.getServerResponseTimeoutMsec()
179 }).then(function (response) {
180 if (response.data != null) {
181 successCallback(response);
183 errorCallback(response);
185 }, function (response) {
186 errorCallback(response);
190 getCRInformationByInstanceId: function (serviceInstanceId) {
192 var deferred = $q.defer();
194 var url = COMPONENT.AAI_GET_CR_INSTANCE +
195 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
197 timeout: PropertyService.getServerResponseTimeoutMsec()
198 }).then(function (response) {
199 if (response.data != null) {
200 deferred.resolve(response);
202 deferred.resolve(response);
204 }, function (response) {
205 deferred.resolve(response);
207 return deferred.promise;
210 searchServiceInstances: searchServiceInstances,
212 getModelVersionId: function (subscriberId, instanceId) {
213 var globalCustomerIdQuery = COMPONENT.SELECTED_SUBSCRIBER_SUB_PATH + subscriberId;
214 var serviceInstanceQuery = COMPONENT.SELECTED_SERVICE_INSTANCE_SUB_PATH + instanceId;
216 var query = "?" + getJoinedQueryString([globalCustomerIdQuery, serviceInstanceQuery]);
218 var deferred = $q.defer();
220 searchServiceInstances(query).then(function (response) {
221 var displayData = response.displayData;
222 if (displayData[0] && displayData[0].aaiModelVersionId) {
223 deferred.resolve(displayData[0].aaiModelVersionId);
225 deferred.reject(FIELD.ERROR.MODEL_VERSION_ID_MISSING);
227 }).catch(function (err) {
228 deferred.reject(err);
231 return deferred.promise;
234 getSubDetails: function (selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {
237 $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, {
240 timeout: PropertyService.getServerResponseTimeoutMsec()
241 }).then(function (response) {
243 subscriber = response.data;
244 var subscriberName = subscriber[FIELD.ID.SUBNAME];
245 if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {
246 angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function (serviceSubscription, key) {
247 var serviceInstanceId = [];
248 var serviceType = "";
249 if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {
250 serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];
252 serviceType = FIELD.PROMPT.NO_SERVICE_SUB;
254 if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {
255 angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function (instValue, instKey) {
256 // put them together, i guess
258 "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],
259 "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],
260 "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],
261 "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]
263 if (selectedServiceInstance != null) {
264 if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {
265 serviceInstanceId.push(inst);
268 serviceInstanceId.push(inst);
272 serviceInstanceId = [FIELD.PROMPT.NO_SERVICE_INSTANCE];
274 angular.forEach(serviceInstanceId, function (subVal, subKey) {
276 globalCustomerId: selectedSubscriber,
277 subscriberName: subscriberName,
278 serviceType: serviceType,
279 serviceInstanceId: subVal.serviceInstanceId,
280 aaiModelInvariantId: subVal.aaiModelInvariantId,
281 aaiModelVersionId: subVal.aaiModelVersionId,
282 serviceInstanceName: subVal.serviceInstanceName,
283 isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED]
289 globalCustomerId: selectedSubscriber,
290 subscriberName: subscriberName,
291 serviceType: FIELD.PROMPT.NO_SERVICE_SUB,
292 serviceInstanceId: FIELD.PROMPT.NO_SERVICE_INSTANCE
295 successCallback(displayData, subscriberName);
296 }, function (response) {
297 errorCallback(response);
301 getSubList: function (successCallback, errorCallback) {
303 $http.get(FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, {
306 timeout: PropertyService.getServerResponseTimeoutMsec()
307 }).then(function (response) {
308 var customerList = [];
309 if (response.data.customer != null) {
310 angular.forEach(response.data.customer, function (subVal, subKey) {
312 "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID],
313 "subscriberName": subVal[FIELD.ID.SUBNAME],
314 "isPermitted": subVal[FIELD.ID.IS_PERMITTED],
316 customerList.push(cust);
318 successCallback(customerList);
320 errorCallback(response);
322 }, function (response) {
323 errorCallback(response);
327 getServiceInstance: getServiceInstance,
328 getPnfByName: getPnfByName,
330 getGlobalCustomerIdByInstanceIdentifier: function (serviceInstanceIdentifier, findBy) {
331 serviceInstanceIdentifier.trim();
333 return getServiceInstance(serviceInstanceIdentifier, findBy)
334 .then(function (response) {
335 return getGlobalCustomerIdFromServiceInstanceResponse(response);
339 getMultipleValueParamQueryString: function (values, paramSubPath) {
341 return paramSubPath + values.filter(function (val) {
343 }).join("&" + paramSubPath);
347 getJoinedQueryString: getJoinedQueryString,
349 getServices2: function (successCallback, errorCallback) {
350 $http.get(FIELD.ID.AAI_GET_SERVICES, {}, {
351 timeout: PropertyService.getServerResponseTimeoutMsec()
352 }).then(function (response) {
353 if (response.data != null) {
354 var serviceIdList = [];
355 angular.forEach(response.data, function (value, key) {
356 angular.forEach(value, function (subVal, key) {
358 "id": subVal[FIELD.ID.SERVICE_ID], "description": subVal[FIELD.ID.SERVICE_DESCRIPTION],
359 "isPermitted": subVal[FIELD.ID.IS_PERMITTED]
362 serviceIdList.push(newVal);
365 successCallback(serviceIdList);
367 errorCallback(response);
369 }, function (response) {
370 errorCallback(response);
374 getPortMirroringData: function (ids) {
375 var defer = $q.defer();
377 var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA + '?configurationIds=' + ids.join(',');
378 $http.get(url).then(function (res) {
380 }).catch(function (err) {
385 return defer.promise;
389 getPortMirroringSourcePorts: function (ids) {
390 var defer = $q.defer();
391 var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS + '?configurationIds=' + ids.join(',');
392 $http.get(url).then(function (res) {
394 }).catch(function (err) {
398 return defer.promise;
401 getVlansByNetworksMapping: function (globalCustomerId, serviceType, serviceInstanceId, sdcModelUuid) {
402 var defer = $q.defer();
403 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS)) {
404 var url = COMPONENT.AAI_GET_PROVIDER_NETWORKS_ASSOCIATIONS + '?'
405 + 'globalCustomerId=' + globalCustomerId
406 + '&serviceType=' + serviceType
407 + '&serviceInstanceId=' + serviceInstanceId
408 + '&sdcModelUuid=' + sdcModelUuid
411 $http.get(url).then(function (res) {
412 defer.resolve(res.data);
413 }).catch(function (err) {
421 return defer.promise;
424 getSubscriptionServiceTypeList: function (globalCustomerId,
425 successCallbackFunction) {
427 .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
429 if (UtilityService.hasContents(globalCustomerId)) {
431 COMPONENT.AAI_SUB_DETAILS_PATH
432 + globalCustomerId + COMPONENT.ASSIGN + Math.random() + COMPONENT.AAI_OMIT_SERVICE_INSTANCES + true,
434 timeout: PropertyService
435 .getServerResponseTimeoutMsec()
436 }).then(function (response) {
437 if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
438 var serviceTypes = [];
439 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
441 for (var i = 0; i < serviceSubscriptions.length; i++) {
443 "name": serviceSubscriptions[i][FIELD.ID.SERVICETYPE],
444 "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],
448 successCallbackFunction(serviceTypes);
450 successCallbackFunction([]);
453 (UtilityService.runHttpErrorHandler);
456 getLcpCloudRegionTenantList: function (globalCustomerId, serviceType,
457 successCallbackFunction) {
460 .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
462 var url = COMPONENT.AAI_GET_TENANTS
463 + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
467 timeout: PropertyService
468 .getServerResponseTimeoutMsec()
469 }).then(function (response) {
470 var lcpCloudRegionTenants = [];
471 var aaiLcpCloudRegionTenants = response.data;
473 for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
474 var cloudOwner = aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_OWNER];
475 var cloudRegionId = aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID];
476 var cloudRegionOptionId = self.cloudRegionOptionId(cloudOwner, cloudRegionId);
478 lcpCloudRegionTenants.push({
479 "cloudOwner": cloudOwner,
480 "cloudRegionId": cloudRegionId,
481 "cloudRegionOptionId": cloudRegionOptionId,
482 "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
483 "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],
484 "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]
488 successCallbackFunction(lcpCloudRegionTenants);
489 }).catch(function (error) {
490 (UtilityService.runHttpErrorHandler(error.data, error.status));
493 getSubscribers: function (successCallbackFunction) {
495 .debug("AaiService:getSubscribers");
496 var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
500 timeout: PropertyService
501 .getServerResponseTimeoutMsec()
502 }).then(function (response) {
504 successCallbackFunction(response.data.customer);
506 successCallbackFunction([]);
509 (UtilityService.runHttpErrorHandler);
511 getProvOptionsFromSystemProp: function (successCallbackFunction) {
513 .debug("AaiService:getProvOptionsFromSystemProp");
514 var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
518 timeout: PropertyService
519 .getServerResponseTimeoutMsec()
520 }).then(function (response) {
522 successCallbackFunction(response);
524 successCallbackFunction([]);
527 (UtilityService.runHttpErrorHandler);
529 getLoggedInUserID: function (successCallbackFunction, catchCallbackFunction) {
531 .debug("AaiService:getLoggedInUserID");
532 var url = COMPONENT.GET_USER_ID;
536 transformResponse: [function (data) {
539 timeout: PropertyService
540 .getServerResponseTimeoutMsec()
541 }).then(function (response) {
543 successCallbackFunction(response);
545 successCallbackFunction([]);
547 })["catch"](function (response, status) {
548 if (catchCallbackFunction) {
549 catchCallbackFunction();
551 UtilityService.runHttpErrorHandler(response, status);
554 getServices: function (successCallbackFunction) {
556 .debug("AaiService:getServices");
557 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
561 timeout: PropertyService
562 .getServerResponseTimeoutMsec()
563 }).then(function (response) {
565 successCallbackFunction(response);
567 successCallbackFunction([]);
570 (UtilityService.runHttpErrorHandler);
573 getAicZones: function (successCallbackFunction) {
575 .debug("getAicZones:getAicZones");
576 var url = COMPONENT.AAI_GET_AIC_ZONES + COMPONENT.ASSIGN + Math.random();
580 timeout: PropertyService
581 .getServerResponseTimeoutMsec()
582 }).then(function (response) {
584 successCallbackFunction(response);
586 successCallbackFunction([]);
589 (UtilityService.runHttpErrorHandler);
591 getAicZoneForPNF: function (globalCustomerId, serviceType, serviceInstanceId, successCallbackFunction) {
593 .debug("getAicZones:getAicZones");
594 var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF
595 .replace('@serviceInstanceId', serviceInstanceId)
596 .replace('@globalCustomerId', globalCustomerId)
597 .replace('@serviceType', serviceType);
600 timeout: PropertyService
601 .getServerResponseTimeoutMsec()
602 }).then(function (response) {
603 successCallbackFunction(response.data);
605 (UtilityService.runHttpErrorHandler);
608 getServiceModels: function (globalCustomerId, serviceType, successCallbackFunction) {
610 .debug("AaiService:getServices");
611 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
615 timeout: PropertyService
616 .getServerResponseTimeoutMsec()
617 }).then(function (response) {
619 successCallbackFunction(response);
621 successCallbackFunction([]);
624 (UtilityService.runHttpErrorHandler);
626 getServiceModelsByServiceType: function (namedQueryId, globalCustomerId, serviceType, successCallbackFunction) {
628 .debug("AaiService:getServiceModelsByServiceType");
629 var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE + COMPONENT.FORWARD_SLASH + namedQueryId + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
633 timeout: PropertyService
634 .getServerResponseTimeoutMsec()
635 }).then(function (response) {
637 successCallbackFunction(response);
639 successCallbackFunction([]);
642 (UtilityService.runHttpErrorHandler);
645 getVnfsByCustomerIdAndServiceType: function (globalSubscriberId, serviceType, nfRole, cloudRegion) {
646 let deferred = $q.defer();
648 let url = globalSubscriberId + COMPONENT.FORWARD_SLASH + serviceType
650 const path = COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + url;
651 let config = getConfigParams(nfRole, cloudRegion);
653 if (UtilityService.hasContents(globalSubscriberId) &&
654 UtilityService.hasContents(serviceType)) {
656 $http.get(path, config)
657 .success(function (response) {
659 deferred.resolve({data: response});
661 deferred.resolve({data: []});
663 }).error(function (data, status, headers, config) {
664 deferred.reject({message: data, status: status});
668 return deferred.promise;
671 getVnfVersionsByInvariantId: function (modelInvariantId) {
672 var deferred = $q.defer();
674 if (UtilityService.hasContents(modelInvariantId)) {
675 var body = {"versions": modelInvariantId};
676 $http.post((COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID), body)
678 .success(function (response) {
680 deferred.resolve({data: response});
682 deferred.resolve({data: []});
684 }).error(function (data, status, headers, config) {
685 deferred.reject({message: data, status: status});
689 return deferred.promise;
693 getSubscriberServiceTypes: function (subscriberUuid) {
694 var deferred = $q.defer();
695 $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);
697 if (UtilityService.hasContents(subscriberUuid)) {
698 $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())
699 .success(function (response) {
700 if (response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
701 deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});
703 deferred.resolve({data: []});
705 }).error(function (data, status, headers, config) {
706 deferred.reject({message: data, status: status});
710 return deferred.promise;
712 getVnfInstancesList: function (globalSubscriberId, serviceType, modelVersionId, modelInvariantId, cloudRegionId) {
713 var deferred = $q.defer();
714 $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,
720 .join(COMPONENT.FORWARD_SLASH))
721 .success(function (response) {
722 deferred.resolve(response);
723 }).error(function (data, status) {
724 deferred.reject({message: data, status: status});
726 return deferred.promise;
728 getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {
729 var deferred = $q.defer();
730 $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,
731 globalCustomerId, serviceType,
732 modelVersionId, modelInvariantId,
734 equipVendor, equipModel
735 ].join(COMPONENT.FORWARD_SLASH))
736 .success(function (response) {
737 deferred.resolve(response);
738 }).error(function (data, status) {
739 deferred.reject({message: data, status: status});
741 return deferred.promise;
743 getByUri: function (uri) {
744 var deferred = $q.defer();
746 $http.get(COMPONENT.AAI_GET_BY_URI + uri)
747 .success(function (response) {
748 deferred.resolve({data: []});
749 }).error(function (data, status, headers, config) {
750 deferred.reject({message: data, status: status});
753 return deferred.promise;
755 getConfiguration: function (configurationId) {
756 var deferred = $q.defer();
758 $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)
759 .success(function (response) {
760 deferred.resolve({data: []});
761 }).error(function (data, status, headers, config) {
762 deferred.reject({message: data, status: status});
765 return deferred.promise;
768 getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {
769 var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;
772 timeout: PropertyService.getServerResponseTimeoutMsec()
773 }).then(function (response) {
774 successCallback(response);
775 }, function (response) {
776 errorCallback(response);
780 postPOMBAverificationRequest: function (url, data, config) {
781 $http.post(url, data, config)
782 .success(function (data, status, headers, config) {
783 //If at some point in the future the result should be handled - this should be the entry point.
784 log.debug("POMBA was called successfully with data: " + data);
786 .error(function (data, status, header, config) {
787 log.debug("Error: " +
789 "status: " + status +
790 "headers: " + header +
791 "config: " + config);
795 cloudRegionOptionId: function (cloudOwner, cloudRegionId) {
796 return ('option-' + cloudOwner + '-' + cloudRegionId).toLowerCase();
799 getHomingData: function (vnfInstanceId, vfModuleId) {
801 var url = COMPONENT.AAI_GET_HOMING_DATA.replace('@vnfInstanceId', vnfInstanceId)
802 .replace('@vfModuleId', vfModuleId);
804 var deferred = $q.defer();
807 .success(function (response) {
808 var cloudOwner = response[COMPONENT.CLOUD_OWNER];
809 var cloudRegionId = response[COMPONENT.CLOUD_REGION_ID];
810 if (cloudOwner && cloudRegionId) {
811 response["cloudRegionOptionId"] = self.cloudRegionOptionId(cloudOwner, cloudRegionId);
813 response["cloudRegionOptionId"] = null;
816 deferred.resolve({data: response});
817 }).error(function (data, status, headers, config) {
818 deferred.reject({message: data, status: status});
821 return deferred.promise;
825 removeVendorFromCloudOwner: function (cloudOwner) {
826 // Handle the case where cloud owner is formatted
827 // like "{vendor}-{cloud-name}"
828 return cloudOwner.trim().replace(/^[^-]*-/, '');
833 appDS2.factory("AaiService", ["$http", "$log", "PropertyService",
834 "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);