Introduced dynamic workflow properties in VID FE
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / change-management.service.js
1 (function () {
2     'use strict';
3
4     appDS2.service('changeManagementService', ['$http', '$q', 'COMPONENT', 'VIDCONFIGURATION', changeManagementService]);
5
6     function changeManagementService($http, $q, COMPONENT, VIDCONFIGURATION) {
7         this.getWorkflows = function (vnfs) {
8             var requestVnfs = _.map(vnfs, function (vnf) {
9                 return {
10                     UUID: vnf["modelVersionId"],
11                     invariantUUID: vnf["invariant-id"]
12                 };
13             });
14             var requestDetails = {vnfsDetails: requestVnfs};
15             return $http.post(COMPONENT.GET_WORKFLOW, requestDetails)
16             .success(function (response) {
17                 return {data: response};
18             })
19                 .catch(function (err) {
20                     return {data: []};
21                 });
22         };
23
24         this.getSOWorkflows = function (vnfNames) {
25             return $http.get(COMPONENT.GET_SO_WORKFLOWS, {params: {vnfName: vnfNames}})
26             .success(function (response) {
27                 return {data: response};
28             }).catch(function () {
29                 return {data: []};
30             });
31         };
32
33         this.getSOWorkflowParameter = function (workflowID){
34           return $http.get(COMPONENT.GET_SO_WORKFLOW_PARAMETER.replace('@workflowID', workflowID))
35           .success(function (response) {
36             return {data: response.parameterDefinitions}
37           });
38         };
39
40         this.getMSOChangeManagements = function() {
41             var deferred = $q.defer();
42
43             $http.get(COMPONENT.GET_MSO_WORKFLOWS)
44             .success(function (response) {
45                 deferred.resolve({data: response});
46             })
47             .error(function(data, status, headers, config) {
48                 deferred.reject({message: data, status: status});
49             });
50
51             return deferred.promise;
52         };
53
54         this.getAllSDCServices = function () {
55             var deferred = $q.defer();
56
57             $http.get(COMPONENT.SERVICES_DIST_STATUS_PATH + VIDCONFIGURATION.ASDC_MODEL_STATUS)
58             .success(function (response) {
59                 deferred.resolve({data: response});
60             })
61             .error(function(data, status, headers, config) {
62                 deferred.reject({message: data, status: status});
63             });
64
65             return deferred.promise;
66         };
67
68         this.getSDCService = function(uuid) {
69             var deferred = $q.defer();
70
71             $http.get(COMPONENT.SERVICES_PATH + uuid)
72             .success(function (response) {
73                 deferred.resolve({data: response});
74             })
75             .error(function(data, status, headers, config) {
76                 deferred.reject({message: data, status: status});
77             });
78
79             return deferred.promise;
80         };
81
82         this.getSchedulerChangeManagements = function(){
83             var deferred = $q.defer();
84
85             $http.get(COMPONENT.GET_SCHEDULER_CHANGE_MANAGEMENTS)
86                 .success(function (response) {
87                     deferred.resolve({data: response});
88                 })
89                 .error(function(data, status, headers, config) {
90                     deferred.reject({message: data, status: status});
91                 });
92
93             return deferred.promise;
94         };
95                 
96                 this.postChangeManagementNow = function (requestData, vnfName) {
97                         var url = COMPONENT.CHANGE_MANAGEMENT_OPERATION_NO_SCHEDULER.replace('@vnfName', vnfName);
98             return $http.post(url, requestData)
99             .success(function (response) {
100                 return {data: response};
101             })
102                 .catch(function (err) {
103                     return {data: []};
104                 });
105         };
106
107         this.postChangeManagementScaleOutNow = function (requestData, serviceInstanceId, vnfId) {
108             var url = "mso/mso_create_vfmodule_instance/"+serviceInstanceId+"/vnfs/"+vnfId;
109             return $http.post(url, requestData)
110                 .success(function (response) {
111                     return {data: response};
112                 })
113                 .catch(function (err) {
114                     return {data: []};
115                 });
116         };
117     }
118 })();