UI Feature flagging support
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / aaiService.js
index 4b1d771..ceb5a75 100755 (executable)
@@ -20,7 +20,7 @@
 \r
 "use strict";\r
 \r
-var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q) {\r
+var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q, featureFlags) {\r
 \r
     function getServiceInstance(serviceInstanceIdentifier, findBy) {\r
         serviceInstanceIdentifier.trim();\r
@@ -44,9 +44,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
 \r
         return deferred.promise;\r
-    };\r
-\r
-\r
+    }\r
     function getGlobalCustomerIdFromServiceInstanceResponse(response) {\r
         var globalCustomerId = "";\r
         if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {\r
@@ -69,7 +67,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             timeout : PropertyService.getServerResponseTimeoutMsec()\r
         }).then(function (response) {\r
             var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];\r
-            if (!displayData.length) {\r
+            if (!displayData || !displayData.length) {\r
                 displayData = [{\r
                     globalCustomerId   : null,\r
                     subscriberName     : null,\r
@@ -115,7 +113,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +\r
                 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +\r
                 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
-            $http.get(url, {}, {\r
+            return $http.get(url, {}, {\r
 \r
 \r
                 timeout : PropertyService.getServerResponseTimeoutMsec()\r
@@ -169,6 +167,26 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
         },\r
 \r
+        getCRInformationByInstanceId : function (serviceInstanceId) {\r
+\r
+            var deferred = $q.defer();\r
+\r
+            var url = COMPONENT.AAI_GET_CR_INSTANCE +\r
+                COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
+            $http.get(url, {}, {\r
+                timeout : PropertyService.getServerResponseTimeoutMsec()\r
+            }).then(function(response) {\r
+                if (response.data != null) {\r
+                    deferred.resolve(response);\r
+                } else {\r
+                    deferred.resolve(response);\r
+                }\r
+            }, function(response) {\r
+                deferred.resolve(response);\r
+            });\r
+            return deferred.promise;\r
+        },\r
+\r
         searchServiceInstances: searchServiceInstances,\r
 \r
         getModelVersionId: function (subscriberId, instanceId) {\r
@@ -329,6 +347,44 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
         },\r
 \r
+        getPortMirroringData : function (ids) {\r
+            var defer = $q.defer();\r
+            if(featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_REGION_ID_FROM_REMOTE)){\r
+                var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA +'?configurationIds=' +  ids.join(',');\r
+                $http.get(url).then(function(res){\r
+                    defer.resolve(res);\r
+                }).catch(function(err) {\r
+                    $log.error(err);\r
+                    defer.resolve({});\r
+                });\r
+            }else {\r
+                var staticConfigurationData = {};\r
+                angular.forEach(ids, function(id) {\r
+                    staticConfigurationData[id] = {\r
+                        "cloudRegionId": "mdt1"\r
+                    }\r
+                });\r
+                defer.resolve({\r
+                    "data": staticConfigurationData\r
+                });\r
+            }\r
+\r
+            return defer.promise;\r
+\r
+        },\r
+\r
+        getPortMirroringSourcePorts : function (ids) {\r
+            var defer = $q.defer();\r
+            var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS +'?configurationIds=' +  ids.join(',');\r
+            $http.get(url).then(function(res){\r
+                defer.resolve(res);\r
+            }).catch(function(err) {\r
+                $log.error(err);\r
+                defer.resolve({});\r
+            });\r
+            return defer.promise;\r
+        },\r
+\r
         getSubscriptionServiceTypeList : function(globalCustomerId,\r
                                                   successCallbackFunction) {\r
             $log\r
@@ -444,11 +500,12 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
                 } else {\r
                     successCallbackFunction([]);\r
                 }\r
-            },function(failure){console.log("failure")})["catch"]\r
-                if(catchCallbackFunction) {\r
+            })["catch"] (function(response, status) {\r
+                if (catchCallbackFunction) {\r
                     catchCallbackFunction();\r
                 }\r
-            (UtilityService.runHttpErrorHandler);\r
+                UtilityService.runHttpErrorHandler(response, status);\r
+            })\r
         },\r
         getServices : function(successCallbackFunction) {\r
             $log\r
@@ -565,7 +622,7 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             var deferred = $q.defer();\r
 \r
             if (UtilityService.hasContents(modelInvariantId)) {\r
-                var body = {"versions" : modelInvariantId}\r
+                var body = {"versions": modelInvariantId};\r
                 $http.post(( COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID),body)\r
 \r
                     .success(function (response) {\r
@@ -657,8 +714,36 @@ var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONE
             });\r
 \r
             return deferred.promise;\r
+        },\r
+\r
+        getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {\r
+            var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;\r
+\r
+            $http.get(url, {}, {\r
+                timeout: PropertyService.getServerResponseTimeoutMsec()\r
+            }).then(function (response) {\r
+                successCallback(response);\r
+            }, function (response) {\r
+                errorCallback(response);\r
+            });\r
+        },\r
+\r
+        postPOMBAverificationRequest: function (url, data, config) {\r
+            $http.post(url, data, config)\r
+                .success(function (data, status, headers, config) {\r
+                    //If at some point in the future the result should be handled - this should be the entry point.\r
+                    log.debug("POMBA was called successfully with data: " + data);\r
+                })\r
+                .error(function (data, status, header, config) {\r
+                    log.debug("Error: " +\r
+                        "Data: " + data +\r
+                        "status: " + status +\r
+                        "headers: " + header +\r
+                        "config: " + config);\r
+                });\r
         }\r
-    }};\r
+    }\r
+};\r
 \r
 appDS2.factory("AaiService", ["$http", "$log", "PropertyService",\r
-    "UtilityService", "COMPONENT", "FIELD", "$q", AaiService]);\r
+    "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);\r