Be more cautious creating log directories
[hcoop/domtool2.git] / src / main-admin.sml
index b4ba422..e0081b4 100644 (file)
 
 (* Driver for server *)
 
+fun requestPerms user =
+    case Main.requestListPerms user of
+       NONE => ()
+      | SOME classes =>
+       (print ("Permissions for " ^ user ^ ":\n");
+        app (fn (class, values) =>
+                (print (class ^ ":");
+                 app (fn value => print (" " ^ value)) values;
+                 print "\n")) classes)
+
 val _ =
     case CommandLine.arguments () of
        ["grant", user, class, value] => Main.requestGrant {user = user, class = class, value = value}
       | ["revoke", user, class, value] => Main.requestRevoke {user = user, class = class, value = value}
+      | ["perms", user] => requestPerms user
+      | ["perms"] => requestPerms (Posix.SysDB.Passwd.name (Posix.SysDB.getpwuid (Posix.ProcEnv.getuid ())))
+      | ["whohas", class, value] =>
+       (case Main.requestWhoHas {class = class, value = value} of
+            NONE => ()
+          | SOME users =>
+            (print ("whohas " ^ class ^ " / " ^ value ^ ":");
+             app (fn user => print (" " ^ user)) users;
+             print "\n"))
+      | ["rmdom", dom] => Main.requestRmdom dom
       | _ => print "Invalid command-line arguments\n"