2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
23 var DeleteResumeService = function($log, AaiService, AsdcService, DataService,
24 ComponentService, COMPONENT, FIELD, UtilityService,featureFlags) {
28 var getAsyncOperationList = function() {
29 if (DataService.getLoggedInUserId() == null)
31 switch (_this.componentId) {
32 case COMPONENT.SERVICE:
33 return [ getSubscribers, getLcpCloudRegionTenantList ];
34 case COMPONENT.NETWORK:
35 return [ getLcpCloudRegionTenantList ];
37 return [ getLcpCloudRegionTenantList ];
38 case COMPONENT.VF_MODULE:
39 return [ getLcpCloudRegionTenantList ];
40 case COMPONENT.VOLUME_GROUP:
41 return [ getLcpCloudRegionTenantList ];
42 case COMPONENT.CONFIGURATION:
43 return [ getLcpCloudRegionTenantList ];
47 var getLcpCloudRegionTenantList = function() {
48 AaiService.getLcpCloudRegionTenantList(DataService
49 .getGlobalCustomerId(), DataService.getServiceType(), function(
51 DataService.setCloudRegionTenantList(response);
52 UtilityService.startNextAsyncOperation();
56 var getLoggedInUserID = function() {
57 AaiService.getLoggedInUserID(function(response) {
58 DataService.setLoggedInUserId(response.data);
59 UtilityService.startNextAsyncOperation();
63 var getSubscribers = function() {
64 AaiService.getSubscribers(function(response) {
65 DataService.setSubscribers(response);
66 UtilityService.startNextAsyncOperation();
70 var internalGetParametersHandler = function() {
71 if (angular.isFunction(_this.getParametersHandler)) {
72 if (_this.componentId == COMPONENT.SERVICE) {
73 if ( DataService.getALaCarte() ) {
74 _this.getParametersHandler({
75 summaryList : getSummaryList(),
76 userProvidedList : getUserProvidedList()
80 _this.getParametersHandler({
81 summaryList : getSummaryList(),
82 userProvidedList : getUserProvidedList()
87 _this.getParametersHandler({
88 summaryList : getSummaryList(),
89 userProvidedList : getUserProvidedList()
95 var getSubscribersParameter = function() {
96 var subscribers = DataService.getSubscribers();
97 var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
98 parameter.optionList = [];
100 for (var i = 0; i < subscribers.length; i++) {
101 parameter.optionList.push({
102 id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
103 name : subscribers[i][FIELD.ID.SUBNAME]
109 var getServiceId = function() {
110 var serviceIdList = DataService.getServiceIdList();
111 var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
112 parameter.optionList = new Array();
113 for (var i = 0; i < serviceIdList.length; i++) {
114 parameter.optionList.push({
115 id : serviceIdList[i].id,
116 name : serviceIdList[i].description
122 var getUserProvidedList = function() {
124 //var parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
126 var parameterList = [];
128 switch (_this.componentId) {
129 case COMPONENT.SERVICE:
130 if ( DataService.getALaCarte() ) {
134 parameterList = parameterList.concat ([getLcpRegion(),
135 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
136 FIELD.PARAMETER.TENANT_DISABLED ]);
139 case COMPONENT.NETWORK:
140 case COMPONENT.CONFIGURATION:
142 parameterList = parameterList.concat([ //getServiceId(),
143 getLcpRegion(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
144 FIELD.PARAMETER.TENANT_DISABLED ]);
146 case COMPONENT.VF_MODULE:
147 parameterList = parameterList.concat([
149 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
150 FIELD.PARAMETER.TENANT_DISABLED
154 case COMPONENT.VOLUME_GROUP:
155 parameterList = parameterList.concat([ getLcpRegion(),
156 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
157 FIELD.PARAMETER.TENANT_DISABLED ]);
160 //parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
162 //addArbitraryParameters(parameterList);
164 return parameterList;
166 var getSummaryList = function() {
167 switch (_this.componentId) {
168 case COMPONENT.CONFIGURATION:
169 case COMPONENT.NETWORK:
170 case COMPONENT.SERVICE:
172 case COMPONENT.VF_MODULE:
173 case COMPONENT.VOLUME_GROUP:
174 var summaryList = [ {
175 name : FIELD.NAME.SUBSCRIBER_NAME,
176 value : DataService.getSubscriberName()
178 name : FIELD.NAME.CUSTOMER_ID,
179 value : DataService.getGlobalCustomerId()
181 name : FIELD.NAME.SERVICE_UUID,
182 value : DataService.getServiceUuid()
184 name : FIELD.NAME.SERVICE_NAME,
185 value : DataService.getServiceName()
187 name : FIELD.NAME.USER_SERVICE_INSTANCE_NAME,
188 value : DataService.getUserServiceInstanceName()*/
191 _this.parameterList = new Array();
193 addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
195 switch (_this.componentId) {
196 case COMPONENT.SERVICE:
197 addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
198 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
199 addToList(FIELD.NAME.SERVICE_VERSION, DataService
200 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
201 addToList(FIELD.NAME.SERVICE_UUID, DataService
202 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
203 addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
204 .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
205 addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
206 .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
208 case COMPONENT.VF_MODULE:
209 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
210 .getSubscriberName());
211 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
212 .getServiceInstanceName());
213 addToList(FIELD.NAME.MODEL_NAME, DataService
214 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
215 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
216 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
217 addToList(FIELD.NAME.MODEL_VERSION, DataService
218 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
219 addToList(FIELD.NAME.MODEL_UUID, DataService
220 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
222 case COMPONENT.CONFIGURATION:
223 case COMPONENT.NETWORK:
225 case COMPONENT.VOLUME_GROUP:
226 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
227 .getSubscriberName());
228 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
229 .getServiceInstanceName());
230 addToList(FIELD.NAME.MODEL_NAME, DataService
231 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
232 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
233 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
234 addToList(FIELD.NAME.MODEL_VERSION, DataService
235 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
236 addToList(FIELD.NAME.MODEL_UUID, DataService
237 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
241 /*var additionalList = ComponentService.getInventoryParameterList(
242 _this.componentId, DataService.getInventoryItem());*/
243 var additionalList = ComponentService.getDisplayNames(ComponentService
244 .getInventoryParameterList(_this.componentId, DataService
245 .getInventoryItem(), true ));
247 return summaryList.concat(ComponentService
248 .getDisplayNames(additionalList));
252 var getMsoUrl = function(serviceStatus) {
253 switch (_this.componentId) {
254 case COMPONENT.CONFIGURATION:
255 return "mso_delete_configuration/"
256 + DataService.getServiceInstanceId() + "/configurations/"
257 + DataService.getConfigurationInstanceId();
258 case COMPONENT.NETWORK:
259 return "mso_delete_nw_instance/"
260 + DataService.getServiceInstanceId() + "/networks/"
261 + DataService.getNetworkInstanceId();
262 case COMPONENT.SERVICE:
263 if(DataService.getE2EService() === true)
264 return "mso_delete_e2e_svc_instance/"+ DataService.getServiceInstanceId();
266 return "mso_delete_svc_instance" + "/" + DataService.getServiceInstanceId() + "?serviceStatus=" + serviceStatus;
268 return "mso_delete_vnf_instance/"
269 + DataService.getServiceInstanceId() + "/vnfs/"
270 + DataService.getVnfInstanceId();
271 case COMPONENT.VF_MODULE:
272 return "mso_delete_vfmodule_instance/"
273 + DataService.getServiceInstanceId() + "/vnfs/"
274 + DataService.getVnfInstanceId() + "/vfModules/"
275 + DataService.getVfModuleInstanceId();
276 case COMPONENT.VOLUME_GROUP:
277 return "mso_delete_volumegroup_instance/"
278 + DataService.getServiceInstanceId() + "/vnfs/"
279 + DataService.getVnfInstanceId() + "/volumeGroups/"
280 + DataService.getVolumeGroupInstanceId();
284 var addToList = function(name, value) {
285 _this.parameterList.push({
291 var buildCloudConfiguration = function(parameterList) {
295 var lcpRegionOptionId = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
296 var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(lcpRegionOptionId);
297 if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) {
298 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
300 cloudOwner = undefined;
302 lcpRegion = cloudOwnerAndLcpCloudRegion.cloudRegionId;
303 cloudOwner = cloudOwnerAndLcpCloudRegion.cloudOwner;
307 lcpCloudRegionId: lcpRegion,
308 cloudOwner: featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) ? cloudOwner : undefined,
309 tenantId: getValueFromList(FIELD.ID.TENANT, parameterList)
313 var getMsoE2ERequest = function(parameterList) {
315 "globalSubscriberId": DataService.getSubscriberName(),
316 "serviceType": DataService.getServiceType()
320 var getMsoRequestDetails = function(parameterList) {
321 console.log("getMsoRequestDetails invoked");
323 //VoLTE logic goes here
324 if(DataService.getE2EService() === true) {
325 return getMsoE2ERequest(parameterList);
328 var inventoryInfo = ComponentService.getInventoryInfo(
329 _this.componentId, DataService.getInventoryItem());
330 var modelInfo = DataService.getModelInfo(_this.componentId);
331 var requestorloggedInId = DataService.getLoggedInUserId();
332 if (requestorloggedInId == null)
333 requestorloggedInId = "";
334 var requestDetails = {
336 modelType : _this.componentId,
337 modelInvariantId : modelInfo.modelInvariantId,
338 modelVersionId : modelInfo.modelNameVersionId,
339 modelName : modelInfo.modelName,
340 modelCustomizationName : modelInfo.modelCustomizationName,
341 modelCustomizationId : modelInfo.customizationUuid,
342 modelVersion : modelInfo.modelVersion
345 source : FIELD.ID.VID,
346 requestorId: requestorloggedInId
349 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
350 if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
351 // a-la-carte services AND *any* non-service
352 requestDetails.requestParameters = {
353 testApi : DataService.getMsoRequestParametersTestApi()
358 console.log("getMsoRequestDetails COMPONENT." + _this.componentId);
359 switch (_this.componentId) {
360 case COMPONENT.SERVICE:
361 if (!requestDetails.requestParameters) {
362 requestDetails.requestParameters = {};
364 requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
365 if ( !(DataService.getALaCarte()) ) {
366 // for macro delete include cloud config.
367 requestDetails.cloudConfiguration = buildCloudConfiguration(parameterList);
371 case COMPONENT.CONFIGURATION:
372 case COMPONENT.VF_MODULE:
373 case COMPONENT.NETWORK:
374 case COMPONENT.VOLUME_GROUP:
375 requestDetails.cloudConfiguration = buildCloudConfiguration(parameterList);
379 requestDetails.cloudConfiguration = {
380 lcpCloudRegionId : DataService.getLcpRegion(),
381 tenantId : DataService.getTenant()
384 return requestDetails;
387 var getLcpRegion = function() {
388 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
390 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
391 parameter = FIELD.PARAMETER.LCP_REGION;
392 parameter.optionList = new Array();
393 for (var i = 0; i < cloudRegionTenantList.length; i++) {
394 for (var j = 0; j < parameter.optionList.length; j++) {
395 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionOptionId) {
396 parameter.optionList[j].isPermitted =
397 parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
401 if (j < parameter.optionList.length) {
405 var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
406 cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" :
407 cloudRegionTenantList[i].cloudRegionId;
409 parameter.optionList.push({
410 id : cloudRegionTenantList[i].cloudRegionOptionId,
412 isPermitted : cloudRegionTenantList[i].isPermitted
419 var getTenantList = function(cloudRegionOptionId) {
421 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
422 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
423 parameter = FIELD.PARAMETER.TENANT_ENABLED;
424 parameter.optionList = new Array();
425 for (var i = 0; i < cloudRegionTenantList.length; i++) {
426 if (cloudRegionTenantList[i].cloudRegionOptionId === cloudRegionOptionId) {
427 parameter.optionList.push({
428 id : cloudRegionTenantList[i].tenantId,
429 name : cloudRegionTenantList[i].tenantName,
430 isPermitted : cloudRegionTenantList[i].isPermitted
439 var addOptionList = function(parameter, optionSimpleArray) {
440 var optionList = new Array();
441 if (!angular.isArray(optionSimpleArray)) {
444 for (var i = 0; i < optionSimpleArray.length; i++) {
446 name : optionSimpleArray[i]
449 parameter.optionList = optionList;
453 var getValueFromList = function(id, parameterList) {
454 for (var i = 0; i < parameterList.length; i++) {
455 if (parameterList[i].id === id) {
456 return parameterList[i].value;
461 var updateUserParameterList = function(updatedId, parameterListControl) {
462 if (updatedId === FIELD.ID.LCP_REGION) {
463 var list = parameterListControl.getList(updatedId);
464 if (list[0].selectedIndex >= 0) {
466 .updateList([ getTenantList(list[0].value) ]);
469 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
472 var cloudOwnerAndLcpCloudRegion = DataService.getCloudOwnerAndLcpCloudRegionFromOptionId(list[0].value);
473 if (cloudOwnerAndLcpCloudRegion.cloudRegionId === FIELD.KEY.LCP_REGION_TEXT) {
475 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
478 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
480 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
481 var list = parameterListControl.getList(updatedId);
482 if (list[0].selectedIndex >= 0) {
483 DataService.setGlobalCustomerId(list[0].value);
485 AaiService.getSubscriptionServiceTypeList(DataService
486 .getGlobalCustomerId(), function(response) {
487 DataService.setSubscriptionServiceTypeList(response);
488 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
489 serviceTypeParameters.optionList = [];
491 for (var i = 0; i < response.length; i++) {
492 serviceTypeParameters.optionList.push({
493 "id" : response[i].name,
494 "name" : response[i].name
497 parameterListControl.updateList([ serviceTypeParameters ]);
502 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
508 initializeComponent : function(componentId) {
509 _this.componentId = ComponentService.initialize(componentId);
511 getComponentDisplayName : ComponentService.getComponentDisplayName,
512 getSummaryList : getSummaryList,
513 getParameters : function(getParametersHandler) {
514 _this.getParametersHandler = getParametersHandler;
515 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
516 UtilityService.startAsyncOperations(getAsyncOperationList(),
517 internalGetParametersHandler);
519 updateUserParameterList : updateUserParameterList,
520 getMsoRequestDetails : getMsoRequestDetails,
521 getMsoUrl : getMsoUrl,
522 isMacro : DataService.getMacro()
526 appDS2.factory("DeleteResumeService", [ "$log", "AaiService", "AsdcService",
527 "DataService", "ComponentService", "COMPONENT", "FIELD",
528 "UtilityService","featureFlags", DeleteResumeService ]);