2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
23 var DeletionService = function($log, AaiService, AsdcService, DataService,
\r
24 ComponentService, COMPONENT, FIELD, UtilityService) {
\r
28 var getAsyncOperationList = function() {
\r
29 if (DataService.getLoggedInUserId() == null)
\r
30 getLoggedInUserID();
\r
31 switch (_this.componentId) {
\r
32 case COMPONENT.SERVICE:
\r
33 return [ getSubscribers, getLcpCloudRegionTenantList ];
\r
34 case COMPONENT.NETWORK:
\r
35 return [ getLcpCloudRegionTenantList ];
\r
37 return [ getLcpCloudRegionTenantList ];
\r
38 case COMPONENT.VF_MODULE:
\r
39 return [ getLcpCloudRegionTenantList ];
\r
40 case COMPONENT.VOLUME_GROUP:
\r
41 return [ getLcpCloudRegionTenantList ];
\r
45 var getLcpCloudRegionTenantList = function() {
\r
46 //console.log ( "global customer id: " );
\r
47 //console.log ( JSON.stringify (DataService.getGlobalCustomerId()) );
\r
49 //console.log ( "service type: " );
\r
50 //console.log ( JSON.stringify (DataService.getServiceType()) );
\r
52 AaiService.getLcpCloudRegionTenantList(DataService
\r
53 .getGlobalCustomerId(), DataService.getServiceType(), function(
\r
55 DataService.setCloudRegionTenantList(response);
\r
56 UtilityService.startNextAsyncOperation();
\r
60 var getLoggedInUserID = function() {
\r
61 AaiService.getLoggedInUserID(function(response) {
\r
62 DataService.setLoggedInUserId(response.data);
\r
63 UtilityService.startNextAsyncOperation();
\r
67 var getSubscribers = function() {
\r
68 AaiService.getSubscribers(function(response) {
\r
69 DataService.setSubscribers(response);
\r
70 UtilityService.startNextAsyncOperation();
\r
74 var internalGetParametersHandler = function() {
\r
75 if (angular.isFunction(_this.getParametersHandler)) {
\r
76 if (_this.componentId == COMPONENT.SERVICE) {
\r
77 if ( DataService.getALaCarte() ) {
\r
78 _this.getParametersHandler({
\r
79 summaryList : getSummaryList(),
\r
80 userProvidedList : getUserProvidedList()
\r
84 _this.getParametersHandler({
\r
85 summaryList : getSummaryList(),
\r
86 userProvidedList : getUserProvidedList()
\r
91 _this.getParametersHandler({
\r
92 summaryList : getSummaryList(),
\r
93 userProvidedList : getUserProvidedList()
\r
99 var getSubscribersParameter = function() {
\r
100 var subscribers = DataService.getSubscribers();
\r
101 var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
\r
102 parameter.optionList = [];
\r
104 for (var i = 0; i < subscribers.length; i++) {
\r
105 parameter.optionList.push({
\r
106 id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
\r
107 name : subscribers[i][FIELD.ID.SUBNAME]
\r
113 var getServiceId = function() {
\r
114 var serviceIdList = DataService.getServiceIdList();
\r
115 var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
\r
116 parameter.optionList = new Array();
\r
117 for (var i = 0; i < serviceIdList.length; i++) {
\r
118 parameter.optionList.push({
\r
119 id : serviceIdList[i].id,
\r
120 name : serviceIdList[i].description
\r
126 var getUserProvidedList = function() {
\r
128 //var parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
\r
130 var parameterList = [];
\r
132 switch (_this.componentId) {
\r
133 case COMPONENT.SERVICE:
\r
134 if ( DataService.getALaCarte() ) {
\r
135 parameterList = [];
\r
138 parameterList = parameterList.concat ([getLcpRegion(),
\r
139 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
\r
140 FIELD.PARAMETER.TENANT_DISABLED ]);
\r
143 case COMPONENT.NETWORK:
\r
144 case COMPONENT.VNF:
\r
145 parameterList = parameterList.concat([ //getServiceId(),
\r
146 getLcpRegion(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
\r
147 FIELD.PARAMETER.TENANT_DISABLED ]);
\r
149 case COMPONENT.VF_MODULE:
\r
150 parameterList = parameterList.concat([
\r
152 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
\r
153 FIELD.PARAMETER.TENANT_DISABLED
\r
157 case COMPONENT.VOLUME_GROUP:
\r
158 parameterList = parameterList.concat([ getLcpRegion(),
\r
159 FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
\r
160 FIELD.PARAMETER.TENANT_DISABLED ]);
\r
163 //parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
\r
165 //addArbitraryParameters(parameterList);
\r
167 return parameterList;
\r
169 var getSummaryList = function() {
\r
170 switch (_this.componentId) {
\r
171 case COMPONENT.NETWORK:
\r
172 case COMPONENT.SERVICE:
\r
173 case COMPONENT.VNF:
\r
174 case COMPONENT.VF_MODULE:
\r
175 case COMPONENT.VOLUME_GROUP:
\r
176 var summaryList = [ {
\r
177 name : FIELD.NAME.SUBSCRIBER_NAME,
\r
178 value : DataService.getSubscriberName()
\r
180 name : FIELD.NAME.CUSTOMER_ID,
\r
181 value : DataService.getGlobalCustomerId()
\r
183 name : FIELD.NAME.SERVICE_UUID,
\r
184 value : DataService.getServiceUuid()
\r
186 name : FIELD.NAME.SERVICE_NAME,
\r
187 value : DataService.getServiceName()
\r
189 name : FIELD.NAME.USER_SERVICE_INSTANCE_NAME,
\r
190 value : DataService.getUserServiceInstanceName()*/
\r
193 _this.parameterList = new Array();
\r
195 addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
\r
197 switch (_this.componentId) {
\r
198 case COMPONENT.SERVICE:
\r
199 addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
\r
200 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
\r
201 addToList(FIELD.NAME.SERVICE_VERSION, DataService
\r
202 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
\r
203 addToList(FIELD.NAME.SERVICE_UUID, DataService
\r
204 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
\r
205 addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
\r
206 .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
\r
207 addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
\r
208 .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
\r
210 case COMPONENT.VF_MODULE:
\r
211 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
\r
212 .getSubscriberName());
\r
213 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
\r
214 .getServiceInstanceName());
\r
215 addToList(FIELD.NAME.MODEL_NAME, DataService
\r
216 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
\r
217 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
\r
218 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
\r
219 addToList(FIELD.NAME.MODEL_VERSION, DataService
\r
220 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
\r
221 addToList(FIELD.NAME.MODEL_UUID, DataService
\r
222 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
\r
224 case COMPONENT.NETWORK:
\r
225 case COMPONENT.VNF:
\r
226 case COMPONENT.VOLUME_GROUP:
\r
227 addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
\r
228 .getSubscriberName());
\r
229 addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
\r
230 .getServiceInstanceName());
\r
231 addToList(FIELD.NAME.MODEL_NAME, DataService
\r
232 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
\r
233 addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
\r
234 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
\r
235 addToList(FIELD.NAME.MODEL_VERSION, DataService
\r
236 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
\r
237 addToList(FIELD.NAME.MODEL_UUID, DataService
\r
238 .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
\r
242 /*var additionalList = ComponentService.getInventoryParameterList(
\r
243 _this.componentId, DataService.getInventoryItem());*/
\r
244 var additionalList = ComponentService.getDisplayNames(ComponentService
\r
245 .getInventoryParameterList(_this.componentId, DataService
\r
246 .getInventoryItem(), true ));
\r
248 return summaryList.concat(ComponentService
\r
249 .getDisplayNames(additionalList));
\r
253 var getMsoUrl = function() {
\r
254 switch (_this.componentId) {
\r
255 case COMPONENT.NETWORK:
\r
256 return "mso_delete_nw_instance/"
\r
257 + DataService.getServiceInstanceId() + "/networks/"
\r
258 + DataService.getNetworkInstanceId();
\r
259 case COMPONENT.SERVICE:
\r
260 return "mso_delete_svc_instance/"
\r
261 + DataService.getServiceInstanceId();
\r
262 case COMPONENT.VNF:
\r
263 return "mso_delete_vnf_instance/"
\r
264 + DataService.getServiceInstanceId() + "/vnfs/"
\r
265 + DataService.getVnfInstanceId();
\r
266 case COMPONENT.VF_MODULE:
\r
267 return "mso_delete_vfmodule_instance/"
\r
268 + DataService.getServiceInstanceId() + "/vnfs/"
\r
269 + DataService.getVnfInstanceId() + "/vfModules/"
\r
270 + DataService.getVfModuleInstanceId();
\r
271 case COMPONENT.VOLUME_GROUP:
\r
272 return "mso_delete_volumegroup_instance/"
\r
273 + DataService.getServiceInstanceId() + "/vnfs/"
\r
274 + DataService.getVnfInstanceId() + "/volumeGroups/"
\r
275 + DataService.getVolumeGroupInstanceId();
\r
279 var addToList = function(name, value) {
\r
280 _this.parameterList.push({
\r
286 var getMsoRequestDetails = function(parameterList) {
\r
287 console.log("getMsoRequestDetails invoked");
\r
288 var inventoryInfo = ComponentService.getInventoryInfo(
\r
289 _this.componentId, DataService.getInventoryItem());
\r
290 var modelInfo = DataService.getModelInfo(_this.componentId);
\r
291 var requestorloggedInId = DataService.getLoggedInUserId();
\r
292 if (requestorloggedInId == null)
\r
293 requestorloggedInId = "";
\r
294 var requestDetails = {
\r
296 modelType : _this.componentId,
\r
297 modelInvariantId : modelInfo.modelInvariantId,
\r
298 modelVersionId : modelInfo.modelNameVersionId,
\r
299 modelName : modelInfo.modelName,
\r
300 modelCustomizationName : modelInfo.modelCustomizationName,
\r
301 modelCustomizationId : modelInfo.customizationUuid,
\r
302 modelVersion : modelInfo.modelVersion
\r
305 source : FIELD.ID.VID,
\r
306 requestorId: requestorloggedInId
\r
310 switch (_this.componentId) {
\r
311 case COMPONENT.SERVICE:
\r
312 requestDetails.requestParameters = {
\r
313 aLaCarte : DataService.getALaCarte()
\r
315 if ( !(DataService.getALaCarte()) ) {
\r
316 // for macro delete include cloud config.
\r
317 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
\r
318 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
\r
319 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
\r
322 requestDetails.cloudConfiguration = {
\r
323 lcpCloudRegionId : lcpRegion,
\r
324 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
\r
328 case COMPONENT.VNF:
\r
329 console.log("getMsoRequestDetails COMPONENT.VNF");
\r
330 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
\r
331 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
\r
332 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
\r
335 requestDetails.cloudConfiguration = {
\r
336 lcpCloudRegionId : lcpRegion,
\r
337 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
\r
341 case COMPONENT.VF_MODULE:
\r
342 case COMPONENT.NETWORK:
\r
343 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
\r
344 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
\r
345 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
\r
348 requestDetails.cloudConfiguration = {
\r
349 lcpCloudRegionId : lcpRegion,
\r
350 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
\r
353 case COMPONENT.VOLUME_GROUP:
\r
354 var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
\r
355 if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
\r
356 lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
\r
359 requestDetails.cloudConfiguration = {
\r
360 lcpCloudRegionId : lcpRegion,
\r
361 tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
\r
366 requestDetails.cloudConfiguration = {
\r
367 lcpCloudRegionId : DataService.getLcpRegion(),
\r
368 tenantId : DataService.getTenant()
\r
371 return requestDetails;
\r
374 var getLcpRegion = function() {
\r
375 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
\r
376 var parameter = "";
\r
377 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
\r
378 parameter = FIELD.PARAMETER.LCP_REGION;
\r
379 parameter.optionList = new Array();
\r
380 for (var i = 0; i < cloudRegionTenantList.length; i++) {
\r
381 for (var j = 0; j < parameter.optionList.length; j++) {
\r
382 if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
\r
386 if (j < parameter.optionList.length) {
\r
389 parameter.optionList.push({
\r
390 id : cloudRegionTenantList[i].cloudRegionId
\r
397 var getTenantList = function(cloudRegionId) {
\r
398 var parameter = "";
\r
399 var cloudRegionTenantList = DataService.getCloudRegionTenantList();
\r
400 if ( UtilityService.hasContents (cloudRegionTenantList) ) {
\r
401 var parameter = FIELD.PARAMETER.TENANT_ENABLED;
\r
402 parameter.optionList = new Array();
\r
403 for (var i = 0; i < cloudRegionTenantList.length; i++) {
\r
404 if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
\r
405 parameter.optionList.push({
\r
406 id : cloudRegionTenantList[i].tenantId,
\r
407 name : cloudRegionTenantList[i].tenantName
\r
416 var addOptionList = function(parameter, optionSimpleArray) {
\r
417 var optionList = new Array();
\r
418 if (!angular.isArray(optionSimpleArray)) {
\r
421 for (var i = 0; i < optionSimpleArray.length; i++) {
\r
423 name : optionSimpleArray[i]
\r
426 parameter.optionList = optionList;
\r
430 var getValueFromList = function(id, parameterList) {
\r
431 for (var i = 0; i < parameterList.length; i++) {
\r
432 if (parameterList[i].id === id) {
\r
433 return parameterList[i].value;
\r
438 var updateUserParameterList = function(updatedId, parameterListControl) {
\r
439 if (updatedId === FIELD.ID.LCP_REGION) {
\r
440 var list = parameterListControl.getList(updatedId);
\r
441 if (list[0].selectedIndex >= 0) {
\r
442 parameterListControl
\r
443 .updateList([ getTenantList(list[0].value) ]);
\r
445 parameterListControl
\r
446 .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
\r
448 if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
\r
449 parameterListControl
\r
450 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
\r
452 parameterListControl
\r
453 .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
\r
455 } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
\r
456 var list = parameterListControl.getList(updatedId);
\r
457 if (list[0].selectedIndex >= 0) {
\r
458 DataService.setGlobalCustomerId(list[0].value);
\r
460 AaiService.getSubscriptionServiceTypeList(DataService
\r
461 .getGlobalCustomerId(), function(response) {
\r
462 DataService.setSubscriptionServiceTypeList(response);
\r
463 var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
\r
464 serviceTypeParameters.optionList = [];
\r
466 for (var i = 0; i < response.length; i++) {
\r
467 serviceTypeParameters.optionList.push({
\r
468 "id" : response[i],
\r
469 "name" : response[i]
\r
472 parameterListControl.updateList([ serviceTypeParameters ]);
\r
476 parameterListControl
\r
477 .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
\r
483 initializeComponent : function(componentId) {
\r
484 _this.componentId = ComponentService.initialize(componentId);
\r
486 getComponentDisplayName : ComponentService.getComponentDisplayName,
\r
487 getSummaryList : getSummaryList,
\r
488 getParameters : function(getParametersHandler) {
\r
489 _this.getParametersHandler = getParametersHandler;
\r
490 UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
\r
491 UtilityService.startAsyncOperations(getAsyncOperationList(),
\r
492 internalGetParametersHandler);
\r
494 updateUserParameterList : updateUserParameterList,
\r
495 getMsoRequestDetails : getMsoRequestDetails,
\r
496 getMsoUrl : getMsoUrl
\r
500 appDS2.factory("DeletionService", [ "$log", "AaiService", "AsdcService",
\r
501 "DataService", "ComponentService", "COMPONENT", "FIELD",
\r
502 "UtilityService", DeletionService ]);
\r