diff --git a/src/api/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts
index 40f6b8669..372a584e2 100644
--- a/src/api/routes/channels/#channel_id/permissions.ts
+++ b/src/api/routes/channels/#channel_id/permissions.ts
@@ -16,15 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {
- Channel,
- ChannelPermissionOverwrite,
- ChannelPermissionOverwriteSchema,
- ChannelUpdateEvent,
- emitEvent,
- Member,
- Role,
-} from "@spacebar/util";
+import { Channel, ChannelPermissionOverwrite, ChannelPermissionOverwriteSchema, ChannelPermissionOverwriteType, ChannelUpdateEvent, emitEvent, Member, Role } from "@spacebar/util";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server";
@@ -59,10 +51,10 @@ router.put(
channel.guild,
);
- if (body.type === 0) {
+ if (body.type === ChannelPermissionOverwriteType.role) {
if (!(await Role.count({ where: { id: overwrite_id } })))
throw new HTTPError("role not found", 404);
- } else if (body.type === 1) {
+ } else if (body.type === ChannelPermissionOverwriteType.member) {
if (!(await Member.count({ where: { id: overwrite_id } })))
throw new HTTPError("user not found", 404);
} else throw new HTTPError("type not supported", 501);
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);
|