r21368: Adapy Json to the new ldb functions return object, this
authorSimo Sorce <idra@samba.org>
Thu, 15 Feb 2007 14:50:30 +0000 (14:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:48:21 +0000 (14:48 -0500)
allow us to return meaningful erors back to swat

services/samba/ldb.esp

index 8b0a57d5e3b9b81f7396f214d67ee6f27416a134..f69abde3886a15a5b38e22a0461a0cf97b3f9f8e 100644 (file)
@@ -334,7 +334,14 @@ function _search(params, error)
         return error;
     }
 
-    return ldb.search(expr, baseDN, scope, attrs);
+    var res = ldb.search(expr, baseDN, scope, attrs);
+
+    if (res.error != 0) {
+        error.setError(res.error, res.errstr);
+        return error;
+    }
+
+    return res.msgs;
 }
 jsonrpc.method.search = _search;
 
@@ -371,7 +378,13 @@ function _add(params, error)
         return ldb;
     }
 
-    return ldb.add(params[1]);
+    var res = ldb.add(params[1]);
+    if (res.error != 0) {
+        error.setError(res.error, res.errstr);
+        return error;
+    }
+
+    return true;
 }
 jsonrpc.method.add = _add;
 
@@ -408,7 +421,13 @@ function _modify(params, error)
         return ldb;
     }
 
-    return ldb.modify(params[1]);
+    var res = ldb.modify(params[1]);
+    if (res.error != 0) {
+        error.setError(res.error, res.errstr);
+        return error;
+    }
+
+    return true;
 }
 jsonrpc.method.modify = _modify;
 
@@ -445,7 +464,13 @@ function _del(params, error)
         return ldb;
     }
 
-    return ldb.del(params[1]);
+    var res = ldb.del(params[1]);
+    if (res.error != 0) {
+        error.setError(res.error, res.errstr);
+        return error;
+    }
+
+    return true;
 }
 jsonrpc.method.del = _del;
 
@@ -485,7 +510,13 @@ function _rename(params, error)
         return ldb;
     }
 
-    return ldb.rename(params[1], params[2]);
+    var res = ldb.rename(params[1], params[2]);
+    if (res.error != 0) {
+        error.setError(res.error, res.errstr);
+        return error;
+    }
+
+    return true;
 }
 jsonrpc.method.rename = _rename;