<?xml version="1.0"?>
<!--
============LICENSE_START=======================================================
drools-pdp-apps
==/*-
* ============LICENSE_START=======================================================
* VID
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
"use strict";
var AaiService = function($http, $log, PropertyService, UtilityService, COMPONENT, FIELD) {
return {
getSubscriberName : function(globalCustomerId,
successCallbackFunction) {
$log
.debug("AaiService:getSubscriberName: globalCustomerId: "
+ globalCustomerId);
$http.get(
COMPONENT.AAI_SUB_DETAILS_PATH
+ globalCustomerId + COMPONENT.ASSIGN + Math.random(),
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
var subName = "";
if (response.data) {
subName = response.data[FIELD.ID.SUBNAME];
}
successCallbackFunction(subName);
})["catch"]
(UtilityService.runHttpErrorHandler);
},
runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +
COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +
COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
$http.get(url, {
},{
timeout : PropertyService.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data != null) {
successCallback(response);
} else {
errorCallback(response);
}
}, function(response) {
errorCallback(response);
});
},
getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {
var subscriber;
var displayData;
$http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {
},{
timeout : PropertyService.getServerResponseTimeoutMsec()
}).then(function(response) {
displayData = [];
subscriber = response.data;
var subscriberName = subscriber[FIELD.ID.SUBNAME];
if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {
angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {
var serviceInstanceId = [];
var serviceType = "";
if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {
serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];
} else {
serviceType = FIELD.PROMPT.NO_SERVICE_SUB;
}
if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {
angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {
// put them together, i guess
var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],
"aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],
"aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],
"serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]
};
if (selectedServiceInstance != null) {
if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {
serviceInstanceId.push(inst);
}
} else {
serviceInstanceId.push(inst);
}
});
} else {
if (serviceInstanceId == []) {
serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];
}
}
angular.forEach(serviceInstanceId, function(subVal, subKey) {
displayData.push({
globalCustomerId : selectedSubscriber,
subscriberName : subscriberName,
serviceType : serviceType,
serviceInstanceId : subVal.serviceInstanceId,
aaiModelInvariantId : subVal.aaiModelInvariantId,
aaiModelVersionId
: subVal.aaiModelVersionId,
serviceInstanceName : subVal.serviceInstanceName
});
});
});
} else {
displayData.push({
globalCustomerId : selectedSubscriber,
subscriberName : selectedSubscriberName,
serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
});
}
successCallback(displayData, subscriberName);
}, function(response) {
errorCallback(response);
});
},
getSubList : function(successCallback, errorCallback ) {
$http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {
},{
timeout : PropertyService.getServerResponseTimeoutMsec()
}).then(function(response) {
var customerList = [];
if (response.data.customer != null) {
angular.forEach(response.data.customer, function(subVal, subKey) {
var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME] };
customerList.push(cust);
});
successCallback(customerList);
} else {
errorCallback(response);
}
},function(response) {
errorCallback(response);
});
},
getServices2 : function(successCallback, errorCallback ) {
$http.get( FIELD.ID.AAI_GET_SERVICES, {
},{
timeout : PropertyService.getServerResponseTimeoutMsec()
}).then(function(response) {
var customerList = [];
if (response.data != null) {
var serviceIdList = [];
angular.forEach(response.data, function(value, key) {
angular.forEach(value, function(subVal, key) {
var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] };
serviceIdList.push(newVal);
});
});
successCallback(serviceIdList);
} else {
errorCallback(response);
}
},function(response) {
errorCallback(response);
});
},
getSubscriptionServiceTypeList : function(globalCustomerId,
successCallbackFunction) {
$log
.debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
+ globalCustomerId);
if ( UtilityService.hasContents(globalCustomerId) ) {
$http.get(
COMPONENT.AAI_SUB_DETAILS_PATH
+ globalCustomerId + COMPONENT.ASSIGN + Math.random(),
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
var serviceTypes = [];
var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
for (var i = 0; i < serviceSubscriptions.length; i++) {
serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICETYPE]);
}
successCallbackFunction(serviceTypes);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
}
},
getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,
successCallbackFunction) {
$log
.debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
+ globalCustomerId);
var url = COMPONENT.AAI_GET_TENANTS
+ globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
var lcpCloudRegionTenants = [];
var aaiLcpCloudRegionTenants = response.data;
lcpCloudRegionTenants.push({
"cloudRegionId": "",
"tenantName": FIELD.PROMPT.REGION,
"tenantId": ""
});
for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
lcpCloudRegionTenants.push({
"cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],
"tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
"tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID]
});
}
successCallbackFunction(lcpCloudRegionTenants);
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getSubscribers : function(successCallbackFunction) {
$log
.debug("AaiService:getSubscribers");
var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response.data.customer);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getProvOptionsFromSystemProp : function(successCallbackFunction) {
$log
.debug("AaiService:getProvOptionsFromSystemProp");
var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getLoggedInUserID : function(successCallbackFunction) {
$log
.debug("AaiService:getLoggedInUserID");
var url = COMPONENT.GET_USER_ID;
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getServices : function(successCallbackFunction) {
$log
.debug("AaiService:getServices");
var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {
$log
.debug("AaiService:getServices");
var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
},
getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {
$log
.debug("AaiService:getServiceModelsByServiceType");
var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
$http.get(url,
{
timeout : PropertyService
.getServerResponseTimeoutMsec()
}).then(function(response) {
if (response.data) {
successCallbackFunction(response);
} else {
successCallbackFunction([]);
}
})["catch"]
(UtilityService.runHttpErrorHandler);
}
}
}
appDS2.factory("AaiService", [ "$http", "$log", "PropertyService",
"UtilityService", "COMPONENT", "FIELD", AaiService ]);