\r
"use strict";\r
\r
-var MsoService = function($http, $log, PropertyService, UtilityService, COMPONENT, FIELD) {\r
+var MsoService = function($http, $log, $q, PropertyService, AaiService, UtilityService, COMPONENT, FIELD, moment) {\r
\r
- var _this = this;\r
+ var _this = this;\r
\r
/*\r
* Common function to handle both create and delete instance requests\r
*/\r
- var requestInstanceUpdate = function(request, successCallbackFunction) {\r
- $log.debug("MsoService:requestInstanceUpdate: request:");\r
- $log.debug(request);\r
- $http.post( "mso/" + request.url, {\r
- requestDetails : request.requestDetails\r
- }, {\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(successCallbackFunction)["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- }\r
-\r
- var checkValidStatus = function(response) {\r
- if (response.data.status < 200 || response.data.status > 202) {\r
- throw {\r
- type : FIELD.ID.MSO_FAILURE\r
- }\r
- }\r
- }\r
-\r
- var addListEntry = function(name, value) {\r
- var entry = '"' + name + '": ';\r
- if (value === undefined) {\r
- return entry + "undefined";\r
- } else {\r
- return entry + '"' + value + '"';\r
- }\r
- }\r
-\r
- return {\r
- createInstance : requestInstanceUpdate,\r
- deleteInstance : requestInstanceUpdate,\r
- getOrchestrationRequest : function(requestId, successCallbackFunction) {\r
- $log.debug("MsoService:getOrchestrationRequest: requestId: "\r
- + requestId);\r
- $http.get(\r
- "mso/mso_get_orch_req/"\r
- + requestId + "?r=" + Math.random(),\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(successCallbackFunction)["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
- getOrchestrationRequests : function(filterString,\r
- successCallbackFunction) {\r
- $log.debug("MsoService:getOrchestrationRequests: filterString: "\r
- + filterString);\r
- $http.get(\r
- "mso/mso_get_orch_reqs/"\r
- + encodeURIComponent(filterString) + "?r="\r
- + Math.random(),\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(successCallbackFunction)["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
- getFormattedCommonResponse : function(response) {\r
- return UtilityService.getCurrentTime() + " HTTP Status: "\r
- + UtilityService.getHttpStatusText(response.data.status)\r
- + "\n" + angular.toJson(response.data.entity, true)\r
- \r
- },\r
- checkValidStatus : checkValidStatus,\r
- getFormattedGetOrchestrationRequestsResponse : function(response) {\r
- UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);\r
- UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
- checkValidStatus(response);\r
-\r
- var list = response.data.entity.requestList\r
- UtilityService.checkUndefined(FIELD.ID.REQUEST_LIST, list);\r
-\r
- var message = "";\r
-\r
- for (var i = 0; i < list.length; i++) {\r
- var request = list[i].request;\r
- message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)\r
- + ",\n";\r
- var status = request.requestStatus;\r
- if (status === undefined) {\r
- message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
- } else {\r
- message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_STATUS,\r
- status.statusMessage)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.PERCENT_PROGRESS,\r
- status.percentProgress)\r
- + "\n";\r
- }\r
- if (i < (list.length - 1)) {\r
- message += "\n";\r
- }\r
- }\r
- return message;\r
- },\r
- getFormattedSingleGetOrchestrationRequestResponse : function (response) {\r
- UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);\r
- UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
- checkValidStatus(response);\r
-\r
- var message = "";\r
- if ( UtilityService.hasContents (response.data.entity.request) ) {\r
- var request = response.data.entity.request;\r
- message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)\r
- + ",\n";\r
- var status = request.requestStatus;\r
- if (status === undefined) {\r
- message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
- } else {\r
- message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.REQUEST_STATUS,\r
- status.statusMessage)\r
- + ",\n";\r
- message += addListEntry(FIELD.ID.PERCENT_PROGRESS,\r
- status.percentProgress)\r
- + "\n\n";\r
- }\r
- }\r
- return message;\r
- },\r
- showResponseContentError : function(error, showFunction) {\r
- switch (error.type) {\r
- case "undefinedObject":\r
- showFunction(FIELD.ERROR.SYSTEM_FAILURE, error.message);\r
- break;\r
- case "msoFailure":\r
- showFunction(FIELD.ERROR.MSO, "")\r
- break;\r
- default:\r
- showFunction(FIELD.ERROR.SYSTEM_FAILURE);\r
- }\r
- }\r
- }\r
-}\r
-\r
-appDS2.factory("MsoService", [ "$http", "$log", "PropertyService",\r
- "UtilityService", "COMPONENT", "FIELD", MsoService ]);\r
+ var requestInstanceUpdate = function(request, successCallbackFunction) {\r
+ $log.debug("MsoService:requestInstanceUpdate: request:");\r
+ $log.debug(request);\r
+ $http.post( "mso/" + request.url, {\r
+ requestDetails : request.requestDetails\r
+ }, {\r
+ timeout : PropertyService.getServerResponseTimeoutMsec()\r
+ }).then(successCallbackFunction)["catch"]\r
+ (UtilityService.runHttpErrorHandler);\r
+ };\r
+\r
+ var checkValidStatus = function(response) {\r
+ if (response.data.status < 200 || response.data.status > 202) {\r
+ throw {\r
+ type : FIELD.ID.MSO_FAILURE\r
+ }\r
+ }\r
+ };\r
+\r
+ var addListEntry = function(name, value) {\r
+ var entry = '"' + name + '": ';\r
+ if (value === undefined) {\r
+ return entry + "undefined";\r
+ } else {\r
+ return entry + '"' + value + '"';\r
+ }\r
+ };\r
+\r
+ var buildPayloadForServiceActivateDeactivate = function (model, userId) {\r
+ var requestDetails = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": model.service.invariantUuid,\r
+ "modelVersionId": model.service.uuid,\r
+ "modelName": model.service.name,\r
+ "modelVersion": model.service.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": userId\r
+ },\r
+ "requestParameters": {\r
+ // aicZone was sent from here\r
+ "userParams": []\r
+ }\r
+ };\r
+\r
+ $log.debug("Service Activate/Deactivate payload", requestDetails);\r
+\r
+ return requestDetails;\r
+\r
+ };\r
+\r
+ var buildPayloadForActivateFabricConfiguration = function (model, userId) {\r
+ var requestDetails = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": model.service.invariantUuid,\r
+ "modelVersionId": model.service.uuid,\r
+ "modelName": model.service.name,\r
+ "modelVersion": model.service.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": userId\r
+ },\r
+ "requestParameters": {\r
+ "aLaCarte": false\r
+ }\r
+ };\r
+\r
+ $log.debug("Service Activate Fabric Configuration payload", requestDetails);\r
+\r
+ return requestDetails;\r
+\r
+ };\r
+\r
+ var activateInstance = function(requestParams) {\r
+ var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId);\r
+\r
+ return sendPostRequest(COMPONENT.MSO_ACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
+ requestDetails);\r
+ };\r
+\r
+ var deactivateInstance = function(requestParams) {\r
+ var requestDetails = buildPayloadForServiceActivateDeactivate(requestParams.model, requestParams.userId);\r
+\r
+ return sendPostRequest(COMPONENT.MSO_DEACTIVATE_INSTANCE.replace('@serviceInstanceId', requestParams.instance.serviceInstanceId),\r
+ requestDetails);\r
+ };\r
+\r
+ var sendPostRequestWithBody = function(url, requestBody) {\r
+ var deferred = $q.defer();\r
+ if (url) {\r
+ $http.post(url, requestBody, {\r
+ timeout: PropertyService.getServerResponseTimeoutMsec()\r
+ }).success(function (response) {\r
+ deferred.resolve({data: response});\r
+ }).error(function (data, status) {\r
+ deferred.reject({message: data, status: status});\r
+ });\r
+ }\r
+\r
+ return deferred.promise;\r
+ };\r
+\r
+ var sendPostRequest = function(url, requestDetails) {\r
+ return sendPostRequestWithBody(url, {requestDetails: requestDetails});\r
+ };\r
+\r
+ return {\r
+ createInstance : requestInstanceUpdate,\r
+ deleteInstance : requestInstanceUpdate,\r
+ createAndDeleteInstance: function(requestParams) {\r
+ return sendPostRequest("mso/" + requestParams.url, requestParams.requestDetails);\r
+ },\r
+ getOrchestrationRequest : function(requestId, successCallbackFunction) {\r
+ $log.debug("MsoService:getOrchestrationRequest: requestId: "\r
+ + requestId);\r
+ $http.get(\r
+ "mso/mso_get_orch_req/"\r
+ + requestId + "?r=" + Math.random(),\r
+ {\r
+ timeout : PropertyService\r
+ .getServerResponseTimeoutMsec()\r
+ }).then(successCallbackFunction)["catch"]\r
+ (UtilityService.runHttpErrorHandler);\r
+ },\r
+ getOrchestrationRequests : function(filterString,\r
+ successCallbackFunction) {\r
+ $log.debug("MsoService:getOrchestrationRequests: filterString: "\r
+ + filterString);\r
+ $http.get(\r
+ "mso/mso_get_orch_reqs/"\r
+ + encodeURIComponent(filterString) + "?r="\r
+ + Math.random(),\r
+ {\r
+ timeout : PropertyService\r
+ .getServerResponseTimeoutMsec()\r
+ }).then(successCallbackFunction)["catch"]\r
+ (UtilityService.runHttpErrorHandler);\r
+ },\r
+ getFormattedCommonResponse : function(response) {\r
+ return UtilityService.getCurrentTime() + " HTTP Status: "\r
+ + UtilityService.getHttpStatusText(response.data.status)\r
+ + "\n" + angular.toJson(response.data.entity, true)\r
+\r
+ },\r
+ checkValidStatus : checkValidStatus,\r
+ getFormattedGetOrchestrationRequestsResponse : function(response) {\r
+ UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);\r
+ UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
+ checkValidStatus(response);\r
+\r
+ var list = response.data.entity.requestList;\r
+ UtilityService.checkUndefined(FIELD.ID.REQUEST_LIST, list);\r
+\r
+ var message = "";\r
+\r
+ for (var i = 0; i < list.length; i++) {\r
+ var request = list[i].request;\r
+ message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";\r
+ message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)\r
+ + ",\n";\r
+ var status = request.requestStatus;\r
+ if (status === undefined) {\r
+ message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
+ } else {\r
+ if(status.finishTime) {\r
+ message += addListEntry(FIELD.ID.TIMESTAMP, moment(new Date(status.finishTime)).format("ddd, DD MMM YYYY HH:mm:ss"))\r
+ + ",\n";\r
+ }\r
+ message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
+ + ",\n";\r
+ message += addListEntry(FIELD.ID.REQUEST_STATUS,\r
+ status.statusMessage)\r
+ + ",\n";\r
+ message += addListEntry(FIELD.ID.PERCENT_PROGRESS,\r
+ status.percentProgress)\r
+ + "\n";\r
+ }\r
+ if (i < (list.length - 1)) {\r
+ message += "\n";\r
+ }\r
+ }\r
+ return message;\r
+ },\r
+ getFormattedSingleGetOrchestrationRequestResponse : function (response) {\r
+ UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);\r
+ UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);\r
+ //checkValidStatus(response);\r
+\r
+ var message = "";\r
+ if (! (response && response.data && response.data.entity)) {\r
+ return message;\r
+ }\r
+ if ( UtilityService.hasContents (response.data.entity.request) ) {\r
+ var request = response.data.entity.request;\r
+ message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";\r
+ message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)\r
+ + ",\n";\r
+ var status = request.requestStatus;\r
+ if (status === undefined) {\r
+ message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";\r
+ } else {\r
+ message += addListEntry(FIELD.ID.TIMESTAMP, moment(new Date()).format("ddd, DD MMM YYYY HH:mm:ss"))\r
+ + ",\n";\r
+ message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)\r
+ + ",\n";\r
+ message += addListEntry(FIELD.ID.REQUEST_STATUS,\r
+ status.statusMessage)\r
+ + ",\n";\r
+ message += addListEntry(FIELD.ID.PERCENT_PROGRESS,\r
+ status.percentProgress)\r
+ + "\n\n";\r
+ }\r
+ }\r
+ else {\r
+ if (UtilityService.hasContents(response.data.status) && UtilityService.hasContents(response.data.entity)) {\r
+ message = this.getFormattedCommonResponse(response) + "\n";\r
+ }\r
+ }\r
+ return message;\r
+ },\r
+ getManualTasks : function(requestId) {\r
+ $log.debug("MsoService:getManualTasks: requestId: "\r
+ + requestId);\r
+ return $http.get(\r
+ "mso/mso_get_man_task/" + requestId,\r
+ {\r
+ timeout: PropertyService\r
+ .getServerResponseTimeoutMsec()\r
+ })\r
+ .catch(UtilityService.runHttpErrorHandler);\r
+ },\r
+ completeTask: function(taskId, taskToComplete) {\r
+ var promise = new Promise(function (resolve, reject) {\r
+ $log.debug("MsoService:completeTask: taskId: "\r
+ + taskId);\r
+ AaiService.getLoggedInUserID(function (response) {\r
+ var attuid = response.data;\r
+ var source = "VID";\r
+ var data = {\r
+ requestDetails: {\r
+ requestInfo: {\r
+ source: source,\r
+ responseValue: taskToComplete,\r
+ requestorId: attuid\r
+ }\r
+ }\r
+ };\r
+\r
+ return $http.post(\r
+ "mso/mso_post_man_task/" + taskId, data,\r
+ {\r
+ timeout: PropertyService\r
+ .getServerResponseTimeoutMsec()\r
+ }).then(function (response) {\r
+ resolve(response);\r
+ })\r
+ .catch(UtilityService.runHttpErrorHandler);\r
+ }, function () {\r
+ reject();\r
+ });\r
+ });\r
+\r
+ return promise;\r
+ },\r
+ showResponseContentError : function(error, showFunction) {\r
+ switch (error.type) {\r
+ case "undefinedObject":\r
+ showFunction(FIELD.ERROR.SYSTEM_FAILURE, error.message);\r
+ break;\r
+ case "msoFailure":\r
+ showFunction(FIELD.ERROR.MSO, "");\r
+ break;\r
+ default:\r
+ showFunction(FIELD.ERROR.SYSTEM_FAILURE);\r
+ }\r
+ },\r
+ activateInstance: activateInstance,\r
+ deactivateInstance: deactivateInstance,\r
+\r
+\r
+ createConfigurationInstance: function(requestParams) {\r
+\r
+ const modelInfoOf = function (instance) {\r
+ const modelInfo = {\r
+ "modelType": "vnf",\r
+ "modelInvariantId": instance.properties['model-invariant-id'],\r
+ "modelVersionId": instance.properties['model-version-id'],\r
+ "modelName": instance.properties['model-name'],\r
+ "modelVersion": instance.properties['model-version'],\r
+ "modelCustomizationId": instance.properties['model-customization-id']\r
+ };\r
+\r
+ $log.debug("model info from instance", instance);\r
+ $log.debug("model info to model", modelInfo);\r
+\r
+ return modelInfo\r
+ };\r
+\r
+ var payload = {\r
+ "requestDetails": {\r
+ "modelInfo": {\r
+ "modelType": "configuration",\r
+ "modelInvariantId": requestParams.configurationModelInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.configurationModelInfo.modelNameVersionId,\r
+ "modelName": requestParams.configurationModelInfo.modelName, // "Port Mirroring Configuration"\r
+ "modelVersion": requestParams.configurationModelInfo.modelVersion,\r
+ "modelCustomizationId": requestParams.configurationModelInfo.customizationUuid,\r
+ "modelCustomizationName": requestParams.configurationModelInfo.modelCustomizationName\r
+ },\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": requestParams.portMirroringConfigFields.lcpRegion.value\r
+ },\r
+ "requestInfo": {\r
+ "instanceName": requestParams.portMirroringConfigFields.instanceName.value,\r
+ "source": "VID",\r
+ "requestorId": requestParams.attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.topServiceInstanceId,\r
+ "modelInfo": {\r
+ "modelType": "service", // relatedTopModelsInfo.modelType\r
+ "modelInvariantId": requestParams.relatedTopModelsInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.relatedTopModelsInfo.modelNameVersionId,\r
+ "modelName": requestParams.relatedTopModelsInfo.modelName,\r
+ "modelVersion": requestParams.relatedTopModelsInfo.modelVersion\r
+ }\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portMirroringConfigFields.sourceInstance.properties['vnf-id'],\r
+ "instanceDirection": "source",\r
+ "modelInfo": modelInfoOf(requestParams.portMirroringConfigFields.sourceInstance)\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": requestParams.configurationByPolicy ? {\r
+ "instanceName": requestParams.portMirroringConfigFields.destinationInstance.properties['pnfName'],\r
+ "instanceDirection": "destination",\r
+ "modelInfo": {\r
+ "modelType": "pnf"\r
+ }\r
+ } : {\r
+ "instanceId": requestParams.portMirroringConfigFields.destinationInstance.properties['vnf-id'],\r
+ "instanceDirection": "destination",\r
+ "modelInfo": modelInfoOf(requestParams.portMirroringConfigFields.destinationInstance)\r
+ }\r
+ }\r
+ ],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ var deferred = $q.defer();\r
+ $http.post([\r
+ 'mso','mso_create_configuration_instance',\r
+ requestParams.topServiceInstanceId,\r
+ 'configurations',''\r
+ ].join(COMPONENT.FORWARD_SLASH),\r
+ payload)\r
+ .success(function (response) {\r
+ deferred.resolve({data : response});\r
+ }).error(function (data, status) {\r
+ deferred.reject({message: data, status: status});\r
+ });\r
+ return deferred.promise;\r
+ },\r
+ deleteConfiguration: function(requestParams, configuration) {\r
+\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": configuration.configData.cloudRegionId\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ };\r
+\r
+ var url = "mso/mso_delete_configuration/" + requestParams.serviceInstanceId + "/configurations/" + requestParams.configurationId;\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+ toggleConfigurationStatus: function(requestParams, configuration) {\r
+\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": configuration && configuration.configData ? configuration.configData.cloudRegionId : null\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [{\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.configStatus) {\r
+ case FIELD.STATUS.AAI_CREATED:\r
+ case FIELD.STATUS.AAI_INACTIVE:\r
+ url = "mso/mso_activate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_ACTIVE:\r
+ url = "mso/mso_deactivate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ togglePortStatus: function(requestParams, configuration, defaultParams) {\r
+\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": configuration && configuration.configData ? configuration.configData.cloudRegionId : null\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portId,\r
+ "instanceDirection": "source",\r
+ "modelInfo": {\r
+ "modelType": "connectionPoint"\r
+ }\r
+ }\r
+ }\r
+ ]\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.portStatus) {\r
+ case FIELD.STATUS.AAI_ENABLED:\r
+ url = "mso/mso_disable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_DISABLED:\r
+ url = "mso/mso_enable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ buildPayloadForAssociateDissociate: function(serviceModelInfo, attuuid, instanceId, pnf) {\r
+ var payload = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": serviceModelInfo.invariantUuid,\r
+ "modelVersionId": serviceModelInfo.uuid,\r
+ "modelName": serviceModelInfo.name,\r
+ "modelVersion": serviceModelInfo.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceName": pnf,\r
+ "modelInfo": {\r
+ "modelType": "pnf"\r
+ }\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "aLaCarte": true\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ return payload;\r
+ },\r
+ associatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.instanceId, requestParams.pnf);\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_CREATE_REALATIONSHIP,\r
+ requestParams.instanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ },\r
+ dissociatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.serviceInstanceId, requestParams.pnf);\r
+\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_REMOVE_RELATIONSHIP,\r
+ requestParams.serviceInstanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ }\r
+ }\r
+};\r
+\r
+appDS2.factory("MsoService", MsoService );\r