699868477b0cd375a830cf15f42d23aad76eb867
[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.getMSOChangeManagements = function() {
34             var deferred = $q.defer();
35
36             $http.get(COMPONENT.GET_MSO_WORKFLOWS)
37             .success(function (response) {
38                 deferred.resolve({data: response});
39             })
40             .error(function(data, status, headers, config) {
41                 deferred.reject({message: data, status: status});
42             });
43
44             return deferred.promise;
45         };
46
47         this.getAllSDCServices = function () {
48             var deferred = $q.defer();
49
50             $http.get(COMPONENT.SERVICES_DIST_STATUS_PATH + VIDCONFIGURATION.ASDC_MODEL_STATUS)
51             .success(function (response) {
52                 deferred.resolve({data: response});
53             })
54             .error(function(data, status, headers, config) {
55                 deferred.reject({message: data, status: status});
56             });
57
58             return deferred.promise;
59         };
60
61         this.getSDCService = function(uuid) {
62             var deferred = $q.defer();
63
64             $http.get(COMPONENT.SERVICES_PATH + uuid)
65             .success(function (response) {
66                 deferred.resolve({data: response});
67             })
68             .error(function(data, status, headers, config) {
69                 deferred.reject({message: data, status: status});
70             });
71
72             return deferred.promise;
73         };
74
75         this.getSchedulerChangeManagements = function(){
76             var deferred = $q.defer();
77
78             $http.get(COMPONENT.GET_SCHEDULER_CHANGE_MANAGEMENTS)
79                 .success(function (response) {
80                     deferred.resolve({data: response});
81                 })
82                 .error(function(data, status, headers, config) {
83                     deferred.reject({message: data, status: status});
84                 });
85
86             return deferred.promise;
87         };
88                 
89                 this.postChangeManagementNow = function (requestData, vnfName) {
90                         var url = COMPONENT.CHANGE_MANAGEMENT_OPERATION_NO_SCHEDULER.replace('@vnfName', vnfName);
91             return $http.post(url, requestData)
92             .success(function (response) {
93                 return {data: response};
94             })
95                 .catch(function (err) {
96                     return {data: []};
97                 });
98         };
99
100         this.postChangeManagementScaleOutNow = function (requestData, serviceInstanceId, vnfId) {
101             var url = "mso/mso_create_vfmodule_instance/"+serviceInstanceId+"/vnfs/"+vnfId;
102             return $http.post(url, requestData)
103                 .success(function (response) {
104                     return {data: response};
105                 })
106                 .catch(function (err) {
107                     return {data: []};
108                 });
109         };
110     }
111 })();