r23178: add simple js code I use for testing and which starts to look like
[ira/wip.git] / testprogs / ejs / ejsnet.js
index b39d888c3950f69bcc4340c9ed90f8036d14ba6d..a5570de34c902581d7e6e9eaa649ed0b52dabd3a 100755 (executable)
@@ -1,52 +1,46 @@
 #!/usr/bin/env smbscript
 
+libinclude("base.js");
+
+/* note: these require specifying a proper path in "js include" parameter */
+libinclude("ejsnet/netusr.js");
+libinclude("ejsnet/nethost.js");
+
+function PrintNetHelp()
+{
+       println("Usage: ejsnet.js <cmd> [options]");
+}
+
+/* here we start */
+
 var options = GetOptions(ARGV, 
                "POPT_AUTOHELP",
                "POPT_COMMON_SAMBA",
                "POPT_COMMON_CREDENTIALS");
 if (options == undefined) {
-   println("Failed to parse options");
-   return -1;
+       PrintNetHelp();
+       return -1;
 }
 
-if (options.ARGV.length != 2) {
-   println("Usage: ejsnet.js <DOMAIN> <NEW USER NAME>");
-   return -1;
+if (options.ARGV.length < 1) {
+       PrintNetHelp();
+       return -1;
 }
 
 /* use command line creds if available */
 var creds = options.get_credentials();
-
 var ctx = NetContext(creds);
-var usr_ctx = ctx.UserMgr(options.ARGV[0]);
-if (usr_ctx == undefined) {
-       println("Couldn't get user management context.");
-       return -1;
-}
 
-var status = usr_ctx.Create(options.ARGV[1]);
-if (status.is_ok != true) {
-       println("Failed to create user account " + options.ARGV[1] + ": " + status.errstr);
-       return -1;
-}
+var cmd = options.ARGV[0];
+if (cmd == "user") {
+       UserManager(ctx, options);
 
+} else if (cmd == "host") {
+       HostManager(ctx, options);
 
-var info = usr_ctx.Info(options.ARGV[1]);
-if (info != null) {
-       println("UserInfo.AccountName = " + info.AccountName);
-       println("UserInfo.Description = " + info.Description);
-       println("UserInfo.FullName = " + info.FullName);
-       println("UserInfo.AcctExpiry = " + info.AcctExpiry);
 } else {
-       println("Null UserInfo returned - account unknown");
-}
-
-
-var status = usr_ctx.Delete(options.ARGV[1]);
-if (status.is_ok != true) {
-       println("Failed to delete user account " + options.ARGV[1] + ": " + status.errstr);
+       PrintNetHelp();
        return -1;
 }
 
-print ("OK\n");
 return 0;