diff options
| author | RblSb <msrblsb@gmail.com> | 2022-03-15 06:51:53 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2022-03-15 06:51:53 +0300 |
| commit | 79f3c34d24d6ae6aba17dd643726e20754140d80 (patch) | |
| tree | d6b1d23bcfbdc023fc757f25b1b3fa085fd5e790 /src/Client.hx | |
| parent | 692e4690abc2083d151c011a2df2976ecf6886cc (diff) | |
Update locked playlist restrictions
And add "toggleItemType" permission. Closes #36
Diffstat (limited to 'src/Client.hx')
| -rw-r--r-- | src/Client.hx | 13 |
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); } |
