[CORD-1043] Fine-grained service graph first draft

Change-Id: I16566b0c38dda64fa920120ce16ea699ca157279
diff --git a/src/app/service-graph/interfaces.ts b/src/app/service-graph/interfaces.ts
index ab80c79..e08bc78 100644
--- a/src/app/service-graph/interfaces.ts
+++ b/src/app/service-graph/interfaces.ts
@@ -1,5 +1,6 @@
 export interface IXosServiceModel {
   id: number;
+  d3Id?: string;
   backend_status: string;
   kind: string;
   name: string;
@@ -8,6 +9,7 @@
 
 export interface IXosTenantModel {
   id: number;
+  d3Id?: string;
   backend_status: string;
   kind: string;
 
@@ -17,10 +19,11 @@
   // destination
   subscriber_service_id: number;
   subscriber_tenant_id: number;
-  subscriber_user_id: number;
   subscriber_root_id: number;
   subscriber_network_id: number;
 
+  subscriber_user_id: number;
+
   // extra informations
   service_specific_id: string;
   service_specific_attribute: string;
@@ -35,13 +38,18 @@
   tenants: IXosTenantModel[];
 }
 
+export interface IXosFineGrainedGraphData extends IXosCoarseGraphData {
+  subscribers: IXosServiceModel[];
+  networks: IXosTenantModel[];
+}
+
 export interface IXosServiceGraphNodeBadge {
   type: 'info'|'success'|'warning'|'danger';
   text: string;
 }
 
 export interface IXosServiceGraphNode {
-  id: number;
+  id: number | string;
   label: string;
   x?: number;
   y?: number;
@@ -49,10 +57,11 @@
   py?: number;
   badge?: IXosServiceGraphNodeBadge;
   model: IXosServiceModel;
+  type: 'service' | 'tenant' | 'network' | 'subscriber';
 }
 
 export interface IXosServiceGraphLink {
-  id: number;
+  id: number | string;
   source: number;
   target: number;
   model: IXosTenantModel;