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 return "mso_delete_svc_instance/"
270 + DataService.getServiceInstanceId();
272 return "mso_delete_vnf_instance/"
273 + DataService.getServiceInstanceId() + "/vnfs/"
274 + DataService.getVnfInstanceId();
275 case COMPONENT.VF_MODULE:
276 return "mso_delete_vfmodule_instance/"
277 + DataService.getServiceInstanceId() + "/vnfs/"
278 + DataService.getVnfInstanceId() + "/vfModules/"
279 + DataService.getVfModuleInstanceId();
280 case COMPONENT.VOLUME_GROUP:
281 return "mso_delete_volumegroup_instance/"
282 + DataService.getServiceInstanceId() + "/vnfs/"
283 + DataService.getVnfInstanceId() + "/volumeGroups/"
284 + DataService.getVolumeGroupInstanceId();
288 var addToList = function(name, value) {
289 _this.parameterList.push({
295 var getMsoRequestDetails = function(parameterList) {
296 console.log("getMsoRequestDetails invoked");
297 var inventoryInfo = ComponentService.getInventoryInfo(
298 _this.componentId, DataService.getInventoryItem());
299 var modelInfo = DataService.getModelInfo(_this.componentId);
300 var requestorloggedInId = DataService.getLoggedInUserId();
301 if (requestorloggedInId == null)
302 requestorloggedInId = "";
303 var requestDetails = {
305 modelType : _this.componentId,
306 modelInvariantId : modelInfo.modelInvariantId,
307 modelVersionId : modelInfo.modelNameVersionId,
308 modelName : modelInfo.modelName,
309 modelCustomizationName : modelInfo.modelCustomizationName,
310 modelCustomizationId : modelInfo.customizationUuid,
311 modelVersion : modelInfo.modelVersion
314 source : FIELD.ID.VID,
315 requestorId: requestorloggedInId
319 switch (_this.componentId) {
320 case COMPONENT.SERVICE:
321 requestDetails.requestParameters = {
322 aLaCarte : DataService.getALaCarte()
324 if ( !(DataService.getALaCarte()) ) {
325 // for macro delete include cloud config.
326 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
327 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
328 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
331 requestDetails.cloudConfiguration = {
332 lcpCloudRegionId : lcpRegion,
333 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
338 case COMPONENT.CONFIGURATION:
339 console.log("getMsoRequestDetails COMPONENT.VNF");
340 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
341 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
342 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
345 requestDetails.cloudConfiguration = {
346 lcpCloudRegionId : lcpRegion,
347 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
351 case COMPONENT.VF_MODULE:
352 case COMPONENT.NETWORK:
353 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
354 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
355 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
358 requestDetails.cloudConfiguration = {
359 lcpCloudRegionId : lcpRegion,
360 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
363 case COMPONENT.VOLUME_GROUP:
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)
376 requestDetails.cloudConfiguration = {
377 lcpCloudRegionId : DataService.getLcpRegion(),
378 tenantId : DataService.getTenant()
381 return requestDetails;
384 var getLcpRegion = function() {
385 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
387 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
388 parameter = FIELD.PARAMETER.LCP_REGION;
389 parameter.optionList = new Array();
390 for (var i = 0; i < cloudRegionTenantList.length; i++) {
391 for (var j = 0; j < parameter.optionList.length; j++) {
392 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
393 parameter.optionList[j].isPermitted =
394 parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
398 if (j < parameter.optionList.length) {
401 parameter.optionList.push({
402 id : cloudRegionTenantList[i].cloudRegionId,
403 isPermitted : cloudRegionTenantList[i].isPermitted
411 var getTenantList = function(cloudRegionId) {
413 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
414 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
415 var parameter = FIELD.PARAMETER.TENANT_ENABLED;
416 parameter.optionList = new Array();
417 for (var i = 0; i < cloudRegionTenantList.length; i++) {
418 if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
419 parameter.optionList.push({
420 id : cloudRegionTenantList[i].tenantId,
421 name : cloudRegionTenantList[i].tenantName,
422 isPermitted : cloudRegionTenantList[i].isPermitted
431 var addOptionList = function(parameter, optionSimpleArray) {
432 var optionList = new Array();
433 if (!angular.isArray(optionSimpleArray)) {
436 for (var i = 0; i < optionSimpleArray.length; i++) {
438 name : optionSimpleArray[i]
441 parameter.optionList = optionList;
445 var getValueFromList = function(id, parameterList) {
446 for (var i = 0; i < parameterList.length; i++) {
447 if (parameterList[i].id === id) {
448 return parameterList[i].value;
453 var updateUserParameterList = function(updatedId, parameterListControl) {
454 if (updatedId === FIELD.ID.LCP_REGION) {
455 var list = parameterListControl.getList(updatedId);
456 if (list[0].selectedIndex >= 0) {
458 .updateList([ getTenantList(list[0].value) ]);
461 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
463 if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
465 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
468 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
470 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
471 var list = parameterListControl.getList(updatedId);
472 if (list[0].selectedIndex >= 0) {
473 DataService.setGlobalCustomerId(list[0].value);
475 AaiService.getSubscriptionServiceTypeList(DataService
476 .getGlobalCustomerId(), function(response) {
477 DataService.setSubscriptionServiceTypeList(response);
478 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
479 serviceTypeParameters.optionList = [];
481 for (var i = 0; i < response.length; i++) {
482 serviceTypeParameters.optionList.push({
483 "id" : response[i].name,
484 "name" : response[i].name
487 parameterListControl.updateList([ serviceTypeParameters ]);
492 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
498 initializeComponent : function(componentId) {
499 _this.componentId = ComponentService.initialize(componentId);
501 getComponentDisplayName : ComponentService.getComponentDisplayName,
502 getSummaryList : getSummaryList,
503 getParameters : function(getParametersHandler) {
504 _this.getParametersHandler = getParametersHandler;
505 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
506 UtilityService.startAsyncOperations(getAsyncOperationList(),
507 internalGetParametersHandler);
509 updateUserParameterList : updateUserParameterList,
510 getMsoRequestDetails : getMsoRequestDetails,
511 getMsoUrl : getMsoUrl,
512 isMacro : DataService.getMacro()
516 appDS2.factory("DeleteResumeService", [ "$log", "AaiService", "AsdcService",
517 "DataService", "ComponentService", "COMPONENT", "FIELD",
518 "UtilityService", DeleteResumeService ]);