summary refs log tree commit diff
path: root/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/channels/#channel_id/messages/#message_id/ack.ts')
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/ack.ts62
1 files changed, 39 insertions, 23 deletions
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 bedd453c..1a30143f 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
@@ -1,4 +1,9 @@
-import { emitEvent, getPermission, MessageAckEvent, ReadState } from "@fosscord/util";
+import {
+	emitEvent,
+	getPermission,
+	MessageAckEvent,
+	ReadState,
+} from "@fosscord/util";
 import { Request, Response, Router } from "express";
 import { route } from "@fosscord/api";
 
@@ -8,29 +13,40 @@ const router = Router();
 // TODO: send read state event to all channel members
 // TODO: advance-only notification cursor
 
-router.post("/", route({ body: "MessageAcknowledgeSchema" }), async (req: Request, res: Response) => {
-	const { channel_id, message_id } = req.params;
+router.post(
+	"/",
+	route({ body: "MessageAcknowledgeSchema" }),
+	async (req: Request, res: Response) => {
+		const { channel_id, message_id } = req.params;
 
-	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 });
-	read_state.last_message_id = message_id;
-
-	await read_state.save();
-
-	await emitEvent({
-		event: "MESSAGE_ACK",
-		user_id: req.user_id,
-		data: {
+		const permission = await getPermission(
+			req.user_id,
+			undefined,
 			channel_id,
-			message_id,
-			version: 3763
-		}
-	} as MessageAckEvent);
-
-	res.json({ token: null });
-});
+		);
+		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 });
+		read_state.last_message_id = message_id;
+
+		await read_state.save();
+
+		await emitEvent({
+			event: "MESSAGE_ACK",
+			user_id: req.user_id,
+			data: {
+				channel_id,
+				message_id,
+				version: 3763,
+			},
+		} as MessageAckEvent);
+
+		res.json({ token: null });
+	},
+);
 
 export default router;