2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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 //console.log ( "global customer id: " );
49 //console.log ( JSON.stringify (DataService.getGlobalCustomerId()) );
51 //console.log ( "service type: " );
52 //console.log ( JSON.stringify (DataService.getServiceType()) );
54 AaiService.getLcpCloudRegionTenantList(DataService
55 .getGlobalCustomerId(), DataService.getServiceType(), function(
57 DataService.setCloudRegionTenantList(response);
58 UtilityService.startNextAsyncOperation();
62 var getLoggedInUserID = function() {
63 AaiService.getLoggedInUserID(function(response) {
64 DataService.setLoggedInUserId(response.data);
65 UtilityService.startNextAsyncOperation();
69 var getSubscribers = function() {
70 AaiService.getSubscribers(function(response) {
71 DataService.setSubscribers(response);
72 UtilityService.startNextAsyncOperation();
76 var internalGetParametersHandler = function() {
77 if (angular.isFunction(_this.getParametersHandler)) {
78 if (_this.componentId == COMPONENT.SERVICE) {
79 if ( DataService.getALaCarte() ) {
80 _this.getParametersHandler({
81 summaryList : getSummaryList(),
82 userProvidedList : getUserProvidedList()
86 _this.getParametersHandler({
87 summaryList : getSummaryList(),
88 userProvidedList : getUserProvidedList()
93 _this.getParametersHandler({
94 summaryList : getSummaryList(),
95 userProvidedList : getUserProvidedList()
101 var getSubscribersParameter = function() {
102 var subscribers = DataService.getSubscribers();
103 var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
104 parameter.optionList = [];
106 for (var i = 0; i < subscribers.length; i++) {
107 parameter.optionList.push({
108 id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
109 name : subscribers[i][FIELD.ID.SUBNAME]
115 var getServiceId = function() {
116 var serviceIdList = DataService.getServiceIdList();
117 var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
118 parameter.optionList = new Array();
119 for (var i = 0; i < serviceIdList.length; i++) {
120 parameter.optionList.push({
121 id : serviceIdList[i].id,
122 name : serviceIdList[i].description
128 var getUserProvidedList = function() {
130 //var parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
132 var parameterList = [];
134 switch (_this.componentId) {
135 case COMPONENT.SERVICE:
136 if ( DataService.getALaCarte() ) {
140 parameterList = parameterList.concat ([getLcpRegion(),
141 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
142 FIELD.PARAMETER.TENANT_DISABLED ]);
145 case COMPONENT.NETWORK:
146 case COMPONENT.CONFIGURATION:
148 parameterList = parameterList.concat([ //getServiceId(),
149 getLcpRegion(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
150 FIELD.PARAMETER.TENANT_DISABLED ]);
152 case COMPONENT.VF_MODULE:
153 parameterList = parameterList.concat([
155 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
156 FIELD.PARAMETER.TENANT_DISABLED
160 case COMPONENT.VOLUME_GROUP:
161 parameterList = parameterList.concat([ getLcpRegion(),
162 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
163 FIELD.PARAMETER.TENANT_DISABLED ]);
166 //parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
168 //addArbitraryParameters(parameterList);
170 return parameterList;
172 var getSummaryList = function() {
173 switch (_this.componentId) {
174 case COMPONENT.CONFIGURATION:
175 case COMPONENT.NETWORK:
176 case COMPONENT.SERVICE:
178 case COMPONENT.VF_MODULE:
179 case COMPONENT.VOLUME_GROUP:
180 var summaryList = [ {
181 name : FIELD.NAME.SUBSCRIBER_NAME,
182 value : DataService.getSubscriberName()
184 name : FIELD.NAME.CUSTOMER_ID,
185 value : DataService.getGlobalCustomerId()
187 name : FIELD.NAME.SERVICE_UUID,
188 value : DataService.getServiceUuid()
190 name : FIELD.NAME.SERVICE_NAME,
191 value : DataService.getServiceName()
193 name : FIELD.NAME.USER_SERVICE_INSTANCE_NAME,
194 value : DataService.getUserServiceInstanceName()*/
197 _this.parameterList = new Array();
199 addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
201 switch (_this.componentId) {
202 case COMPONENT.SERVICE:
203 addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
204 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
205 addToList(FIELD.NAME.SERVICE_VERSION, DataService
206 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
207 addToList(FIELD.NAME.SERVICE_UUID, DataService
208 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
209 addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
210 .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
211 addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
212 .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
214 case COMPONENT.VF_MODULE:
215 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
216 .getSubscriberName());
217 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
218 .getServiceInstanceName());
219 addToList(FIELD.NAME.MODEL_NAME, DataService
220 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
221 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
222 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
223 addToList(FIELD.NAME.MODEL_VERSION, DataService
224 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
225 addToList(FIELD.NAME.MODEL_UUID, DataService
226 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
228 case COMPONENT.CONFIGURATION:
229 case COMPONENT.NETWORK:
231 case COMPONENT.VOLUME_GROUP:
232 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
233 .getSubscriberName());
234 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
235 .getServiceInstanceName());
236 addToList(FIELD.NAME.MODEL_NAME, DataService
237 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
238 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
239 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
240 addToList(FIELD.NAME.MODEL_VERSION, DataService
241 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
242 addToList(FIELD.NAME.MODEL_UUID, DataService
243 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
247 /*var additionalList = ComponentService.getInventoryParameterList(
248 _this.componentId, DataService.getInventoryItem());*/
249 var additionalList = ComponentService.getDisplayNames(ComponentService
250 .getInventoryParameterList(_this.componentId, DataService
251 .getInventoryItem(), true ));
253 return summaryList.concat(ComponentService
254 .getDisplayNames(additionalList));
258 var getMsoUrl = function(serviceStatus) {
259 switch (_this.componentId) {
260 case COMPONENT.CONFIGURATION:
261 return "mso_delete_configuration/"
262 + DataService.getServiceInstanceId() + "/configurations/"
263 + DataService.getConfigurationInstanceId();
264 case COMPONENT.NETWORK:
265 return "mso_delete_nw_instance/"
266 + DataService.getServiceInstanceId() + "/networks/"
267 + DataService.getNetworkInstanceId();
268 case COMPONENT.SERVICE:
269 if(DataService.getE2EService() === true)
270 return "mso_delete_e2e_svc_instance/"+ DataService.getServiceInstanceId();
272 return "mso_delete_svc_instance" + "/" + DataService.getServiceInstanceId() + "?serviceStatus=" + serviceStatus;
274 return "mso_delete_vnf_instance/"
275 + DataService.getServiceInstanceId() + "/vnfs/"
276 + DataService.getVnfInstanceId();
277 case COMPONENT.VF_MODULE:
278 return "mso_delete_vfmodule_instance/"
279 + DataService.getServiceInstanceId() + "/vnfs/"
280 + DataService.getVnfInstanceId() + "/vfModules/"
281 + DataService.getVfModuleInstanceId();
282 case COMPONENT.VOLUME_GROUP:
283 return "mso_delete_volumegroup_instance/"
284 + DataService.getServiceInstanceId() + "/vnfs/"
285 + DataService.getVnfInstanceId() + "/volumeGroups/"
286 + DataService.getVolumeGroupInstanceId();
290 var addToList = function(name, value) {
291 _this.parameterList.push({
297 var getMsoE2ERequest = function(parameterList) {
299 "globalSubscriberId": DataService.getSubscriberName(),
300 "serviceType": DataService.getServiceType()
304 var getMsoRequestDetails = function(parameterList) {
305 console.log("getMsoRequestDetails invoked");
307 //VoLTE logic goes here
308 if(DataService.getE2EService() === true) {
309 return getMsoE2ERequest(parameterList);
312 var inventoryInfo = ComponentService.getInventoryInfo(
313 _this.componentId, DataService.getInventoryItem());
314 var modelInfo = DataService.getModelInfo(_this.componentId);
315 var requestorloggedInId = DataService.getLoggedInUserId();
316 if (requestorloggedInId == null)
317 requestorloggedInId = "";
318 var requestDetails = {
320 modelType : _this.componentId,
321 modelInvariantId : modelInfo.modelInvariantId,
322 modelVersionId : modelInfo.modelNameVersionId,
323 modelName : modelInfo.modelName,
324 modelCustomizationName : modelInfo.modelCustomizationName,
325 modelCustomizationId : modelInfo.customizationUuid,
326 modelVersion : modelInfo.modelVersion
329 source : FIELD.ID.VID,
330 requestorId: requestorloggedInId
333 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
334 if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
335 // a-la-carte services AND *any* non-service
336 requestDetails.requestParameters = {
337 testApi : DataService.getMsoRequestParametersTestApi()
342 switch (_this.componentId) {
343 case COMPONENT.SERVICE:
344 if (!requestDetails.requestParameters) {
345 requestDetails.requestParameters = {};
347 requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
348 if ( !(DataService.getALaCarte()) ) {
349 // for macro delete include cloud config.
350 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
351 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
352 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
355 requestDetails.cloudConfiguration = {
356 lcpCloudRegionId : lcpRegion,
357 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
362 case COMPONENT.CONFIGURATION:
363 console.log("getMsoRequestDetails COMPONENT.VNF");
364 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
365 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
366 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
369 requestDetails.cloudConfiguration = {
370 lcpCloudRegionId : lcpRegion,
371 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
375 case COMPONENT.VF_MODULE:
376 case COMPONENT.NETWORK:
377 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
378 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
379 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
382 requestDetails.cloudConfiguration = {
383 lcpCloudRegionId : lcpRegion,
384 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
387 case COMPONENT.VOLUME_GROUP:
388 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
389 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
390 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
393 requestDetails.cloudConfiguration = {
394 lcpCloudRegionId : lcpRegion,
395 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
400 requestDetails.cloudConfiguration = {
401 lcpCloudRegionId : DataService.getLcpRegion(),
402 tenantId : DataService.getTenant()
405 return requestDetails;
408 var getLcpRegion = function() {
409 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
411 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
412 parameter = FIELD.PARAMETER.LCP_REGION;
413 parameter.optionList = new Array();
414 for (var i = 0; i < cloudRegionTenantList.length; i++) {
415 for (var j = 0; j < parameter.optionList.length; j++) {
416 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
417 parameter.optionList[j].isPermitted =
418 parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
422 if (j < parameter.optionList.length) {
425 parameter.optionList.push({
426 id : cloudRegionTenantList[i].cloudRegionId,
427 isPermitted : cloudRegionTenantList[i].isPermitted
435 var getTenantList = function(cloudRegionId) {
437 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
438 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
439 var parameter = FIELD.PARAMETER.TENANT_ENABLED;
440 parameter.optionList = new Array();
441 for (var i = 0; i < cloudRegionTenantList.length; i++) {
442 if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
443 parameter.optionList.push({
444 id : cloudRegionTenantList[i].tenantId,
445 name : cloudRegionTenantList[i].tenantName,
446 isPermitted : cloudRegionTenantList[i].isPermitted
455 var addOptionList = function(parameter, optionSimpleArray) {
456 var optionList = new Array();
457 if (!angular.isArray(optionSimpleArray)) {
460 for (var i = 0; i < optionSimpleArray.length; i++) {
462 name : optionSimpleArray[i]
465 parameter.optionList = optionList;
469 var getValueFromList = function(id, parameterList) {
470 for (var i = 0; i < parameterList.length; i++) {
471 if (parameterList[i].id === id) {
472 return parameterList[i].value;
477 var updateUserParameterList = function(updatedId, parameterListControl) {
478 if (updatedId === FIELD.ID.LCP_REGION) {
479 var list = parameterListControl.getList(updatedId);
480 if (list[0].selectedIndex >= 0) {
482 .updateList([ getTenantList(list[0].value) ]);
485 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
487 if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
489 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
492 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
494 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
495 var list = parameterListControl.getList(updatedId);
496 if (list[0].selectedIndex >= 0) {
497 DataService.setGlobalCustomerId(list[0].value);
499 AaiService.getSubscriptionServiceTypeList(DataService
500 .getGlobalCustomerId(), function(response) {
501 DataService.setSubscriptionServiceTypeList(response);
502 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
503 serviceTypeParameters.optionList = [];
505 for (var i = 0; i < response.length; i++) {
506 serviceTypeParameters.optionList.push({
507 "id" : response[i].name,
508 "name" : response[i].name
511 parameterListControl.updateList([ serviceTypeParameters ]);
516 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
522 initializeComponent : function(componentId) {
523 _this.componentId = ComponentService.initialize(componentId);
525 getComponentDisplayName : ComponentService.getComponentDisplayName,
526 getSummaryList : getSummaryList,
527 getParameters : function(getParametersHandler) {
528 _this.getParametersHandler = getParametersHandler;
529 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
530 UtilityService.startAsyncOperations(getAsyncOperationList(),
531 internalGetParametersHandler);
533 updateUserParameterList : updateUserParameterList,
534 getMsoRequestDetails : getMsoRequestDetails,
535 getMsoUrl : getMsoUrl,
536 isMacro : DataService.getMacro()
540 appDS2.factory("DeleteResumeService", [ "$log", "AaiService", "AsdcService",
541 "DataService", "ComponentService", "COMPONENT", "FIELD",
542 "UtilityService","featureFlags", DeleteResumeService ]);