Initial commit of vBd Manager functions.
[honeycomb.git] / vbd / gui / module / src / main / resources / vpp / services / bdm.vpp.service.js
index b817a75..0a24c23 100644 (file)
@@ -38,14 +38,40 @@ define(['app/vpp/vpp.module'], function(vpp) {
         s.get = function(bridgeDomainId, successCallback, errorCallback) {
             var restObj = VPPRestangular.one('restconf').one('config').one('network-topology:network-topology').one('topology').one(bridgeDomainId);
 
-            restObj.get().then(function(data) {
+            return restObj.get().then(function(data) {
                 successCallback(data);
             }, function(res) {
                 errorCallback(res.data, res.status);
             });
         };
 
+        s.getOne = 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);
 
+            return restObj.get().then(function(data) {
+                successCallback(data);
+            }, function(res) {
+                errorCallback(res.data, res.status);
+            });
+        };
+
+        s.checkAndWriteVpp = function(bridgeDomainId, vppId, successCallback, errorCallback) {
+             s.getOne(bridgeDomainId, vppId,
+                function() {
+                    successCallback();
+                }, function() {
+                    var vppObject = s.createObj(vppId, vppId);
+
+                    s.add(vppObject, bridgeDomainId,  function() {
+                        successCallback();
+                    }, function() {
+                        errorCallback();
+                    });
+                }
+            );
+
+            //getPromise.then
+        };
         return s;
     });
 });
\ No newline at end of file