org.onap migration
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / aaiService.js
index a10f602..53a941b 100755 (executable)
 "use strict";\r
 \r
 var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q) {\r
+\r
+    function getServiceInstance(serviceInstanceIdentifier, findBy) {\r
+        serviceInstanceIdentifier.trim();\r
+\r
+        return $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + serviceInstanceIdentifier + "/" + findBy + "?r=" + Math.random(), {}, {\r
+            timeout: PropertyService.getServerResponseTimeoutMsec()\r
+        });\r
+    }\r
+\r
+    function getPnfByName(pnfName) {\r
+        var deferred = $q.defer();\r
+        var url = COMPONENT.AAI_GET_PNF_BY_NAME+ encodeURIComponent(pnfName)  ;\r
+        var config = { timeout: PropertyService.getServerResponseTimeoutMsec() };\r
+\r
+        $http.get(url, config)\r
+            .success(function (response) {\r
+                deferred.resolve({data: response});\r
+            })\r
+            .error(function(data, status, headers, config) {\r
+                deferred.reject({message: data, status: status});\r
+            });\r
+\r
+        return deferred.promise;\r
+    };\r
+\r
+\r
+    function getGlobalCustomerIdFromServiceInstanceResponse(response) {\r
+        var globalCustomerId = "";\r
+        if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {\r
+            var customerIndex = 5;\r
+            var customerIdIndex = 6;\r
+            var itemIndex = 0;\r
+\r
+            var item = response.data[FIELD.ID.RESULT_DATA][itemIndex];\r
+            var url = item[FIELD.ID.RESOURCE_LINK];\r
+            var urlParts = url.split("/");\r
+            if (urlParts[customerIndex] === FIELD.ID.CUSTOMER) {\r
+                globalCustomerId = urlParts[customerIdIndex];\r
+            }\r
+        }\r
+        return globalCustomerId;\r
+    }\r
+\r
+    function searchServiceInstances(query) {\r
+        return $http.get( COMPONENT.SEARCH_SERVICE_INSTANCES  + query, {}, {\r
+            timeout : PropertyService.getServerResponseTimeoutMsec()\r
+        }).then(function (response) {\r
+            var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];\r
+            if (!displayData.length) {\r
+                displayData = [{\r
+                    globalCustomerId   : null,\r
+                    subscriberName     : null,\r
+                    serviceType                : FIELD.PROMPT.NO_SERVICE_SUB,\r
+                    serviceInstanceId  : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
+                }];\r
+            }\r
+            return {displayData: displayData};\r
+        })\r
+    }\r
+\r
+    function getJoinedQueryString(queries) {\r
+        return queries.filter(function (val) {return val;}).join("&");\r
+    }\r
+\r
     return {\r
         getSubscriberName : function(globalCustomerId,\r
                                      successCallbackFunction) {\r
@@ -34,16 +98,16 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                     timeout : PropertyService\r
                         .getServerResponseTimeoutMsec()\r
                 }).then(function(response) {\r
-                var subName = "";\r
+                var result = {};\r
                 if (response.data) {\r
-                    subName = response.data[FIELD.ID.SUBNAME];\r
+                    result.subscriberName = response.data[FIELD.ID.SUBNAME];\r
+                    result.serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS];\r
                 }\r
-                successCallbackFunction(subName);\r
+                successCallbackFunction(result);\r
             })["catch"]\r
             (UtilityService.runHttpErrorHandler);\r
         },\r
 \r
-\r
         runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
 \r
             var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +\r
@@ -86,6 +150,48 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
         },\r
 \r
+        getPNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
+\r
+            var url = COMPONENT.AAI_GET_PNF_INSTANCE +\r
+                COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +\r
+                COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +\r
+                COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
+            $http.get(url, {}, {\r
+                timeout : PropertyService.getServerResponseTimeoutMsec()\r
+            }).then(function(response) {\r
+                if (response.data != null) {\r
+                    successCallback(response);\r
+                } else {\r
+                    errorCallback(response);\r
+                }\r
+            }, function(response) {\r
+                errorCallback(response);\r
+            });\r
+        },\r
+\r
+        searchServiceInstances: searchServiceInstances,\r
+\r
+        getModelVersionId: function (subscriberId, instanceId) {\r
+            var globalCustomerIdQuery = COMPONENT.SELECTED_SUBSCRIBER_SUB_PATH + subscriberId;\r
+            var serviceInstanceQuery = COMPONENT.SELECTED_SERVICE_INSTANCE_SUB_PATH + instanceId;\r
+\r
+            var query = "?" + getJoinedQueryString([globalCustomerIdQuery, serviceInstanceQuery]);\r
+\r
+            var deferred = $q.defer();\r
+\r
+            searchServiceInstances(query).then(function (response) {\r
+                var displayData = response.displayData;\r
+                if (displayData[0] && displayData[0].aaiModelVersionId) {\r
+                    deferred.resolve(displayData[0].aaiModelVersionId);\r
+                } else {\r
+                    deferred.reject(FIELD.ERROR.MODEL_VERSION_ID_MISSING);\r
+                }\r
+            }).catch(function (err) {\r
+                deferred.reject(err);\r
+            });\r
+\r
+            return deferred.promise;\r
+        },\r
 \r
         getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {\r
             var subscriber;\r
@@ -124,9 +230,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                                 }\r
                             });\r
                         } else {\r
-                            if (serviceInstanceId == []) {\r
-                                serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];\r
-                            }\r
+                            serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];\r
                         }\r
                         angular.forEach(serviceInstanceId, function(subVal, subKey) {\r
                             displayData.push({\r
@@ -145,7 +249,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 } else {\r
                     displayData.push({\r
                         globalCustomerId       : selectedSubscriber,\r
-                        subscriberName         : selectedSubscriberName,\r
+                        subscriberName         : subscriberName,\r
                         serviceType            : FIELD.PROMPT.NO_SERVICE_SUB,\r
                         serviceInstanceId      : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
                     });\r
@@ -178,6 +282,26 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
         },\r
 \r
+        getServiceInstance : getServiceInstance,\r
+        getPnfByName : getPnfByName,\r
+\r
+        getGlobalCustomerIdByInstanceIdentifier : function(serviceInstanceIdentifier, findBy) {\r
+            serviceInstanceIdentifier.trim();\r
+\r
+            return getServiceInstance(serviceInstanceIdentifier, findBy)\r
+                .then(function (response) {\r
+                    return getGlobalCustomerIdFromServiceInstanceResponse(response);\r
+            });\r
+        },\r
+\r
+        getMultipleValueParamQueryString: function(values, paramSubPath) {\r
+            if (values.length) {\r
+                return paramSubPath + values.filter(function (val) {return val;}).join("&" + paramSubPath);\r
+            }\r
+        },\r
+\r
+        getJoinedQueryString: getJoinedQueryString,\r
+\r
         getServices2 : function(successCallback, errorCallback ) {\r
 \r
             $http.get( FIELD.ID.AAI_GET_SERVICES, {}, {\r
@@ -252,12 +376,6 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 var lcpCloudRegionTenants = [];\r
                 var aaiLcpCloudRegionTenants = response.data;\r
 \r
-                lcpCloudRegionTenants.push({\r
-                    "cloudRegionId": "",\r
-                    "tenantName": FIELD.PROMPT.REGION,\r
-                    "tenantId": ""\r
-                });\r
-\r
                 for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {\r
                     lcpCloudRegionTenants.push({\r
                         "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],\r
@@ -267,8 +385,9 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 }\r
 \r
                 successCallbackFunction(lcpCloudRegionTenants);\r
-            })["catch"]\r
-            (UtilityService.runHttpErrorHandler);\r
+            }).catch(function(error) {\r
+                (UtilityService.runHttpErrorHandler(error.data, error.status));\r
+            })\r
         },\r
         getSubscribers : function(successCallbackFunction) {\r
             $log\r
@@ -306,7 +425,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             })["catch"]\r
             (UtilityService.runHttpErrorHandler);\r
         },\r
-        getLoggedInUserID : function(successCallbackFunction) {\r
+        getLoggedInUserID : function(successCallbackFunction, catchCallbackFunction) {\r
             $log\r
                 .debug("AaiService:getLoggedInUserID");\r
             var url = COMPONENT.GET_USER_ID;\r
@@ -325,6 +444,9 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                     successCallbackFunction([]);\r
                 }\r
             },function(failure){console.log("failure")})["catch"]\r
+                if(catchCallbackFunction) {\r
+                    catchCallbackFunction();\r
+                }\r
             (UtilityService.runHttpErrorHandler);\r
         },\r
         getServices : function(successCallbackFunction) {\r
@@ -459,6 +581,8 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             return deferred.promise;\r
         },\r
 \r
+\r
+\r
         getSubscriberServiceTypes: function(subscriberUuid) {\r
             var deferred = $q.defer();\r
             $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);\r
@@ -476,6 +600,61 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 });\r
             }\r
 \r
+            return deferred.promise;\r
+        },\r
+        getVnfInstancesList: function(globalSubscriberId, serviceType, modelVersionId ,modelInvariantId, cloudRegionId)  {\r
+            var deferred = $q.defer();\r
+            $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,\r
+                    globalSubscriberId,\r
+                    serviceType,\r
+                    modelVersionId,\r
+                    modelInvariantId,\r
+                    cloudRegionId]\r
+                .join(COMPONENT.FORWARD_SLASH))\r
+                .success(function (response) {\r
+                    deferred.resolve(response);\r
+                }).error(function (data, status) {\r
+                    deferred.reject({message: data, status: status});\r
+            });\r
+            return deferred.promise;\r
+        },\r
+        getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {\r
+            var deferred = $q.defer();\r
+            $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,\r
+                    globalCustomerId, serviceType,\r
+                    modelVersionId, modelInvariantId,\r
+                    cloudRegionId,\r
+                    equipVendor, equipModel\r
+                ].join(COMPONENT.FORWARD_SLASH))\r
+                .success(function (response) {\r
+                    deferred.resolve(response);\r
+                }).error(function (data, status) {\r
+                deferred.reject({message: data, status: status});\r
+            });\r
+            return deferred.promise;\r
+        },\r
+        getByUri: function(uri)  {\r
+            var deferred = $q.defer();\r
+\r
+            $http.get(COMPONENT.AAI_GET_BY_URI + uri)\r
+                .success(function (response) {\r
+                    deferred.resolve({data: []});\r
+                }).error(function (data, status, headers, config) {\r
+                    deferred.reject({message: data, status: status});\r
+                });\r
+\r
+            return deferred.promise;\r
+        },\r
+        getConfiguration: function(configurationId)  {\r
+            var deferred = $q.defer();\r
+\r
+            $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)\r
+                .success(function (response) {\r
+                    deferred.resolve({data: []});\r
+                }).error(function (data, status, headers, config) {\r
+                deferred.reject({message: data, status: status});\r
+            });\r
+\r
             return deferred.promise;\r
         }\r
     }};\r