Pass optionId in msoParameterList, letting late deconstruction of owner+region
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / deleteResumeService.js
index 3255bc9..c13c721 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * VID
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 - 2019 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.
@@ -21,7 +21,7 @@
 "use strict";
 
 var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
-       ComponentService, COMPONENT, FIELD, UtilityService) {
+       ComponentService, COMPONENT, FIELD, UtilityService,featureFlags) {
 
     var _this = this;
 
@@ -45,12 +45,6 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
        };
        
        var getLcpCloudRegionTenantList = function() {
-               //console.log ( "global customer id: " ); 
-               //console.log ( JSON.stringify (DataService.getGlobalCustomerId()) );
-               
-               //console.log ( "service type: " ); 
-               //console.log ( JSON.stringify (DataService.getServiceType()) );
-               
                AaiService.getLcpCloudRegionTenantList(DataService
                                .getGlobalCustomerId(), DataService.getServiceType(), function(
                                response) {
@@ -255,7 +249,7 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
        }
     };
 
-    var getMsoUrl = function() {
+    var getMsoUrl = function(serviceStatus) {
                switch (_this.componentId) {
                        case COMPONENT.CONFIGURATION:
                                return "mso_delete_configuration/"
@@ -269,7 +263,7 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                if(DataService.getE2EService() === true)
                                        return "mso_delete_e2e_svc_instance/"+ DataService.getServiceInstanceId();
                                else
-                                       return "mso_delete_svc_instance/"+ DataService.getServiceInstanceId();
+                                       return "mso_delete_svc_instance" + "/" + DataService.getServiceInstanceId() + "?serviceStatus="  + serviceStatus;
                        case COMPONENT.VNF:
                                return "mso_delete_vnf_instance/"
                                        + DataService.getServiceInstanceId() + "/vnfs/"
@@ -294,6 +288,28 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                });
        };
 
+       var buildCloudConfiguration = function(parameterList) {
+               var lcpRegion;
+               var cloudOwner;
+
+               var lcpRegionOptionId = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
+               var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(lcpRegionOptionId);
+               if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) { // == if is megaRegion
+                       lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
+                               parameterList);
+                       cloudOwner = undefined;
+               } else {
+                       lcpRegion = cloudOwnerAndLcpCloudRegion.cloudRegionId;
+                       cloudOwner = cloudOwnerAndLcpCloudRegion.cloudOwner;
+               }
+
+               return {
+                       lcpCloudRegionId: lcpRegion,
+                       cloudOwner: featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) ? cloudOwner : undefined,
+                       tenantId: getValueFromList(FIELD.ID.TENANT, parameterList)
+               };
+       };
+
        var getMsoE2ERequest = function(parameterList) {
                return {
                        "globalSubscriberId": DataService.getSubscriberName(),
@@ -330,63 +346,35 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                        requestorId: requestorloggedInId
                                }
                };
-               
+        if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
+            if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
+                // a-la-carte services AND *any* non-service
+                requestDetails.requestParameters = {
+                    testApi : DataService.getMsoRequestParametersTestApi()
+                };
+            }
+        }
+
+               console.log("getMsoRequestDetails COMPONENT." + _this.componentId);
                switch (_this.componentId) {
                        case COMPONENT.SERVICE:
-                               requestDetails.requestParameters = {
-                                       aLaCarte : DataService.getALaCarte()
-                               };
+                               if (!requestDetails.requestParameters) {
+                    requestDetails.requestParameters = {};
+                }
+                               requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
                                if ( !(DataService.getALaCarte()) ) {
                                        // for macro delete include cloud config.
-                                       var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
-                                       if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
-                                               lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
-                                                               parameterList);
-                                       }
-                                       requestDetails.cloudConfiguration = {
-                                               lcpCloudRegionId : lcpRegion,
-                                               tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
-                                       };
+                                       requestDetails.cloudConfiguration = buildCloudConfiguration(parameterList);
                                }
                            break;
                        case COMPONENT.VNF:
             case COMPONENT.CONFIGURATION:
-                           console.log("getMsoRequestDetails COMPONENT.VNF");
-                               var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
-                               if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
-                                       lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
-                                                       parameterList);
-                               }
-                               requestDetails.cloudConfiguration = {
-                                       lcpCloudRegionId : lcpRegion,
-                                       tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
-                               };
-       
-                               break;
                        case COMPONENT.VF_MODULE:
                        case COMPONENT.NETWORK:
-                                       var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
-                                       if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
-                                               lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
-                                                               parameterList);
-                                       }
-                                       requestDetails.cloudConfiguration = {
-                                                       lcpCloudRegionId : lcpRegion,
-                                                       tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
-                                       };      
-                                       break;
                        case COMPONENT.VOLUME_GROUP:
-                               var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
-                               if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
-                                       lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
-                                                       parameterList);
-                               }
-                               requestDetails.cloudConfiguration = {
-                                               lcpCloudRegionId : lcpRegion,
-                                               tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
-                               };      
-                               
+                               requestDetails.cloudConfiguration = buildCloudConfiguration(parameterList);
                                break;
+
                        default:
                                requestDetails.cloudConfiguration = {
                                        lcpCloudRegionId : DataService.getLcpRegion(),
@@ -395,7 +383,7 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                }
                return requestDetails;
     }
-    
+
     var getLcpRegion = function() {
                var cloudRegionTenantList = DataService.getCloudRegionTenantList();
                var parameter = "";
@@ -404,7 +392,7 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                        parameter.optionList = new Array();
                        for (var i = 0; i < cloudRegionTenantList.length; i++) {
                                for (var j = 0; j < parameter.optionList.length; j++) {
-                                       if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
+                                       if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionOptionId) {
                         parameter.optionList[j].isPermitted =
                             parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
                         break;
@@ -413,24 +401,29 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                if (j < parameter.optionList.length) {
                                        continue;
                                }
-                               parameter.optionList.push({
-                                       id : cloudRegionTenantList[i].cloudRegionId,
-          isPermitted : cloudRegionTenantList[i].isPermitted
 
-        });
+                var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
+                    cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" :
+                    cloudRegionTenantList[i].cloudRegionId;
+
+                               parameter.optionList.push({
+                                       id : cloudRegionTenantList[i].cloudRegionOptionId,
+                                       name: optionName,
+                       isPermitted : cloudRegionTenantList[i].isPermitted
+                       });
                        }
                }
                return parameter;
        };
-       
-       var getTenantList = function(cloudRegionId) {
+
+       var getTenantList = function(cloudRegionOptionId) {
                var parameter = "";
                var cloudRegionTenantList = DataService.getCloudRegionTenantList();
                if ( UtilityService.hasContents (cloudRegionTenantList) ) {
-                       var parameter = FIELD.PARAMETER.TENANT_ENABLED;
+                       parameter = FIELD.PARAMETER.TENANT_ENABLED;
                        parameter.optionList = new Array();
                        for (var i = 0; i < cloudRegionTenantList.length; i++) {
-                               if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
+                               if (cloudRegionTenantList[i].cloudRegionOptionId === cloudRegionOptionId) {
                                        parameter.optionList.push({
                                                id : cloudRegionTenantList[i].tenantId,
                                                name : cloudRegionTenantList[i].tenantName,
@@ -475,7 +468,9 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                parameterListControl
                                                .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
                        }
-                       if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
+
+                       var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(list[0].value);
+                       if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) {
                                parameterListControl
                                                .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
                        } else {
@@ -530,4 +525,4 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
 
 appDS2.factory("DeleteResumeService", [ "$log", "AaiService", "AsdcService",
        "DataService", "ComponentService", "COMPONENT", "FIELD",
-       "UtilityService", DeleteResumeService ]);
+       "UtilityService","featureFlags", DeleteResumeService ]);