Fixed diagnostic dashboard
Change-Id: Ic46da11d822fd5b4e381a5846dfe4203d03a8849
diff --git a/views/ngXosViews/diagnostic/src/js/rest_services.js b/views/ngXosViews/diagnostic/src/js/rest_services.js
index fa2fc8f..50a276c 100644
--- a/views/ngXosViews/diagnostic/src/js/rest_services.js
+++ b/views/ngXosViews/diagnostic/src/js/rest_services.js
@@ -163,80 +163,30 @@
}
});
})
- .service('Subscribers', function($resource, $q, SubscriberDevice){
- return $resource('/xoslib/cordsubscriber/:id', {id: '@id'}, {
- update: {
- method: 'PUT',
- isArray: false
- },
- queryWithDevices: {
- method: 'GET',
- isArray: true,
- interceptor: {
- response: function(res){
+ // TODO extend the resource in xosLib
+ .service('SubscribersWithDevice', function($http, $q, Subscribers){
- /**
- * For each subscriber retrieve devices and append them
- */
+ this.get = (s) => {
+ const d = $q.defer();
+ let subscriber;
- let deferred = $q.defer();
+ Subscribers.get({id: s.id}).$promise
+ .then(res => {
+ subscriber = res;
+ return $http.get(`/api/tenant/cord/subscriber/${subscriber.id}/devices/`);
+ })
+ .then(res => {
+ res.data.map(d => d.type = 'device');
+ subscriber.devices = res.data;
+ subscriber.type = 'subscriber';
+ d.resolve(subscriber);
+ })
+ .catch(err => {
+ d.reject(err);
+ });
+ return {$promise: d.promise};
+ };
- let requests = [];
-
- angular.forEach(res.data, (subscriber) => {
- requests.push(SubscriberDevice.query({id: subscriber.id}).$promise);
- })
-
- $q.all(requests)
- .then((list) => {
-
- // adding devices
-
- res.data.map((subscriber, i) => {
- subscriber.devices = list[i];
- subscriber.type = 'subscriber';
-
- subscriber.devices.map(d => d.type = 'device')
-
- return subscriber;
- });
-
- // faking to have 2 subscriber
- // res.data.push(angular.copy(res.data[0]));
-
- deferred.resolve(res.data);
- })
-
- return deferred.promise;
- }
- }
- },
- getWithDevices: {
- method: 'GET',
- isArray: false,
- interceptor: {
- response: (res) => {
- let d = $q.defer();
-
- SubscriberDevice.query({id: res.data.id}).$promise
- .then(devices => {
- devices.map(d => d.type = 'device');
- res.data.devices = devices;
- res.data.type = 'subscriber';
- d.resolve(res.data);
- })
- .catch(err => {
- d.reject(err);
- });
-
- return d.promise;
- }
- }
- }
- });
- })
- .service('SubscriberDevice', function($resource){
- return $resource('/xoslib/rs/subscriber/:id/users/', {id: '@id'});
})
.service('ServiceRelation', function($q, _, Services, Tenant, Slice, Instances){