Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / msoService.js
index 67211d4..790f798 100755 (executable)
@@ -20,7 +20,7 @@
 \r
 "use strict";\r
 \r
-var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityService, COMPONENT, FIELD) {\r
+var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityService, COMPONENT, FIELD, moment) {\r
 \r
     var _this = this;\r
 \r
@@ -36,7 +36,7 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
             timeout : PropertyService.getServerResponseTimeoutMsec()\r
         }).then(successCallbackFunction)["catch"]\r
         (UtilityService.runHttpErrorHandler);\r
-    }\r
+    };\r
 \r
     var checkValidStatus = function(response) {\r
         if (response.data.status < 200 || response.data.status > 202) {\r
@@ -55,7 +55,7 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
         }\r
     };\r
 \r
-    var buildPayloadForServiceActivateDeactivate = function (model, userId, aicZone) {\r
+    var buildPayloadForServiceActivateDeactivate = function (model, userId) {\r
         var requestDetails = {\r
                 "modelInfo": {\r
                     "modelType": "service",\r
@@ -69,10 +69,8 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                     "requestorId": userId\r
                 },\r
                 "requestParameters": {\r
-                    "userParams": [{\r
-                        "name": "aic_zone",\r
-                        "value": aicZone\r
-                    }]\r
+                    // aicZone was sent from here\r
+                    "userParams": []\r
                 }\r
         };\r
 \r
@@ -82,26 +80,48 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
 \r
     };\r
 \r
+    var buildPayloadForActivateFabricConfiguration = function (model, userId) {\r
+        var requestDetails = {\r
+            "modelInfo": {\r
+                "modelType": "service",\r
+                "modelInvariantId": model.service.invariantUuid,\r
+                "modelVersionId": model.service.uuid,\r
+                "modelName": model.service.name,\r
+                "modelVersion": model.service.version\r
+            },\r
+            "requestInfo": {\r
+                "source": "VID",\r
+                "requestorId": userId\r
+            },\r
+            "requestParameters": {\r
+                "aLaCarte": false\r
+            }\r
+        };\r
+\r
+        $log.debug("Service Activate Fabric Configuration payload", requestDetails);\r
+\r
+        return requestDetails;\r
+\r
+    };\r
+\r
     var activateInstance = function(requestParams) {\r
-        var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId, requestParams.aicZone);\r
+        var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId);\r
 \r
         return sendPostRequest(COMPONENT.MSO_ACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
             requestDetails);\r
     };\r
 \r
     var deactivateInstance = function(requestParams) {\r
-        var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId, requestParams.aicZone);\r
+        var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId);\r
 \r
         return sendPostRequest(COMPONENT.MSO_DEACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
             requestDetails);\r
     };\r
 \r
-    var sendPostRequest = function(url, requestDetails) {\r
+    var sendPostRequestWithBody = function(url, requestBody) {\r
         var deferred = $q.defer();\r
         if (url) {\r
-            $http.post(url, {\r
-                requestDetails: requestDetails\r
-            }, {\r
+            $http.post(url, requestBody, {\r
                 timeout: PropertyService.getServerResponseTimeoutMsec()\r
             }).success(function (response) {\r
                 deferred.resolve({data: response});\r
@@ -113,9 +133,16 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
         return deferred.promise;\r
     };\r
 \r
+    var sendPostRequest = function(url, requestDetails) {\r
+        return sendPostRequestWithBody(url, {requestDetails: requestDetails});\r
+    };\r
+\r
     return {\r
         createInstance : requestInstanceUpdate,\r
         deleteInstance : requestInstanceUpdate,\r
+        createAndDeleteInstance: function(requestParams)  {\r
+            return sendPostRequest("mso/" + requestParams.url, requestParams.requestDetails);\r
+        },\r
         getOrchestrationRequest : function(requestId, successCallbackFunction) {\r
             $log.debug("MsoService:getOrchestrationRequest: requestId: "\r
                 + requestId);\r
@@ -154,7 +181,7 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
             UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
             checkValidStatus(response);\r
 \r
-            var list = response.data.entity.requestList\r
+            var list = response.data.entity.requestList;\r
             UtilityService.checkUndefined(FIELD.ID.REQUEST_LIST, list);\r
 \r
             var message = "";\r
@@ -168,8 +195,10 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                 if (status === undefined) {\r
                     message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
                 } else {\r
-                    message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)\r
-                        + ",\n";\r
+                    if(status.finishTime) {\r
+                        message += addListEntry(FIELD.ID.TIMESTAMP, moment(new Date(status.finishTime)).format("ddd, DD MMM YYYY HH:mm:ss"))\r
+                            + ",\n";\r
+                    }\r
                     message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
                         + ",\n";\r
                     message += addListEntry(FIELD.ID.REQUEST_STATUS,\r
@@ -203,7 +232,7 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                 if (status === undefined) {\r
                     message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
                 } else {\r
-                    message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)\r
+                    message += addListEntry(FIELD.ID.TIMESTAMP, moment(new Date()).format("ddd, DD MMM YYYY HH:mm:ss"))\r
                         + ",\n";\r
                     message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
                         + ",\n";\r
@@ -272,7 +301,7 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                     showFunction(FIELD.ERROR.SYSTEM_FAILURE, error.message);\r
                     break;\r
                 case "msoFailure":\r
-                    showFunction(FIELD.ERROR.MSO, "")\r
+                    showFunction(FIELD.ERROR.MSO, "");\r
                     break;\r
                 default:\r
                     showFunction(FIELD.ERROR.SYSTEM_FAILURE);\r
@@ -312,7 +341,6 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                         "modelCustomizationName": requestParams.configurationModelInfo.modelCustomizationName\r
                     },\r
                     "cloudConfiguration": {\r
-                        // "tenantId": ????\r
                         "lcpCloudRegionId": requestParams.portMirroringConfigFields.lcpRegion.value\r
                     },\r
                     "requestInfo": {\r
@@ -341,15 +369,16 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
                             }\r
                         },\r
                         {\r
-                            "relatedInstance": {\r
-                                "instanceId": requestParams.configurationByPolicy ?\r
-                                    requestParams.portMirroringConfigFields.destinationInstance.properties['pnfName']:\r
-                                    requestParams.portMirroringConfigFields.destinationInstance.properties['vnf-id'],\r
+                            "relatedInstance": requestParams.configurationByPolicy ? {\r
+                                "instanceName": requestParams.portMirroringConfigFields.destinationInstance.properties['pnfName'],\r
                                 "instanceDirection": "destination",\r
-                                "modelInfo":\r
-                                    requestParams.configurationByPolicy ?\r
-                                        {"modelType": "pnf"} :\r
-                                        modelInfoOf(requestParams.portMirroringConfigFields.destinationInstance)\r
+                                "modelInfo": {\r
+                                    "modelType": "pnf"\r
+                                }\r
+                            } : {\r
+                                "instanceId": requestParams.portMirroringConfigFields.destinationInstance.properties['vnf-id'],\r
+                                "instanceDirection": "destination",\r
+                                "modelInfo": modelInfoOf(requestParams.portMirroringConfigFields.destinationInstance)\r
                             }\r
                         }\r
                     ],\r
@@ -375,13 +404,31 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
             });\r
             return deferred.promise;\r
         },\r
+        deleteConfiguration: function(requestParams, configuration) {\r
+\r
+            var requestDetails = {\r
+                "modelInfo": requestParams.configurationModel,\r
+                "cloudConfiguration": {\r
+                    "lcpCloudRegionId": configuration.configData.cloudRegionId\r
+                },\r
+                "requestInfo": {\r
+                    "source": "VID",\r
+                    "requestorId": requestParams.userId\r
+                },\r
+                "requestParameters": {\r
+                    "userParams": []\r
+                }\r
+            };\r
 \r
-        toggleConfigurationStatus: function(requestParams) {\r
+            var url = "mso/mso_delete_configuration/" + requestParams.serviceInstanceId + "/configurations/" + requestParams.configurationId;\r
+            return sendPostRequest(url, requestDetails);\r
+        },\r
+        toggleConfigurationStatus: function(requestParams, configuration) {\r
 \r
             var requestDetails = {\r
                 "modelInfo": requestParams.configurationModel,\r
                 "cloudConfiguration": {\r
-                    "lcpCloudRegionId": "mdt1"\r
+                    "lcpCloudRegionId": configuration && configuration.configData ? configuration.configData.cloudRegionId : null\r
                 },\r
                 "requestInfo": {\r
                     "source": "VID",\r
@@ -412,11 +459,12 @@ var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityS
             return sendPostRequest(url, requestDetails);\r
         },\r
 \r
-        togglePortStatus: function(requestParams) {\r
+        togglePortStatus: function(requestParams, configuration, defaultParams) {\r
+\r
             var requestDetails = {\r
                 "modelInfo": requestParams.configurationModel,\r
                 "cloudConfiguration": {\r
-                    "lcpCloudRegionId": "mdt1"\r
+                    "lcpCloudRegionId": configuration && configuration.configData ? configuration.configData.cloudRegionId : null\r
                 },\r
                 "requestInfo": {\r
                     "source": "VID",\r