summary refs log tree commit diff
path: root/src/util
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-09-11 13:03:54 +0200
committerRory& <root@rory.gay>2025-09-29 18:38:06 +0200
commita8f8af92d37d82d2ae3897ba4c0c8da008e9d256 (patch)
tree34498b4d3e6ea136ebaa970ed4528f0f586cbae8 /src/util
parentFix trace (diff)
downloadserver-ts-a8f8af92d37d82d2ae3897ba4c0c8da008e9d256.tar.xz
Permissions: less magic numbers
Diffstat (limited to 'src/util')
-rw-r--r--src/util/util/Permissions.ts26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/util/util/Permissions.ts b/src/util/util/Permissions.ts

index 5aae14c25..1f26d570a 100644 --- a/src/util/util/Permissions.ts +++ b/src/util/util/Permissions.ts
@@ -2,24 +2,12 @@ // Apache License Version 2.0 Copyright 2015 - 2021 Amish Shah // @fc-license-skip -import { - Channel, - ChannelPermissionOverwrite, - Guild, - Member, - Role, -} from "../entities"; -import { BitField } from "./BitField"; +import { Channel, ChannelPermissionOverwrite, ChannelPermissionOverwriteType, Guild, Member, Role } from "../entities"; +import { BitField, BitFieldResolvable, BitFlag } from "./BitField"; import "missing-native-js-functions"; -import { BitFieldResolvable, BitFlag } from "./BitField"; import { HTTPError } from "lambert-server"; -export type PermissionResolvable = - | bigint - | number - | Permissions - | PermissionResolvable[] - | PermissionString; +export type PermissionResolvable = bigint | number | Permissions | PermissionResolvable[] | PermissionString; type PermissionString = keyof typeof Permissions.FLAGS; @@ -117,9 +105,9 @@ export class Permissions extends BitField { if (!overwrites) return this; if (!this.cache) throw new Error("permission chache not available"); overwrites = overwrites.filter((x) => { - if (x.type === 0 && this.cache.roles?.some((r) => r.id === x.id)) + if (x.type === ChannelPermissionOverwriteType.role && this.cache.roles?.some((r) => r.id === x.id)) return true; - if (x.type === 1 && x.id == this.cache.user_id) return true; + if (x.type === ChannelPermissionOverwriteType.member && x.id == this.cache.user_id) return true; return false; }); return new Permissions( @@ -178,8 +166,8 @@ export class Permissions extends BitField { if (channel?.overwrites) { const overwrites = channel.overwrites.filter((x) => { - if (x.type === 0 && user.roles.includes(x.id)) return true; - if (x.type === 1 && x.id == user.id) return true; + if (x.type === ChannelPermissionOverwriteType.role && user.roles.includes(x.id)) return true; + if (x.type === ChannelPermissionOverwriteType.member && x.id == user.id) return true; return false; }); permission = Permissions.channelPermission(overwrites, permission);