Added subscriber as root for the service chain
diff --git a/gui/ngXosViews/serviceTopology/src/js/services.js b/gui/ngXosViews/serviceTopology/src/js/services.js
index a39a1a6..d6d2fa8 100644
--- a/gui/ngXosViews/serviceTopology/src/js/services.js
+++ b/gui/ngXosViews/serviceTopology/src/js/services.js
@@ -14,6 +14,9 @@
.service('Instances', function($resource){
return $resource('/xos/instances', {id: '@id'});
})
+ .service('Subscribers', function($resource){
+ return $resource('/xos/subscribers', {id: '@id'});
+ })
.service('ServiceRelation', function($q, _, lodash, Services, Tenant){
// find all the relation defined for a given root
@@ -35,8 +38,6 @@
const buildLevel = (tenants, services, rootService, parentName = null) => {
- console.log(rootService);
-
const tree = {
name: rootService.humanReadableName,
parent: parentName,
@@ -64,20 +65,26 @@
return tree;
};
- const buildServiceTree = (services, tenants) => {
+ const buildServiceTree = (services, tenants, subscriber = {id:1, name: 'fakeSubs'}) => {
// find the root service
// it is the one attached to subsriber_root
// as now we have only one root so this can work
- const rootServiceId = lodash.find(tenants, {subscriber_root: 1}).provider_service;
+ const rootServiceId = lodash.find(tenants, {subscriber_root: subscriber.id}).provider_service;
const rootService = lodash.find(services, {id: rootServiceId});
const serviceTree = buildLevel(tenants, services, rootService);
- return serviceTree;
+ return {
+ name: subscriber.name,
+ parent: null,
+ children: [serviceTree]
+ };
+
+ //return serviceTree;
};
- this.get = () => {
+ const get = (subscriber) => {
var deferred = $q.defer();
var services, tenants;
Services.query().$promise
@@ -87,7 +94,7 @@
})
.then((res) => {
tenants = res;
- deferred.resolve(buildServiceTree(services, tenants));
+ deferred.resolve(buildServiceTree(services, tenants, subscriber));
})
.catch((e) => {
throw new Error(e);
@@ -95,6 +102,12 @@
return deferred.promise;
}
+
+ this.get = get;
+ this.buildLevel = buildLevel;
+ this.buildServiceTree = buildServiceTree;
+ this.findLevelRelation = findLevelRelation;
+ this.findLevelServices = findLevelServices;
});
}());
\ No newline at end of file
diff --git a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
index 0df7bd6..a333adf 100644
--- a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
+++ b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
@@ -9,7 +9,7 @@
bindToController: true,
controllerAs: 'vm',
templateUrl: 'templates/topology_canvas.tpl.html',
- controller: function($element, $window, d3, serviceTopologyConfig, ServiceRelation, Slice, Instances){
+ controller: function($element, $window, d3, serviceTopologyConfig, ServiceRelation, Slice, Instances, Subscribers){
this.instances = [];
this.slices = [];
@@ -200,6 +200,10 @@
.duration(duration)
.attr('r', 30);
+ if(!d.service){
+ return;
+ }
+
_this.selectedService = {
id: d.id,
name: d.name
@@ -248,7 +252,11 @@
})
};
- ServiceRelation.get()
+ Subscribers.query().$promise
+ .then((subscribers) => {
+ this.subscribers = subscribers;
+ return ServiceRelation.get(subscribers[0])
+ })
.then((tree) => {
draw(tree);
});
diff --git a/gui/ngXosViews/serviceTopology/src/templates/users-list.tpl.html b/gui/ngXosViews/serviceTopology/src/templates/users-list.tpl.html
deleted file mode 100644
index 2983ad0..0000000
--- a/gui/ngXosViews/serviceTopology/src/templates/users-list.tpl.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<div class="row">
- <h1>Users List</h1>
- <p>This is only an example view.</p>
-</div>
-<div class="row">
- <div class="span4">Email</div>
- <div class="span4">First Name</div>
- <div class="span4">Last Name</div>
-</div>
-<div class="row" ng-repeat="user in vm.users">
- <div class="span4">{{user.email}}</div>
- <div class="span4">{{user.firstname}}</div>
- <div class="span4">{{user.lastname}}</div>
-</div>
\ No newline at end of file