Adding and removing instances from the Global Slice

Change-Id: Ib6658d643f2e468e43084b0fd8f11020f0975c40
diff --git a/views/ngXosViews/globalXos/src/js/rest.js b/views/ngXosViews/globalXos/src/js/rest.js
index 012daa8..2ad47bc 100644
--- a/views/ngXosViews/globalXos/src/js/rest.js
+++ b/views/ngXosViews/globalXos/src/js/rest.js
@@ -94,15 +94,58 @@
       });
 
       return d.promise;
+    };
+
+    this.getUserByName = (xos, username) => {
+      const d = $q.defer();
+      console.log(username);
+      $http.get(`${xos.auth_url}api/core/users/`, {
+        params: {
+          username: username
+        },
+        headers: {
+          Authorization: `Basic ${btoa(xos.admin_user + ':' + xos.admin_password)}`
+        }
+      })
+      .then((res) => {
+        d.resolve(res.data[0]);
+      })
+      .catch(e => {
+        d.reject(e);
+      });
+
+      return d.promise;
     }
   })
-  .service('LocalSlices', function(GXOS){
+  .service('LocalSlices', function($q, $http, GXOS){
     const baseUrl = `api/utility/slicesplus/`;
 
     // TODO build a global resource
     this.queryFromAll = (targets) => {
       return GXOS.buildQueryEndpoint(baseUrl, targets)();
     };
+
+    this.getLocalByName = (xos, sliceName) => {
+      const d = $q.defer();
+
+      $http.get(`${xos.auth_url}${baseUrl}`, {
+        // params: params,
+        headers: {
+          Authorization: `Basic ${btoa(xos.admin_user + ':' + xos.admin_password)}`
+        }
+      })
+      .then((res) => {
+        const slice = _.filter(res.data, (s) => {
+          return s.name.indexOf(sliceName) > -1;
+        });
+        d.resolve(slice[0]);
+      })
+      .catch(e => {
+        d.reject(e);
+      });
+
+      return d.promise;
+    };
   })
   .service('LocalUsers', function(GXOS){
     const baseUrl = `api/core/users/`;
@@ -155,6 +198,24 @@
       return d.promise;
     };
 
+    this.deleteFromLocal = (instance) => {
+      console.log('deleteFromLocal');
+      const d = $q.defer();
+      $http.delete(`${instance.xos.auth_url}${baseUrl}${instance.id}/`, {
+        headers: {
+          Authorization: `Basic ${btoa(instance.xos.admin_user + ':' + instance.xos.admin_password)}`
+        }
+      })
+        .then((inst) => {
+          d.resolve(inst.data);
+        })
+        .catch(e => {
+          d.reject(e);
+        });
+
+      return d.promise;
+    };
+
     this.getLocalInfo = (xos) => {
       const d = $q.defer();
       $q.all([