From 2b0676396dc84dad48735a9e3782bb4f13b36471 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 12 Aug 2022 22:09:09 +0200 Subject: util.roles: Add Teal interface declaration --- teal-src/util/roles.d.tl | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 teal-src/util/roles.d.tl (limited to 'teal-src') diff --git a/teal-src/util/roles.d.tl b/teal-src/util/roles.d.tl new file mode 100644 index 00000000..fef4f88a --- /dev/null +++ b/teal-src/util/roles.d.tl @@ -0,0 +1,32 @@ +local record util_roles + + type context = any + + record Role + id : string + name : string + description : string + default : boolean + priority : number -- or integer? + permissions : { string : boolean } + + may : function (Role, string, context) + clone : function (Role, role_config) + set_permission : function (Role, string, boolean, boolean) + end + + is_role : function (any) : boolean + + record role_config + name : string + description : string + default : boolean + priority : number -- or integer? + inherits : { Role } + permissions : { string : boolean } + end + + new : function (role_config, Role) : Role +end + +return util_roles -- cgit v1.2.3