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(vnfRole, 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) {
351 $http.get(FIELD.ID.AAI_GET_SERVICES, {}, {
354 timeout: PropertyService.getServerResponseTimeoutMsec()
355 }).then(function (response) {
356 var customerList = [];
357 if (response.data != null) {
358 var serviceIdList = [];
359 angular.forEach(response.data, function (value, key) {
360 angular.forEach(value, function (subVal, key) {
362 "id": subVal[FIELD.ID.SERVICE_ID], "description": subVal[FIELD.ID.SERVICE_DESCRIPTION],
363 "isPermitted": subVal[FIELD.ID.IS_PERMITTED]
366 serviceIdList.push(newVal);
369 successCallback(serviceIdList);
371 errorCallback(response);
373 }, function (response) {
374 errorCallback(response);
378 getPortMirroringData: function (ids) {
379 var defer = $q.defer();
381 var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA + '?configurationIds=' + ids.join(',');
382 $http.get(url).then(function (res) {
384 }).catch(function (err) {
389 return defer.promise;
393 getPortMirroringSourcePorts: function (ids) {
394 var defer = $q.defer();
395 var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS + '?configurationIds=' + ids.join(',');
396 $http.get(url).then(function (res) {
398 }).catch(function (err) {
402 return defer.promise;
405 getVlansByNetworksMapping: function (globalCustomerId, serviceType, serviceInstanceId, sdcModelUuid) {
406 var defer = $q.defer();
407 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS)) {
408 var url = COMPONENT.AAI_GET_PROVIDER_NETWORKS_ASSOCIATIONS + '?'
409 + 'globalCustomerId=' + globalCustomerId
410 + '&serviceType=' + serviceType
411 + '&serviceInstanceId=' + serviceInstanceId
412 + '&sdcModelUuid=' + sdcModelUuid
415 $http.get(url).then(function (res) {
416 defer.resolve(res.data);
417 }).catch(function (err) {
425 return defer.promise;
428 getSubscriptionServiceTypeList: function (globalCustomerId,
429 successCallbackFunction) {
431 .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
433 if (UtilityService.hasContents(globalCustomerId)) {
435 COMPONENT.AAI_SUB_DETAILS_PATH
436 + globalCustomerId + COMPONENT.ASSIGN + Math.random() + COMPONENT.AAI_OMIT_SERVICE_INSTANCES + true,
438 timeout: PropertyService
439 .getServerResponseTimeoutMsec()
440 }).then(function (response) {
441 if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
442 var serviceTypes = [];
443 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
445 for (var i = 0; i < serviceSubscriptions.length; i++) {
447 "name": serviceSubscriptions[i][FIELD.ID.SERVICETYPE],
448 "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],
452 successCallbackFunction(serviceTypes);
454 successCallbackFunction([]);
457 (UtilityService.runHttpErrorHandler);
460 getLcpCloudRegionTenantList: function (globalCustomerId, serviceType,
461 successCallbackFunction) {
464 .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
466 var url = COMPONENT.AAI_GET_TENANTS
467 + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
471 timeout: PropertyService
472 .getServerResponseTimeoutMsec()
473 }).then(function (response) {
474 var lcpCloudRegionTenants = [];
475 var aaiLcpCloudRegionTenants = response.data;
477 for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
478 var cloudOwner = aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_OWNER];
479 var cloudRegionId = aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID];
480 var cloudRegionOptionId = self.cloudRegionOptionId(cloudOwner, cloudRegionId);
482 lcpCloudRegionTenants.push({
483 "cloudOwner": cloudOwner,
484 "cloudRegionId": cloudRegionId,
485 "cloudRegionOptionId": cloudRegionOptionId,
486 "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
487 "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],
488 "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]
492 successCallbackFunction(lcpCloudRegionTenants);
493 }).catch(function (error) {
494 (UtilityService.runHttpErrorHandler(error.data, error.status));
497 getSubscribers: function (successCallbackFunction) {
499 .debug("AaiService:getSubscribers");
500 var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
504 timeout: PropertyService
505 .getServerResponseTimeoutMsec()
506 }).then(function (response) {
508 successCallbackFunction(response.data.customer);
510 successCallbackFunction([]);
513 (UtilityService.runHttpErrorHandler);
515 getProvOptionsFromSystemProp: function (successCallbackFunction) {
517 .debug("AaiService:getProvOptionsFromSystemProp");
518 var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
522 timeout: PropertyService
523 .getServerResponseTimeoutMsec()
524 }).then(function (response) {
526 successCallbackFunction(response);
528 successCallbackFunction([]);
531 (UtilityService.runHttpErrorHandler);
533 getLoggedInUserID: function (successCallbackFunction, catchCallbackFunction) {
535 .debug("AaiService:getLoggedInUserID");
536 var url = COMPONENT.GET_USER_ID;
540 transformResponse: [function (data) {
543 timeout: PropertyService
544 .getServerResponseTimeoutMsec()
545 }).then(function (response) {
547 successCallbackFunction(response);
549 successCallbackFunction([]);
551 })["catch"](function (response, status) {
552 if (catchCallbackFunction) {
553 catchCallbackFunction();
555 UtilityService.runHttpErrorHandler(response, status);
558 getServices: function (successCallbackFunction) {
560 .debug("AaiService:getServices");
561 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
565 timeout: PropertyService
566 .getServerResponseTimeoutMsec()
567 }).then(function (response) {
569 successCallbackFunction(response);
571 successCallbackFunction([]);
574 (UtilityService.runHttpErrorHandler);
577 getAicZones: function (successCallbackFunction) {
579 .debug("getAicZones:getAicZones");
580 var url = COMPONENT.AAI_GET_AIC_ZONES + COMPONENT.ASSIGN + Math.random();
584 timeout: PropertyService
585 .getServerResponseTimeoutMsec()
586 }).then(function (response) {
588 successCallbackFunction(response);
590 successCallbackFunction([]);
593 (UtilityService.runHttpErrorHandler);
595 getAicZoneForPNF: function (globalCustomerId, serviceType, serviceInstanceId, successCallbackFunction) {
597 .debug("getAicZones:getAicZones");
598 var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF
599 .replace('@serviceInstanceId', serviceInstanceId)
600 .replace('@globalCustomerId', globalCustomerId)
601 .replace('@serviceType', serviceType);
604 timeout: PropertyService
605 .getServerResponseTimeoutMsec()
606 }).then(function (response) {
607 successCallbackFunction(response.data);
609 (UtilityService.runHttpErrorHandler);
612 getServiceModels: function (globalCustomerId, serviceType, successCallbackFunction) {
614 .debug("AaiService:getServices");
615 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
619 timeout: PropertyService
620 .getServerResponseTimeoutMsec()
621 }).then(function (response) {
623 successCallbackFunction(response);
625 successCallbackFunction([]);
628 (UtilityService.runHttpErrorHandler);
630 getServiceModelsByServiceType: function (namedQueryId, globalCustomerId, serviceType, successCallbackFunction) {
632 .debug("AaiService:getServiceModelsByServiceType");
633 var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE + COMPONENT.FORWARD_SLASH + namedQueryId + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
637 timeout: PropertyService
638 .getServerResponseTimeoutMsec()
639 }).then(function (response) {
641 successCallbackFunction(response);
643 successCallbackFunction([]);
646 (UtilityService.runHttpErrorHandler);
649 getVnfsByCustomerIdAndServiceType: function (globalSubscriberId, serviceType, vnfRole, cloudRegion) {
650 let deferred = $q.defer();
652 let url = globalSubscriberId + COMPONENT.FORWARD_SLASH + serviceType
654 const path = COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + url;
655 let config = getConfigParams(vnfRole, cloudRegion);
657 if (UtilityService.hasContents(globalSubscriberId) &&
658 UtilityService.hasContents(serviceType)) {
660 $http.get(path, config)
661 .success(function (response) {
663 deferred.resolve({data: response});
665 deferred.resolve({data: []});
667 }).error(function (data, status, headers, config) {
668 deferred.reject({message: data, status: status});
672 return deferred.promise;
675 getVnfVersionsByInvariantId: function (modelInvariantId) {
676 var deferred = $q.defer();
678 if (UtilityService.hasContents(modelInvariantId)) {
679 var body = {"versions": modelInvariantId};
680 $http.post((COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID), body)
682 .success(function (response) {
684 deferred.resolve({data: response});
686 deferred.resolve({data: []});
688 }).error(function (data, status, headers, config) {
689 deferred.reject({message: data, status: status});
693 return deferred.promise;
697 getSubscriberServiceTypes: function (subscriberUuid) {
698 var deferred = $q.defer();
699 $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);
701 if (UtilityService.hasContents(subscriberUuid)) {
702 $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())
703 .success(function (response) {
704 if (response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
705 deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});
707 deferred.resolve({data: []});
709 }).error(function (data, status, headers, config) {
710 deferred.reject({message: data, status: status});
714 return deferred.promise;
716 getVnfInstancesList: function (globalSubscriberId, serviceType, modelVersionId, modelInvariantId, cloudRegionId) {
717 var deferred = $q.defer();
718 $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,
724 .join(COMPONENT.FORWARD_SLASH))
725 .success(function (response) {
726 deferred.resolve(response);
727 }).error(function (data, status) {
728 deferred.reject({message: data, status: status});
730 return deferred.promise;
732 getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {
733 var deferred = $q.defer();
734 $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,
735 globalCustomerId, serviceType,
736 modelVersionId, modelInvariantId,
738 equipVendor, equipModel
739 ].join(COMPONENT.FORWARD_SLASH))
740 .success(function (response) {
741 deferred.resolve(response);
742 }).error(function (data, status) {
743 deferred.reject({message: data, status: status});
745 return deferred.promise;
747 getByUri: function (uri) {
748 var deferred = $q.defer();
750 $http.get(COMPONENT.AAI_GET_BY_URI + uri)
751 .success(function (response) {
752 deferred.resolve({data: []});
753 }).error(function (data, status, headers, config) {
754 deferred.reject({message: data, status: status});
757 return deferred.promise;
759 getConfiguration: function (configurationId) {
760 var deferred = $q.defer();
762 $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)
763 .success(function (response) {
764 deferred.resolve({data: []});
765 }).error(function (data, status, headers, config) {
766 deferred.reject({message: data, status: status});
769 return deferred.promise;
772 getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {
773 var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;
776 timeout: PropertyService.getServerResponseTimeoutMsec()
777 }).then(function (response) {
778 successCallback(response);
779 }, function (response) {
780 errorCallback(response);
784 postPOMBAverificationRequest: function (url, data, config) {
785 $http.post(url, data, config)
786 .success(function (data, status, headers, config) {
787 //If at some point in the future the result should be handled - this should be the entry point.
788 log.debug("POMBA was called successfully with data: " + data);
790 .error(function (data, status, header, config) {
791 log.debug("Error: " +
793 "status: " + status +
794 "headers: " + header +
795 "config: " + config);
799 cloudRegionOptionId: function (cloudOwner, cloudRegionId) {
800 return ('option-' + cloudOwner + '-' + cloudRegionId).toLowerCase();
803 getHomingData: function (vnfInstanceId, vfModuleId) {
805 var url = COMPONENT.AAI_GET_HOMING_DATA.replace('@vnfInstanceId', vnfInstanceId)
806 .replace('@vfModuleId', vfModuleId);
808 var deferred = $q.defer();
811 .success(function (response) {
812 var cloudOwner = response[COMPONENT.CLOUD_OWNER];
813 var cloudRegionId = response[COMPONENT.CLOUD_REGION_ID];
814 if (cloudOwner && cloudRegionId) {
815 response["cloudRegionOptionId"] = self.cloudRegionOptionId(cloudOwner, cloudRegionId);
817 response["cloudRegionOptionId"] = null;
820 deferred.resolve({data: response});
821 }).error(function (data, status, headers, config) {
822 deferred.reject({message: data, status: status});
825 return deferred.promise;
829 removeVendorFromCloudOwner: function (cloudOwner) {
830 // Handle the case where cloud owner is formatted
831 // like "{vendor}-{cloud-name}"
832 return cloudOwner.trim().replace(/^[^-]*-/, '');
837 appDS2.factory("AaiService", ["$http", "$log", "PropertyService",
838 "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);