summary refs log tree commit diff
path: root/src/api/routes/channels
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/channels')
-rw-r--r--src/api/routes/channels/#channel_id/index.ts12
-rw-r--r--src/api/routes/channels/#channel_id/invites.ts8
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/ack.ts18
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts2
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/index.ts42
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts44
-rw-r--r--src/api/routes/channels/#channel_id/messages/bulk-delete.ts28
-rw-r--r--src/api/routes/channels/#channel_id/messages/index.ts81
-rw-r--r--src/api/routes/channels/#channel_id/permissions.ts29
-rw-r--r--src/api/routes/channels/#channel_id/pins.ts9
-rw-r--r--src/api/routes/channels/#channel_id/purge.ts15
-rw-r--r--src/api/routes/channels/#channel_id/recipients.ts25
-rw-r--r--src/api/routes/channels/#channel_id/typing.ts2
-rw-r--r--src/api/routes/channels/#channel_id/webhooks.ts7
14 files changed, 90 insertions, 232 deletions
diff --git a/src/api/routes/channels/#channel_id/index.ts b/src/api/routes/channels/#channel_id/index.ts

index 567c7c92..a5fe1ef9 100644 --- a/src/api/routes/channels/#channel_id/index.ts +++ b/src/api/routes/channels/#channel_id/index.ts
@@ -52,7 +52,7 @@ router.get( }); return res.send(channel); - }, + } ); router.delete( @@ -101,7 +101,7 @@ router.delete( } res.send(channel); - }, + } ); router.patch( @@ -122,11 +122,7 @@ router.patch( async (req: Request, res: Response) => { const payload = req.body as ChannelModifySchema; const { channel_id } = req.params; - if (payload.icon) - payload.icon = await handleFile( - `/channel-icons/${channel_id}`, - payload.icon, - ); + if (payload.icon) payload.icon = await handleFile(`/channel-icons/${channel_id}`, payload.icon); const channel = await Channel.findOneOrFail({ where: { id: channel_id }, @@ -143,7 +139,7 @@ router.patch( ]); res.send(channel); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/invites.ts b/src/api/routes/channels/#channel_id/invites.ts
index ae32e80d..af0e5cc9 100644 --- a/src/api/routes/channels/#channel_id/invites.ts +++ b/src/api/routes/channels/#channel_id/invites.ts
@@ -65,9 +65,7 @@ router.post( const { guild_id } = channel; const expires_at = - body.max_age == 0 || body.max_age == undefined - ? undefined - : new Date(body.max_age * 1000 + Date.now()); + body.max_age == 0 || body.max_age == undefined ? undefined : new Date(body.max_age * 1000 + Date.now()); const invite = await Invite.create({ code: random(), @@ -95,7 +93,7 @@ router.post( } as InviteCreateEvent); res.status(201).send(data); - }, + } ); router.get( @@ -126,7 +124,7 @@ router.get( }); res.status(200).send(invites); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
index a6dcae6b..58ca9d26 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
@@ -17,12 +17,7 @@ */ import { route } from "@spacebar/api"; -import { - emitEvent, - getPermission, - MessageAckEvent, - ReadState, -} from "@spacebar/util"; +import { emitEvent, getPermission, MessageAckEvent, ReadState } from "@spacebar/util"; import { Request, Response, Router } from "express"; const router = Router(); @@ -43,18 +38,13 @@ router.post( async (req: Request, res: Response) => { const { channel_id, message_id } = req.params; - const permission = await getPermission( - req.user_id, - undefined, - channel_id, - ); + const permission = await getPermission(req.user_id, undefined, channel_id); permission.hasThrow("VIEW_CHANNEL"); let read_state = await ReadState.findOne({ where: { user_id: req.user_id, channel_id }, }); - if (!read_state) - read_state = ReadState.create({ user_id: req.user_id, channel_id }); + if (!read_state) read_state = ReadState.create({ user_id: req.user_id, channel_id }); read_state.last_message_id = message_id; await read_state.save(); @@ -70,7 +60,7 @@ router.post( } as MessageAckEvent); res.json({ token: null }); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
index 5ca645c0..7529f508 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
@@ -57,7 +57,7 @@ router.post( flags: 1, components: [], }).status(200); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
index c4d2e1e8..82dc5b87 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -75,11 +75,7 @@ router.patch( relations: ["attachments"], }); - const permissions = await getPermission( - req.user_id, - undefined, - channel_id, - ); + const permissions = await getPermission(req.user_id, undefined, channel_id); const rights = await getRights(req.user_id); @@ -139,7 +135,7 @@ router.patch( // these are not in the Discord.com response mention_channels: new_message.mention_channels, }); - }, + } ); // Backfill message with specific timestamp @@ -196,13 +192,8 @@ router.put( if (req.file) { try { - const file = await uploadFile( - `/attachments/${req.params.channel_id}`, - req.file, - ); - attachments.push( - Attachment.create({ ...file, proxy_url: file.url }), - ); + const file = await uploadFile(`/attachments/${req.params.channel_id}`, req.file); + attachments.push(Attachment.create({ ...file, proxy_url: file.url })); } catch (error) { return res.status(400).json(error); } @@ -241,12 +232,10 @@ router.put( ]); // no await as it shouldnt block the message send function and silently catch error - postHandleMessage(message).catch((e) => - console.error("[Message] post-message handler failed", e), - ); + postHandleMessage(message).catch((e) => console.error("[Message] post-message handler failed", e)); return res.json(message); - }, + } ); router.get( @@ -272,17 +261,12 @@ router.get( relations: ["attachments"], }); - const permissions = await getPermission( - req.user_id, - undefined, - channel_id, - ); + const permissions = await getPermission(req.user_id, undefined, channel_id); - if (message.author_id !== req.user_id) - permissions.hasThrow("READ_MESSAGE_HISTORY"); + if (message.author_id !== req.user_id) permissions.hasThrow("READ_MESSAGE_HISTORY"); return res.json(message); - }, + } ); router.delete( @@ -310,11 +294,7 @@ router.delete( if (message.author_id !== req.user_id) { if (!rights.has("MANAGE_MESSAGES")) { - const permission = await getPermission( - req.user_id, - channel.guild_id, - channel_id, - ); + const permission = await getPermission(req.user_id, channel.guild_id, channel_id); permission.hasThrow("MANAGE_MESSAGES"); } } else rights.hasThrow("SELF_DELETE_MESSAGES"); @@ -332,7 +312,7 @@ router.delete( } as MessageDeleteEvent); res.sendStatus(204); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
index c2222b0a..cea8197b 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
@@ -88,7 +88,7 @@ router.delete( } as MessageReactionRemoveAllEvent); res.sendStatus(204); - }, + } ); router.delete( @@ -113,9 +113,7 @@ router.delete( }); const already_added = message.reactions.find( - (x) => - (x.emoji.id === emoji.id && emoji.id) || - x.emoji.name === emoji.name, + (x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name ); if (!already_added) throw new HTTPError("Reaction not found", 404); message.reactions.remove(already_added); @@ -135,7 +133,7 @@ router.delete( ]); res.sendStatus(204); - }, + } ); router.get( @@ -161,9 +159,7 @@ router.get( where: { id: message_id, channel_id }, }); const reaction = message.reactions.find( - (x) => - (x.emoji.id === emoji.id && emoji.id) || - x.emoji.name === emoji.name, + (x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name ); if (!reaction) throw new HTTPError("Reaction not found", 404); @@ -175,7 +171,7 @@ router.get( }); res.json(users); - }, + } ); router.put( @@ -204,9 +200,7 @@ router.put( where: { id: message_id, channel_id }, }); const already_added = message.reactions.find( - (x) => - (x.emoji.id === emoji.id && emoji.id) || - x.emoji.name === emoji.name, + (x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name ); if (!already_added) req.permission?.hasThrow("ADD_REACTIONS"); @@ -222,8 +216,7 @@ router.put( } if (already_added) { - if (already_added.user_ids.includes(req.user_id)) - return res.sendStatus(204); // Do not throw an error ¯\_(ツ)_/¯ as discord also doesn't throw any error + if (already_added.user_ids.includes(req.user_id)) return res.sendStatus(204); // Do not throw an error ¯\_(ツ)_/¯ as discord also doesn't throw any error already_added.count++; already_added.user_ids.push(req.user_id); } else @@ -258,7 +251,7 @@ router.put( } as MessageReactionAddEvent); res.sendStatus(204); - }, + } ); router.delete( @@ -288,30 +281,19 @@ router.delete( if (user_id === "@me") user_id = req.user_id; else { - const permissions = await getPermission( - req.user_id, - undefined, - channel_id, - ); + const permissions = await getPermission(req.user_id, undefined, channel_id); permissions.hasThrow("MANAGE_MESSAGES"); } const already_added = message.reactions.find( - (x) => - (x.emoji.id === emoji.id && emoji.id) || - x.emoji.name === emoji.name, + (x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name ); - if (!already_added || !already_added.user_ids.includes(user_id)) - throw new HTTPError("Reaction not found", 404); + if (!already_added || !already_added.user_ids.includes(user_id)) throw new HTTPError("Reaction not found", 404); already_added.count--; if (already_added.count <= 0) message.reactions.remove(already_added); - else - already_added.user_ids.splice( - already_added.user_ids.indexOf(user_id), - 1, - ); + else already_added.user_ids.splice(already_added.user_ids.indexOf(user_id), 1); await message.save(); @@ -328,7 +310,7 @@ router.delete( } as MessageReactionRemoveEvent); res.sendStatus(204); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
index 9b607d59..3cd90faf 100644 --- a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts +++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -17,15 +17,7 @@ */ import { route } from "@spacebar/api"; -import { - Channel, - Config, - emitEvent, - getPermission, - getRights, - Message, - MessageDeleteBulkEvent, -} from "@spacebar/util"; +import { Channel, Config, emitEvent, getPermission, getRights, Message, MessageDeleteBulkEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; @@ -54,30 +46,22 @@ router.post( const channel = await Channel.findOneOrFail({ where: { id: channel_id }, }); - if (!channel.guild_id) - throw new HTTPError("Can't bulk delete dm channel messages", 400); + if (!channel.guild_id) throw new HTTPError("Can't bulk delete dm channel messages", 400); const rights = await getRights(req.user_id); rights.hasThrow("SELF_DELETE_MESSAGES"); const superuser = rights.has("MANAGE_MESSAGES"); - const permission = await getPermission( - req.user_id, - channel?.guild_id, - channel_id, - ); + const permission = await getPermission(req.user_id, channel?.guild_id, channel_id); const { maxBulkDelete } = Config.get().limits.message; const { messages } = req.body as { messages: string[] }; - if (messages.length === 0) - throw new HTTPError("You must specify messages to bulk delete"); + if (messages.length === 0) throw new HTTPError("You must specify messages to bulk delete"); if (!superuser) { permission.hasThrow("MANAGE_MESSAGES"); if (messages.length > maxBulkDelete) - throw new HTTPError( - `You cannot delete more than ${maxBulkDelete} messages`, - ); + throw new HTTPError(`You cannot delete more than ${maxBulkDelete} messages`); } await Message.delete(messages); @@ -89,5 +73,5 @@ router.post( } as MessageDeleteBulkEvent); res.sendStatus(204); - }, + } ); diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index a5bfcfd7..c80b5f48 100644 --- a/src/api/routes/channels/#channel_id/messages/index.ts +++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -40,13 +40,7 @@ import { import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; import multer from "multer"; -import { - FindManyOptions, - FindOperator, - LessThan, - MoreThan, - MoreThanOrEqual, -} from "typeorm"; +import { FindManyOptions, FindOperator, LessThan, MoreThan, MoreThanOrEqual } from "typeorm"; import { URL } from "url"; const router: Router = Router(); @@ -68,8 +62,7 @@ router.get( }, limit: { type: "number", - description: - "max number of messages to return (1-100). defaults to 50", + description: "max number of messages to return (1-100). defaults to 50", }, }, responses: { @@ -95,14 +88,9 @@ router.get( const before = req.query.before ? `${req.query.before}` : undefined; const after = req.query.after ? `${req.query.after}` : undefined; const limit = Number(req.query.limit) || 50; - if (limit < 1 || limit > 100) - throw new HTTPError("limit must be between 1 and 100", 422); + if (limit < 1 || limit > 100) throw new HTTPError("limit must be between 1 and 100", 422); - const permissions = await getPermission( - req.user_id, - channel.guild_id, - channel_id, - ); + const permissions = await getPermission(req.user_id, channel.guild_id, channel_id); permissions.hasThrow("VIEW_CHANNEL"); if (!permissions.has("READ_MESSAGE_HISTORY")) return res.json([]); @@ -148,12 +136,10 @@ router.get( } } else { if (after) { - if (BigInt(after) > BigInt(Snowflake.generate())) - return res.status(422); + if (BigInt(after) > BigInt(Snowflake.generate())) return res.status(422); query.where.id = MoreThan(after); } else if (before) { - if (BigInt(before) > BigInt(Snowflake.generate())) - return res.status(422); + if (BigInt(before) > BigInt(Snowflake.generate())) return res.status(422); query.where.id = LessThan(before); } @@ -180,12 +166,8 @@ router.get( }); x.attachments?.forEach((y: Attachment) => { // dynamically set attachment proxy_url in case the endpoint changed - const uri = y.proxy_url.startsWith("http") - ? y.proxy_url - : `https://example.org${y.proxy_url}`; - y.proxy_url = `${endpoint == null ? "" : endpoint}${ - new URL(uri).pathname - }`; + const uri = y.proxy_url.startsWith("http") ? y.proxy_url : `https://example.org${y.proxy_url}`; + y.proxy_url = `${endpoint == null ? "" : endpoint}${new URL(uri).pathname}`; }); /** @@ -202,7 +184,7 @@ router.get( }); return res.json(ret); - }, + } ); // TODO: config max upload size @@ -258,10 +240,7 @@ router.post( relations: ["recipients", "recipients.user"], }); if (!channel.isWritable()) { - throw new HTTPError( - `Cannot send messages to channel of type ${channel.type}`, - 400, - ); + throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400); } if (body.nonce) { @@ -283,12 +262,7 @@ router.post( const count = await Message.count({ where: { channel_id, - timestamp: MoreThan( - new Date( - Date.now() - - limits.absoluteRate.sendMessage.window, - ), - ), + timestamp: MoreThan(new Date(Date.now() - limits.absoluteRate.sendMessage.window)), }, }); @@ -305,13 +279,8 @@ router.post( const files = (req.files as Express.Multer.File[]) ?? []; for (const currFile of files) { try { - const file = await uploadFile( - `/attachments/${channel.id}`, - currFile, - ); - attachments.push( - Attachment.create({ ...file, proxy_url: file.url }), - ); + const file = await uploadFile(`/attachments/${channel.id}`, currFile); + attachments.push(Attachment.create({ ...file, proxy_url: file.url })); } catch (error) { return res.status(400).json({ message: error?.toString() }); } @@ -347,14 +316,12 @@ router.post( recipient.save(), emitEvent({ event: "CHANNEL_CREATE", - data: channel_dto.excludedRecipients([ - recipient.user_id, - ]), + data: channel_dto.excludedRecipients([recipient.user_id]), user_id: recipient.user_id, }), ]); } - }) || [], + }) || [] ); } @@ -370,16 +337,13 @@ router.post( // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore - message.member.roles = message.member.roles - .filter((x) => x.id != x.guild_id) - .map((x) => x.id); + message.member.roles = message.member.roles.filter((x) => x.id != x.guild_id).map((x) => x.id); } let read_state = await ReadState.findOne({ where: { user_id: req.user_id, channel_id }, }); - if (!read_state) - read_state = ReadState.create({ user_id: req.user_id, channel_id }); + if (!read_state) read_state = ReadState.create({ user_id: req.user_id, channel_id }); read_state.last_message_id = message.id; await Promise.all([ @@ -391,21 +355,16 @@ router.post( data: message, } as MessageCreateEvent), message.guild_id - ? Member.update( - { id: req.user_id, guild_id: message.guild_id }, - { last_message_id: message.id }, - ) + ? Member.update({ id: req.user_id, guild_id: message.guild_id }, { last_message_id: message.id }) : null, channel.save(), ]); // no await as it shouldnt block the message send function and silently catch error - postHandleMessage(message).catch((e) => - console.error("[Message] post-message handler failed", e), - ); + postHandleMessage(message).catch((e) => console.error("[Message] post-message handler failed", e)); return res.json(message); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts
index d3edb0fa..a9c28c0c 100644 --- a/src/api/routes/channels/#channel_id/permissions.ts +++ b/src/api/routes/channels/#channel_id/permissions.ts
@@ -55,15 +55,14 @@ router.put( if (!channel.guild_id) throw new HTTPError("Channel not found", 404); if (body.type === 0) { - if (!(await Role.count({ where: { id: overwrite_id } }))) - throw new HTTPError("role not found", 404); + if (!(await Role.count({ where: { id: overwrite_id } }))) throw new HTTPError("role not found", 404); } else if (body.type === 1) { - if (!(await Member.count({ where: { id: overwrite_id } }))) - throw new HTTPError("user not found", 404); + if (!(await Member.count({ where: { id: overwrite_id } }))) throw new HTTPError("user not found", 404); } else throw new HTTPError("type not supported", 501); - let overwrite: ChannelPermissionOverwrite | undefined = - channel.permission_overwrites?.find((x) => x.id === overwrite_id); + let overwrite: ChannelPermissionOverwrite | undefined = channel.permission_overwrites?.find( + (x) => x.id === overwrite_id + ); if (!overwrite) { overwrite = { id: overwrite_id, @@ -73,14 +72,8 @@ router.put( }; channel.permission_overwrites?.push(overwrite); } - overwrite.allow = String( - (req.permission?.bitfield || 0n) & - (BigInt(body.allow) || BigInt("0")), - ); - overwrite.deny = String( - (req.permission?.bitfield || 0n) & - (BigInt(body.deny) || BigInt("0")), - ); + overwrite.allow = String((req.permission?.bitfield || 0n) & (BigInt(body.allow) || BigInt("0"))); + overwrite.deny = String((req.permission?.bitfield || 0n) & (BigInt(body.deny) || BigInt("0"))); await Promise.all([ channel.save(), @@ -92,7 +85,7 @@ router.put( ]); return res.sendStatus(204); - }, + } ); // TODO: check permission hierarchy @@ -107,9 +100,7 @@ router.delete( }); if (!channel.guild_id) throw new HTTPError("Channel not found", 404); - channel.permission_overwrites = channel.permission_overwrites?.filter( - (x) => x.id === overwrite_id, - ); + channel.permission_overwrites = channel.permission_overwrites?.filter((x) => x.id === overwrite_id); await Promise.all([ channel.save(), @@ -121,7 +112,7 @@ router.delete( ]); return res.sendStatus(204); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts
index 724ebffd..597d735c 100644 --- a/src/api/routes/channels/#channel_id/pins.ts +++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -57,8 +57,7 @@ router.put( where: { channel: { id: channel_id }, pinned: true }, }); const { maxPins } = Config.get().limits.channel; - if (pinned_count >= maxPins) - throw DiscordApiErrors.MAXIMUM_PINS.withParams(maxPins); + if (pinned_count >= maxPins) throw DiscordApiErrors.MAXIMUM_PINS.withParams(maxPins); await Promise.all([ Message.update({ id: message_id }, { pinned: true }), @@ -79,7 +78,7 @@ router.put( ]); res.sendStatus(204); - }, + } ); router.delete( @@ -129,7 +128,7 @@ router.delete( ]); res.sendStatus(204); - }, + } ); router.get( @@ -153,7 +152,7 @@ router.get( }); res.send(pins); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/purge.ts b/src/api/routes/channels/#channel_id/purge.ts
index 012fec1c..c473f9aa 100644 --- a/src/api/routes/channels/#channel_id/purge.ts +++ b/src/api/routes/channels/#channel_id/purge.ts
@@ -57,17 +57,12 @@ router.post( where: { id: channel_id }, }); - if (!channel.guild_id) - throw new HTTPError("Can't purge dm channels", 400); + if (!channel.guild_id) throw new HTTPError("Can't purge dm channels", 400); isTextChannel(channel.type); const rights = await getRights(req.user_id); if (!rights.has("MANAGE_MESSAGES")) { - const permissions = await getPermission( - req.user_id, - channel.guild_id, - channel_id, - ); + const permissions = await getPermission(req.user_id, channel.guild_id, channel_id); permissions.hasThrow("MANAGE_MESSAGES"); permissions.hasThrow("MANAGE_CHANNELS"); } @@ -84,9 +79,7 @@ router.post( where: { channel_id, id: Between(after, before), // the right way around - author_id: rights.has("SELF_DELETE_MESSAGES") - ? undefined - : Not(req.user_id), + author_id: rights.has("SELF_DELETE_MESSAGES") ? undefined : Not(req.user_id), // if you lack the right of self-deletion, you can't delete your own messages, even in purges }, relations: [ @@ -121,5 +114,5 @@ router.post( } as MessageDeleteBulkEvent); res.sendStatus(204); - }, + } ); diff --git a/src/api/routes/channels/#channel_id/recipients.ts b/src/api/routes/channels/#channel_id/recipients.ts
index 569bb5cd..c1377269 100644 --- a/src/api/routes/channels/#channel_id/recipients.ts +++ b/src/api/routes/channels/#channel_id/recipients.ts
@@ -48,24 +48,16 @@ router.put( }); if (channel.type !== ChannelType.GROUP_DM) { - const recipients = [ - ...(channel.recipients?.map((r) => r.user_id) || []), - user_id, - ].unique(); + const recipients = [...(channel.recipients?.map((r) => r.user_id) || []), user_id].unique(); - const new_channel = await Channel.createDMChannel( - recipients, - req.user_id, - ); + const new_channel = await Channel.createDMChannel(recipients, req.user_id); return res.status(201).json(new_channel); } else { if (channel.recipients?.map((r) => r.user_id).includes(user_id)) { throw DiscordApiErrors.INVALID_RECIPIENT; //TODO is this the right error? } - channel.recipients?.push( - Recipient.create({ channel_id: channel_id, user_id: user_id }), - ); + channel.recipients?.push(Recipient.create({ channel_id: channel_id, user_id: user_id })); await channel.save(); await emitEvent({ @@ -87,7 +79,7 @@ router.put( } as ChannelRecipientAddEvent); return res.sendStatus(204); } - }, + } ); router.delete( @@ -104,12 +96,7 @@ router.delete( where: { id: channel_id }, relations: ["recipients"], }); - if ( - !( - channel.type === ChannelType.GROUP_DM && - (channel.owner_id === req.user_id || user_id === req.user_id) - ) - ) + if (!(channel.type === ChannelType.GROUP_DM && (channel.owner_id === req.user_id || user_id === req.user_id))) throw DiscordApiErrors.MISSING_PERMISSIONS; if (!channel.recipients?.map((r) => r.user_id).includes(user_id)) { @@ -119,7 +106,7 @@ router.delete( await Channel.removeRecipientFromChannel(channel, user_id); return res.sendStatus(204); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/typing.ts b/src/api/routes/channels/#channel_id/typing.ts
index 90e78175..4563b689 100644 --- a/src/api/routes/channels/#channel_id/typing.ts +++ b/src/api/routes/channels/#channel_id/typing.ts
@@ -64,7 +64,7 @@ router.post( } as TypingStartEvent); res.sendStatus(204); - }, + } ); export default router; diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index d54756a1..864fe834 100644 --- a/src/api/routes/channels/#channel_id/webhooks.ts +++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -47,7 +47,7 @@ router.get( }), async (req: Request, res: Response) => { res.json([]); - }, + } ); // TODO: use Image Data Type for avatar instead of String @@ -77,8 +77,7 @@ router.post( const webhook_count = await Webhook.count({ where: { channel_id } }); const { maxWebhooks } = Config.get().limits.channel; - if (maxWebhooks && webhook_count > maxWebhooks) - throw DiscordApiErrors.MAXIMUM_WEBHOOKS.withParams(maxWebhooks); + if (maxWebhooks && webhook_count > maxWebhooks) throw DiscordApiErrors.MAXIMUM_WEBHOOKS.withParams(maxWebhooks); let { avatar, name } = req.body as WebhookCreateSchema; name = trimSpecial(name); @@ -105,7 +104,7 @@ router.post( ...hook, user: user, }); - }, + } ); export default router;