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) {
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() {
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();
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
334 switch (_this.componentId) {
335 case COMPONENT.SERVICE:
336 requestDetails.requestParameters = {
337 aLaCarte : DataService.getALaCarte()
339 if ( !(DataService.getALaCarte()) ) {
340 // for macro delete include cloud config.
341 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
342 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
343 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
346 requestDetails.cloudConfiguration = {
347 lcpCloudRegionId : lcpRegion,
348 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
353 case COMPONENT.CONFIGURATION:
354 console.log("getMsoRequestDetails COMPONENT.VNF");
355 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
356 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
357 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
360 requestDetails.cloudConfiguration = {
361 lcpCloudRegionId : lcpRegion,
362 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
366 case COMPONENT.VF_MODULE:
367 case COMPONENT.NETWORK:
368 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
369 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
370 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
373 requestDetails.cloudConfiguration = {
374 lcpCloudRegionId : lcpRegion,
375 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
378 case COMPONENT.VOLUME_GROUP:
379 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
380 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
381 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
384 requestDetails.cloudConfiguration = {
385 lcpCloudRegionId : lcpRegion,
386 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
391 requestDetails.cloudConfiguration = {
392 lcpCloudRegionId : DataService.getLcpRegion(),
393 tenantId : DataService.getTenant()
396 return requestDetails;
399 var getLcpRegion = function() {
400 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
402 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
403 parameter = FIELD.PARAMETER.LCP_REGION;
404 parameter.optionList = new Array();
405 for (var i = 0; i < cloudRegionTenantList.length; i++) {
406 for (var j = 0; j < parameter.optionList.length; j++) {
407 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
408 parameter.optionList[j].isPermitted =
409 parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
413 if (j < parameter.optionList.length) {
416 parameter.optionList.push({
417 id : cloudRegionTenantList[i].cloudRegionId,
418 isPermitted : cloudRegionTenantList[i].isPermitted
426 var getTenantList = function(cloudRegionId) {
428 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
429 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
430 var parameter = FIELD.PARAMETER.TENANT_ENABLED;
431 parameter.optionList = new Array();
432 for (var i = 0; i < cloudRegionTenantList.length; i++) {
433 if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
434 parameter.optionList.push({
435 id : cloudRegionTenantList[i].tenantId,
436 name : cloudRegionTenantList[i].tenantName,
437 isPermitted : cloudRegionTenantList[i].isPermitted
446 var addOptionList = function(parameter, optionSimpleArray) {
447 var optionList = new Array();
448 if (!angular.isArray(optionSimpleArray)) {
451 for (var i = 0; i < optionSimpleArray.length; i++) {
453 name : optionSimpleArray[i]
456 parameter.optionList = optionList;
460 var getValueFromList = function(id, parameterList) {
461 for (var i = 0; i < parameterList.length; i++) {
462 if (parameterList[i].id === id) {
463 return parameterList[i].value;
468 var updateUserParameterList = function(updatedId, parameterListControl) {
469 if (updatedId === FIELD.ID.LCP_REGION) {
470 var list = parameterListControl.getList(updatedId);
471 if (list[0].selectedIndex >= 0) {
473 .updateList([ getTenantList(list[0].value) ]);
476 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
478 if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
480 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
483 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
485 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
486 var list = parameterListControl.getList(updatedId);
487 if (list[0].selectedIndex >= 0) {
488 DataService.setGlobalCustomerId(list[0].value);
490 AaiService.getSubscriptionServiceTypeList(DataService
491 .getGlobalCustomerId(), function(response) {
492 DataService.setSubscriptionServiceTypeList(response);
493 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
494 serviceTypeParameters.optionList = [];
496 for (var i = 0; i < response.length; i++) {
497 serviceTypeParameters.optionList.push({
498 "id" : response[i].name,
499 "name" : response[i].name
502 parameterListControl.updateList([ serviceTypeParameters ]);
507 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
513 initializeComponent : function(componentId) {
514 _this.componentId = ComponentService.initialize(componentId);
516 getComponentDisplayName : ComponentService.getComponentDisplayName,
517 getSummaryList : getSummaryList,
518 getParameters : function(getParametersHandler) {
519 _this.getParametersHandler = getParametersHandler;
520 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
521 UtilityService.startAsyncOperations(getAsyncOperationList(),
522 internalGetParametersHandler);
524 updateUserParameterList : updateUserParameterList,
525 getMsoRequestDetails : getMsoRequestDetails,
526 getMsoUrl : getMsoUrl,
527 isMacro : DataService.getMacro()
531 appDS2.factory("DeleteResumeService", [ "$log", "AaiService", "AsdcService",
532 "DataService", "ComponentService", "COMPONENT", "FIELD",
533 "UtilityService", DeleteResumeService ]);