aboutsummaryrefslogtreecommitdiffstats
path: root/src/ClientTools.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ClientTools.hx')
-rw-r--r--src/ClientTools.hx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ClientTools.hx b/src/ClientTools.hx
index 26faab6..e83e450 100644
--- a/src/ClientTools.hx
+++ b/src/ClientTools.hx
@@ -1,5 +1,8 @@
package;
+import Types.Permissions;
+import Types.Permission;
+
class ClientTools {
public static function setLeader(clients:Array<Client>, name:String):Void {
@@ -25,4 +28,12 @@ class ClientTools {
return def;
}
+ public static function hasPermission(client:Client, permission:Permission, permissions:Permissions):Bool {
+ final p = permissions;
+ if (client.isAdmin) return p.admin.contains(permission);
+ if (client.isLeader) return p.leader.contains(permission);
+ if (client.isUser) return p.user.contains(permission);
+ return p.guest.contains(permission);
+ }
+
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage