diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index 4f1ab9a8..2ceaa923 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -2909,6 +2909,9 @@
}
}
},
+ "required": [
+ "image"
+ ],
"definitions": {
"ChannelPermissionOverwriteType": {
"enum": [
@@ -4744,7 +4747,7 @@
"type": "string"
},
"permissions": {
- "type": "bigint"
+ "type": "string"
},
"color": {
"type": "integer"
diff --git a/api/src/routes/guilds/#guild_id/roles.ts b/api/src/routes/guilds/#guild_id/roles.ts
index 0a57c6a2..b1875598 100644
--- a/api/src/routes/guilds/#guild_id/roles.ts
+++ b/api/src/routes/guilds/#guild_id/roles.ts
@@ -17,7 +17,7 @@ const router: Router = Router();
export interface RoleModifySchema {
name?: string;
- permissions?: bigint;
+ permissions?: string;
color?: number;
hoist?: boolean; // whether the role should be displayed separately in the sidebar
mentionable?: boolean; // whether the role should be mentionable
@@ -57,7 +57,7 @@ router.post("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" })
...body,
guild_id: guild_id,
managed: false,
- permissions: String(req.permission!.bitfield & (body.permissions || BigInt("0"))),
+ permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0")),
tags: undefined
});
@@ -109,7 +109,7 @@ router.patch("/:role_id", route({ body: "RoleModifySchema", permission: "MANAGE_
...body,
id: role_id,
guild_id,
- permissions: String(req.permission!.bitfield & (body.permissions || BigInt("0")))
+ permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0"))
});
await Promise.all([
|