diff options
Diffstat (limited to 'src/ClientTools.hx')
| -rw-r--r-- | src/ClientTools.hx | 11 |
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); + } + } |
