X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/12adf55a902b1d9bde677e4636530e5753857e05..51cc45f7d84d0d92700b461a1296b9aa748dd88e:/src/acl.sig diff --git a/src/acl.sig b/src/acl.sig index d815cad..a88bddd 100644 --- a/src/acl.sig +++ b/src/acl.sig @@ -27,6 +27,15 @@ signature ACL = sig val query : acl -> bool (* Is this permission granted? *) + val queryAll : string -> (string * string list) list + (* What are all of a user's permissions, by class? *) + + val users : unit -> string list + (* Which users have been granted privileges? *) + + val whoHas : {class : string, value : string} -> string list + (* Which users have a permission? *) + val class : {user : string, class : string} -> DataStructures.StringSet.set (* For what objects does the user have the permission? *) @@ -34,8 +43,15 @@ signature ACL = sig val revoke : acl -> unit (* Grant/ungrant the user the permission. *) + val revokeFromAll : {class : string, value : string} -> unit + + val rmuser : string -> unit + (* Remove all of a user's privileges. *) + val read : string -> unit val write : string -> unit (* Read/write saved ACL state from/to a file *) + val queryDomain : {user : string, domain : string} -> bool + (* Like a call to [query] for class 'domain', but considers subdomains, too *) end