Endpoints
[groupbasedpolicy.git] / groupbasedpolicy-ui / module / src / main / resources / gbp / endpoints / endpoint.service.js
index 468d55294811fd786983044e069249fa4b3c06e8..fca475366c59a1621b46144b49b3925cc7a138a8 100644 (file)
@@ -18,10 +18,9 @@ define([], function () {
             this.data = {};
             this.data['endpoint-group'] = [];
             this.data.condition = [];
+
             /* methods */
             this.setData = setData;
-            this.get = get;
-            // this.put = put;
             this.post = post;
             this.deleteEndpoint = deleteEndpoint;
 
@@ -30,6 +29,7 @@ define([], function () {
              * fills Endpoint object with data
              * @param data
              */
+
             function setData(data) {
                 this.data['context-type'] = data['context-type'];
                 this.data['context-id'] = data['context-id'];
@@ -37,31 +37,19 @@ define([], function () {
                 this.data.address = data.address;
                 this.data['network-containment'] = data['network-containment'];
                 this.data.tenant = data.tenant;
-                this.data.timestamp = Date();
-                this.data['endpoint-group'] = data['endpoint-group'];
+                this.data['endpoint-group'] = data['endpoint-group'] ? data['endpoint-group'] : [];
+                this.data.condition = data.condition ? data.condition : [];
+                this.data.timestamp = data.timestamp ? data.timestamp : Date();
+                if (this.data['absolute-location']){
+                    this.data['absolute-location']['internal-node'] = data['absolute-location']['internal-node'];
+                    this.data['absolute-location']['internal-node-connector'] = data['absolute-location']['internal-node-connector'];
+                }
             }
             /**
              * gets one Endpoint object from Restconf
              * @param id
              * @returns {*}
              */
-            function get() {
-                var self = this;
-
-                var restObj = Restangular
-                    .one('restconf')
-                    .one('config')
-                    .one('policy:tenants')
-                    .one('tenant')
-                    .one(id)
-                    .one('policy')
-                    .one('Endpoint')
-                    .one(id);
-
-                return restObj.get().then(function (data) {
-                    self.setData(data.Endpoint[0]);
-                });
-            }
 
             function post(successCbk) {
 
@@ -81,26 +69,31 @@ define([], function () {
                 });
             }
 
-            function deleteEndpoint(id, successCallback) {
-                var self = this;
-
+            function deleteEndpoint(successCallback) {
+                var self = this,
+                    tmpEndpointObject = {
+                        'context-type': self.data['context-type'],
+                        'context-id': self.data['context-id'],
+                        'address': self.data.address,
+                        'address-type': self.data['address-type'],
+                    };
                 var restObj = Restangular
-                    .one('restconf')
-                    .one('config')
-                    .one('policy:tenants')
-                    .one('tenant')
-                    .one(id)
-                    .one('policy')
-                    .one('Endpoint')
-                    .one(self.data.id);
-
-                return restObj.remove().then(function (data) {
+                        .one('restconf')
+                        .one('operations')
+                        .one('base-endpoint:unregister-endpoint'),
+                    reqData = {
+                        'input': {
+                            'address-endpoint-unreg': [
+                                tmpEndpointObject,
+                            ],
+                        },
+                    };
+                return restObj.customPOST(reqData).then(function (data) {
                     successCallback(data);
                 }, function () {
 
                 });
             }
-
         }
 
         /**