diff options
author | Chris Chrome <christophercookman@gmail.com> | 2022-01-05 05:44:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-05 13:44:14 +0300 |
commit | aaf5df14e1523ef70fcb9aa5ff9fc0b73ff42fee (patch) | |
tree | 63c49b6d70dce0cfe70528d0e1aa2411c85b2d51 /api/src/routes | |
parent | Update documents (diff) | |
download | server-aaf5df14e1523ef70fcb9aa5ff9fc0b73ff42fee.tar.xz |
Add Role Icons (#574)
* Role Icons Co-authored-by: Erkin Alp Güney <erkinalp9035@gmail.com> * Cache coherency rules Co-authored-by: MANIKILLER <manikillrorg@gmail.com> Co-authored-by: ImAaronFR <96433859+ImAaronFR@users.noreply.github.com>
Diffstat (limited to 'api/src/routes')
-rw-r--r-- | api/src/routes/guilds/#guild_id/roles.ts | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/api/src/routes/guilds/#guild_id/roles.ts b/api/src/routes/guilds/#guild_id/roles.ts index b1875598..b6894e3f 100644 --- a/api/src/routes/guilds/#guild_id/roles.ts +++ b/api/src/routes/guilds/#guild_id/roles.ts @@ -8,7 +8,8 @@ import { GuildRoleDeleteEvent, emitEvent, Config, - DiscordApiErrors + DiscordApiErrors, + handleFile } from "@fosscord/util"; import { HTTPError } from "lambert-server"; import { route } from "@fosscord/api"; @@ -22,6 +23,8 @@ export interface RoleModifySchema { hoist?: boolean; // whether the role should be displayed separately in the sidebar mentionable?: boolean; // whether the role should be mentionable position?: number; + icon?: string; + unicode_emoji?: string; } export type RolePositionUpdateSchema = { @@ -58,7 +61,9 @@ router.post("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }) guild_id: guild_id, managed: false, permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0")), - tags: undefined + tags: undefined, + icon: null, + unicode_emoji: null }); await Promise.all([ @@ -105,6 +110,8 @@ router.patch("/:role_id", route({ body: "RoleModifySchema", permission: "MANAGE_ const { role_id, guild_id } = req.params; const body = req.body as RoleModifySchema; + if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string); + const role = new Role({ ...body, id: role_id, |