blob: 5a7d43506501eff0d7091d8f9f0e82447d03fd6c [file] [log] [blame]
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -07001(function () {
2 angular.module('mCord')
Matteo Scandolo3b82a592016-06-21 12:10:35 +02003 .service('Profile', function($injector, $resource, $q, $http, baseUrl){
4 const r = $resource(`${baseUrl}onos/progran/profile/:id`, {id: '@Name'}, {
Matteo Scandolo3b3eee82016-06-23 16:38:04 -07005 save: {
6 method: 'PUT'
7 },
8 $save: {
9 method: 'PUT'
10 },
Matteo Scandolo3b82a592016-06-21 12:10:35 +020011 query: {
12 array: false,
13 interceptor: {
14 response: function(res){
15 const Profile = $injector.get('Profile');
16 return res.data.ProfileArray.map(p => new Profile(p));
17 }
18 }
19 },
20 get: {
21 array: false,
22 interceptor: {
23 response: function(res){
24 const Profile = $injector.get('Profile');
25 return new Profile(res.data.ProfileArray[0]);
26 }
27 }
28 }
29 });
Matteo Scandoloe23060c2016-06-14 14:50:23 -070030
Matteo Scandolo3b3eee82016-06-23 16:38:04 -070031 // Override the default save method,
32 // Name is the key, so the $resource will try to update
33 r.save = function(data){
34 const d = $q.defer();
35 $http.post(`${baseUrl}onos/progran/profile/`, data)
36 .then(res => {
37 d.resolve(res.data);
38 })
39 .catch(err => {
40 d.reject(err)
41 });
42 return {$promise: d.promise};
43 };
44
Matteo Scandoloe23060c2016-06-14 14:50:23 -070045 r.prototype.getImsis = function(){
46 const d = $q.defer();
47
Matteo Scandolo3b82a592016-06-21 12:10:35 +020048 $http.get(`${baseUrl}onos/progran/profile/${this.Name}/imsi`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -070049 .then(res => {
50 d.resolve(res.data);
51 })
52 .catch(err => {
53 d.reject(err)
54 });
55
56 return d.promise;
57 };
58
Matteo Scandolo3b3eee82016-06-23 16:38:04 -070059 // this is under profile
60 r.prototype.addImsi = function(data){
61 const d = $q.defer();
62 let body = {'IMSIRuleArray': [data.IMSI]};
63 $http.post(`${baseUrl}onos/progran/profile/${this.Name}/imsi`, body)
64 .then(res => {
65 d.resolve(res.data);
66 })
67 .catch(err => {
68 d.reject(err)
69 });
70
71 return d.promise;
72 };
73
Matteo Scandoloe23060c2016-06-14 14:50:23 -070074 r.prototype.deleteImsis = function(){
75 const d = $q.defer();
76
Matteo Scandolo3b82a592016-06-21 12:10:35 +020077 $http.delete(`${baseUrl}onos/progran/profile/${this.Name}/imsi`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -070078 .then(res => {
79 d.resolve(res.data);
80 })
81 .catch(err => {
82 d.reject(err)
83 });
84
85 return d.promise;
86 };
87
88 r.prototype.deleteImsi = function(id){
89 const d = $q.defer();
90
Matteo Scandolo3b82a592016-06-21 12:10:35 +020091 $http.delete(`${baseUrl}onos/progran/profile/${this.Name}/imsi/${id}`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -070092 .then(res => {
93 d.resolve(res.data);
94 })
95 .catch(err => {
96 d.reject(err)
97 });
98
99 return d.promise;
100 };
101
102 r.prototype.getEnodes = function(){
103 const d = $q.defer();
104
Matteo Scandolo3b82a592016-06-21 12:10:35 +0200105 $http.get(`${baseUrl}onos/progran/profile/${this.Name}/enodeb`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -0700106 .then(res => {
107 d.resolve(res.data);
108 })
109 .catch(err => {
110 d.reject(err)
111 });
112
113 return d.promise;
114 };
115
116 r.prototype.deleteEnodes = function(){
117 const d = $q.defer();
118
Matteo Scandolo3b82a592016-06-21 12:10:35 +0200119 $http.delete(`${baseUrl}onos/progran/profile/${this.Name}/enodeb`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -0700120 .then(res => {
121 d.resolve(res.data);
122 })
123 .catch(err => {
124 d.reject(err)
125 });
126
127 return d.promise;
128 };
129
130 r.prototype.deleteEnode = function(id){
131 const d = $q.defer();
132
Matteo Scandolo3b3eee82016-06-23 16:38:04 -0700133 $http.delete(`${baseUrl}onos/progran/enodeb/${id}/profile/${this.Name}`)
Matteo Scandoloe23060c2016-06-14 14:50:23 -0700134 .then(res => {
135 d.resolve(res.data);
136 })
137 .catch(err => {
138 d.reject(err)
139 });
140
141 return d.promise;
142 };
143
144 return r;
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -0700145 })
146})();