vBDManager services initial commit
[honeycomb.git] / vbd / gui / module / src / main / resources / vpp / services / bdm.interface.service.js
index 9dca2d2..341fb5d 100644 (file)
@@ -5,10 +5,43 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-define(['app/vpp/vpp.module', 'next'], function(vpp) {
-    vpp.register.factory('bdmInterfaceService', function(VPPRestangular, VPPRestangularXml) {
+define(['app/vpp/vpp.module'], function(vpp) {
+    vpp.register.factory('bdmInterfaceService', function(VPPRestangular) {
         var s = {};
 
+        var Interface = function(tpId, interfaceName) {
+            this['tp-id'] = tpId || null;
+            this['vbridge-topology:user-interface'] = interfaceName;
+        };
+
+        s.createObj = function(tpId, interfaceName) {
+            return new Interface(tpId, interfaceName);
+        };
+
+        s.add = function(interface, bridgeDomainId, vppId, successCallback, errorCallback) {
+            var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology')
+                .one('topology').one(bridgeDomainId).one('node').one(vppId).one('termination-point').one(interface['tp-id']);
+            var dataObj = {'termination-point': [interface]};
+
+            restObj.customPUT(dataObj).then(function(data) {
+                successCallback(data);
+            }, function(res) {
+                errorCallback(res.data, res.status);
+            });
+        };
+
+        s.get = function(bridgeDomainId, vppId, successCallback, errorCallback) {
+            var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology')
+                .one('topology').one(bridgeDomainId).one('node').one(vppId);
+
+            restObj.get().then(function(data) {
+                successCallback(data);
+            }, function(res) {
+                errorCallback(res.data, res.status);
+            });
+        };
+
+
         return s;
     });
 });
\ No newline at end of file