blob: d7d0f7ca13826d89b4aa803c01274ab8ae3a0014 [file] [log] [blame]
Matteo Scandolobf7c3662016-06-02 20:30:15 -07001(function () {
2 angular.module('mCord')
Matteo Scandolo3b82a592016-06-21 12:10:35 +02003 .service('Enodeb', function($injector, $resource, $q, $http, baseUrl){
4 const r = $resource(`${baseUrl}onos/progran/enodeb/:id`, {id: '@eNBId'}, {
Matteo Scandolo3b3eee82016-06-23 16:38:04 -07005 //save: {method: 'PUT'},
Matteo Scandolo3b82a592016-06-21 12:10:35 +02006 query: {
7 array: false,
8 interceptor: {
9 response: function(res){
10 const Enodeb = $injector.get('Enodeb');
11 return res.data.EnodeBArray.map(n => new Enodeb(n));
12 }
13 }
14 },
15 get: {
16 array: false,
17 interceptor: {
18 response: function(res){
19 const Enodeb = $injector.get('Enodeb');
20 return new Enodeb(res.data.EnodeBArray[0]);
21 }
22 }
23 }
Matteo Scandolobe342fa2016-06-08 15:54:55 -070024 });
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -070025
Matteo Scandolo3b3eee82016-06-23 16:38:04 -070026 // Override the default save method,
27 // Name is the key, so the $resource will try to update
28 r.save = function(data){
29 const d = $q.defer();
30 $http.post(`${baseUrl}onos/progran/enodeb/`, data)
31 .then(res => {
32 d.resolve(res.data);
33 })
34 .catch(err => {
35 d.reject(err)
36 });
37 return {$promise: d.promise};
38 };
39
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -070040 r.prototype.getProfiles = function(){
41 const d = $q.defer();
42
Matteo Scandolo3b82a592016-06-21 12:10:35 +020043 $http.get(`${baseUrl}onos/progran/enodeb/${this.eNBId}/profile`)
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -070044 .then(res => {
45 d.resolve(res.data);
46 })
47 .catch(err => {
48 d.reject(err)
49 });
50
51 return d.promise;
52 };
53
Matteo Scandolo3b3eee82016-06-23 16:38:04 -070054 r.prototype.addProfile = function(data){
55 const d = $q.defer();
56 data = {'ProfileArray': [data.Name]};
57 $http.post(`${baseUrl}onos/progran/enodeb/${this.eNBId}/profile`, data)
58 .then(res => {
59 d.resolve(res.data);
60 })
61 .catch(err => {
62 d.reject(err)
63 });
64
65 return d.promise;
66 };
67
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -070068 r.prototype.getStats = function(){
69 const d = $q.defer();
Matteo Scandolo3b82a592016-06-21 12:10:35 +020070 $http.get(`${baseUrl}onos/progran/stats/enodeb/${this.eNBId}/10`)
Matteo Scandolo2c2c8af2016-06-03 15:36:02 -070071 .then(res => {
72 d.resolve(res.data);
73 })
74 .catch(err => {
75 d.reject(err)
76 });
77
78 return d.promise;
79 };
80
81 return r;
Matteo Scandolobf7c3662016-06-02 20:30:15 -070082 })
83})();