aboutsummaryrefslogtreecommitdiffstats
path: root/src/Client.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Client.hx')
-rw-r--r--src/Client.hx13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Client.hx b/src/Client.hx
index ae35ef4..64d7e54 100644
--- a/src/Client.hx
+++ b/src/Client.hx
@@ -1,10 +1,12 @@
package;
+import Types.Permission;
+import Types.Permissions;
+import haxe.EnumFlags;
#if nodejs
import js.node.http.IncomingMessage;
import js.npm.ws.WebSocket;
#end
-import haxe.EnumFlags;
enum ClientGroup {
Banned;
@@ -47,6 +49,15 @@ class Client {
}
#end
+ public function hasPermission(permission:Permission, permissions:Permissions):Bool {
+ final p = permissions;
+ if (isBanned) return p.banned.contains(permission);
+ if (isAdmin) return p.admin.contains(permission);
+ if (isLeader) return p.leader.contains(permission);
+ if (isUser) return p.user.contains(permission);
+ return p.guest.contains(permission);
+ }
+
inline function get_isBanned():Bool {
return group.has(Banned);
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage