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 a8db521..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.
@@ -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) {
@@ -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(),
@@ -338,7 +354,8 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                 };
             }
         }
-               
+
+               console.log("getMsoRequestDetails COMPONENT." + _this.componentId);
                switch (_this.componentId) {
                        case COMPONENT.SERVICE:
                                if (!requestDetails.requestParameters) {
@@ -347,55 +364,17 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                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(),
@@ -404,7 +383,7 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                }
                return requestDetails;
     }
-    
+
     var getLcpRegion = function() {
                var cloudRegionTenantList = DataService.getCloudRegionTenantList();
                var parameter = "";
@@ -413,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;
@@ -424,28 +403,27 @@ var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
                                }
 
                 var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
-                    cloudRegionTenantList[i].cloudRegionId + " (" + cloudRegionTenantList[i].cloudOwner.trim().toLowerCase().replace(/^att-/, "").toUpperCase() + ")" :
+                    cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" :
                     cloudRegionTenantList[i].cloudRegionId;
 
                                parameter.optionList.push({
-                                       id : cloudRegionTenantList[i].cloudRegionId,
+                                       id : cloudRegionTenantList[i].cloudRegionOptionId,
                                        name: optionName,
-          isPermitted : cloudRegionTenantList[i].isPermitted
-
-        });
+                       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,
@@ -490,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 {